---
Fuzzer filename: '/src/janus-gateway/fuzzers/sdp_fuzzer.c'
All functions:
  Function list name: All functions
  Elements:
    - functionName:    LLVMFuzzerTestOneInput
      functionSourceFile: '/src/janus-gateway/fuzzers/sdp_fuzzer.c'
      linkageType:     externalLinkage
      functionLinenumber: 22
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          72
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - g_free
        - janus_sdp_destroy
        - janus_sdp_parse
        - janus_sdp_write
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'janus-gateway/fuzzers/sdp_fuzzer.c:32,26'
          Dst:             janus_sdp_parse
        - Src:             'janus-gateway/fuzzers/sdp_fuzzer.c:36,24'
          Dst:             janus_sdp_write
        - Src:             'janus-gateway/fuzzers/sdp_fuzzer.c:39,2'
          Dst:             janus_sdp_destroy
        - Src:             'janus-gateway/fuzzers/sdp_fuzzer.c:40,2'
          Dst:             g_free
    - functionName:    g_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    31
      BranchProfiles:  []
      Callsites:       []
    - functionName:    RAND_bytes
      functionSourceFile: '/src/janus-gateway/fuzzers/sdp_fuzzer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 18
      functionLinenumberEnd: 19
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_sdp_generate_answer_mline
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1920
      functionLinenumberEnd: 2353
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         526
      ICount:          3232
      EdgeCount:       700
      CyclomaticComplexity: 176
      functionsReached:
        - atoi
        - g_free
        - g_list_append
        - g_list_free
        - g_list_free_full
        - g_list_prepend
        - g_strdup
        - janus_sdp_attribute_add_to_mline
        - janus_sdp_attribute_create
        - janus_sdp_attribute_destroy
        - janus_sdp_get_codec_pt
        - janus_sdp_get_codec_pt_full
        - janus_sdp_get_codec_rtpmap
        - janus_sdp_get_opusred_pt
        - janus_sdp_mdirection_str
        - janus_vprintf
        - localtime_r
        - snprintf
        - strcasecmp
        - strchr
        - strftime
        - strlen
        - strstr
        - time
      functionUses:    0
      BranchProfiles:
        - Branch String:   'sdp-utils.c:2031,4'
          Branch Sides:    []
        - Branch String:   'sdp-utils.c:2296,9'
          Branch Sides:    []
      Callsites:
        - Src:             'sdp-utils.c:1924,2'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1925,2'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1943,3'
          Dst:             time
        - Src:             'sdp-utils.c:1943,3'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:1943,3'
          Dst:             strftime
        - Src:             'sdp-utils.c:1943,3'
          Dst:             snprintf
        - Src:             'sdp-utils.c:1943,3'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1945,3'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1946,3'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1952,3'
          Dst:             time
        - Src:             'sdp-utils.c:1952,3'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:1952,3'
          Dst:             strftime
        - Src:             'sdp-utils.c:1952,3'
          Dst:             snprintf
        - Src:             'sdp-utils.c:1952,3'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1954,3'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1955,3'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1984,15'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1985,9'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:1993,4'
          Dst:             time
        - Src:             'sdp-utils.c:1993,4'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:1993,4'
          Dst:             strftime
        - Src:             'sdp-utils.c:1993,4'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:2008,3'
          Dst:             g_list_free
        - Src:             'sdp-utils.c:2010,3'
          Dst:             g_list_free_full
        - Src:             'sdp-utils.c:2010,3'
          Dst:             g_free
        - Src:             'sdp-utils.c:2012,3'
          Dst:             g_list_free_full
        - Src:             'sdp-utils.c:2012,3'
          Dst:             janus_sdp_attribute_destroy
        - Src:             'sdp-utils.c:2015,17'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2021,42'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:2021,18'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2038,7'
          Dst:             time
        - Src:             'sdp-utils.c:2038,7'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:2038,7'
          Dst:             strftime
        - Src:             'sdp-utils.c:2038,7'
          Dst:             janus_sdp_mdirection_str
        - Src:             'sdp-utils.c:2038,7'
          Dst:             janus_sdp_mdirection_str
        - Src:             'sdp-utils.c:2038,7'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:2050,7'
          Dst:             time
        - Src:             'sdp-utils.c:2050,7'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:2050,7'
          Dst:             strftime
        - Src:             'sdp-utils.c:2050,7'
          Dst:             janus_sdp_mdirection_str
        - Src:             'sdp-utils.c:2050,7'
          Dst:             janus_sdp_mdirection_str
        - Src:             'sdp-utils.c:2050,7'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:2075,8'
          Dst:             janus_sdp_get_codec_pt
        - Src:             'sdp-utils.c:2080,10'
          Dst:             janus_sdp_get_codec_pt
        - Src:             'sdp-utils.c:2083,11'
          Dst:             janus_sdp_get_codec_pt
        - Src:             'sdp-utils.c:2086,12'
          Dst:             janus_sdp_get_codec_pt
        - Src:             'sdp-utils.c:2089,13'
          Dst:             janus_sdp_get_codec_pt
        - Src:             'sdp-utils.c:2092,14'
          Dst:             janus_sdp_get_codec_pt
        - Src:             'sdp-utils.c:2095,15'
          Dst:             janus_sdp_get_codec_pt
        - Src:             'sdp-utils.c:2098,16'
          Dst:             janus_sdp_get_codec_pt
        - Src:             'sdp-utils.c:2111,10'
          Dst:             janus_sdp_get_codec_pt
        - Src:             'sdp-utils.c:2114,11'
          Dst:             janus_sdp_get_codec_pt
        - Src:             'sdp-utils.c:2117,12'
          Dst:             janus_sdp_get_codec_pt
        - Src:             'sdp-utils.c:2127,17'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:2129,22'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:2131,13'
          Dst:             janus_sdp_get_codec_pt_full
        - Src:             'sdp-utils.c:2134,5'
          Dst:             time
        - Src:             'sdp-utils.c:2134,5'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:2134,5'
          Dst:             strftime
        - Src:             'sdp-utils.c:2134,5'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:2138,18'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2141,39'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:2142,23'
          Dst:             strstr
        - Src:             'sdp-utils.c:2147,20'
          Dst:             strstr
        - Src:             'sdp-utils.c:2148,19'
          Dst:             strchr
        - Src:             'sdp-utils.c:2149,17'
          Dst:             strlen
        - Src:             'sdp-utils.c:2151,28'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:2159,17'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2162,30'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:2163,22'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2173,20'
          Dst:             strstr
        - Src:             'sdp-utils.c:2174,8'
          Dst:             strstr
        - Src:             'sdp-utils.c:2186,32'
          Dst:             janus_sdp_get_codec_rtpmap
        - Src:             'sdp-utils.c:2190,10'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:2191,20'
          Dst:             janus_sdp_get_opusred_pt
        - Src:             'sdp-utils.c:2194,21'
          Dst:             g_list_prepend
        - Src:             'sdp-utils.c:2195,12'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:2196,25'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2199,10'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:2200,23'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2203,21'
          Dst:             janus_sdp_get_codec_pt
        - Src:             'sdp-utils.c:2206,21'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2207,67'
          Dst:             janus_sdp_get_codec_rtpmap
        - Src:             'sdp-utils.c:2207,12'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:2208,25'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2213,11'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:2214,24'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2219,11'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:2221,24'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2225,11'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:2226,24'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2231,32'
          Dst:             janus_sdp_get_codec_rtpmap
        - Src:             'sdp-utils.c:2234,10'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:2235,23'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2238,11'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:2239,24'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2240,11'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:2241,24'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2242,11'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:2243,24'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2244,11'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:2245,24'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2249,11'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:2250,24'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2253,9'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:2255,10'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:2256,23'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2257,16'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:2259,10'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:2260,23'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2264,10'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:2265,23'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2274,20'
          Dst:             strstr
        - Src:             'sdp-utils.c:2278,11'
          Dst:             strstr
        - Src:             'sdp-utils.c:2280,18'
          Dst:             atoi
        - Src:             'sdp-utils.c:2282,10'
          Dst:             time
        - Src:             'sdp-utils.c:2282,10'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:2282,10'
          Dst:             strftime
        - Src:             'sdp-utils.c:2282,10'
          Dst:             snprintf
        - Src:             'sdp-utils.c:2282,10'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:2287,12'
          Dst:             strstr
        - Src:             'sdp-utils.c:2288,11'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:2288,39'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:2310,13'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:2312,9'
          Dst:             janus_sdp_attribute_add_to_mline
        - Src:             'sdp-utils.c:2316,58'
          Dst:             strstr
        - Src:             'sdp-utils.c:2317,20'
          Dst:             atoi
        - Src:             'sdp-utils.c:2319,13'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:2320,12'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:2321,12'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:2323,12'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:2324,8'
          Dst:             janus_sdp_attribute_add_to_mline
        - Src:             'sdp-utils.c:2337,41'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:2337,17'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:2344,2'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:2345,2'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:2348,2'
          Dst:             g_list_free
        - Src:             'sdp-utils.c:2349,2'
          Dst:             g_free
    - functionName:    time
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    71
      BranchProfiles:  []
      Callsites:       []
    - functionName:    localtime_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    71
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strftime
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    71
      BranchProfiles:  []
      Callsites:       []
    - functionName:    snprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    33
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_list_append
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    54
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strcasecmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    82
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_list_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_list_free_full
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_sdp_attribute_destroy
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          145
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - janus_vprintf
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:48,2'
          Dst:             janus_vprintf
    - functionName:    g_strdup
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    43
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_sdp_mdirection_str
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 238
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          51
      EdgeCount:       22
      CyclomaticComplexity: 12
      functionsReached: []
      functionUses:    5
      BranchProfiles:
        - Branch String:   'sdp-utils.c:239,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    janus_sdp_get_codec_pt
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 711
      functionLinenumberEnd: 712
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - janus_sdp_get_codec_pt_full
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:712,9'
          Dst:             janus_sdp_get_codec_pt_full
    - functionName:    janus_sdp_get_codec_pt_full
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 715
      functionLinenumberEnd: 871
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         190
      ICount:          965
      EdgeCount:       253
      CyclomaticComplexity: 65
      functionsReached:
        - atoi
        - g_ascii_strdown
        - g_ascii_strup
        - g_free
        - g_list_append
        - g_list_find
        - g_list_free
        - g_snprintf
        - janus_vprintf
        - localtime_r
        - snprintf
        - strcasecmp
        - strftime
        - strstr
        - time
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:721,6'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:724,13'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:728,13'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:732,13'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:736,13'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:740,13'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:743,13'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:746,13'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:749,13'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:752,13'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:755,13'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:759,13'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:764,13'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:769,13'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:773,13'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:778,3'
          Dst:             time
        - Src:             'sdp-utils.c:778,3'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:778,3'
          Dst:             strftime
        - Src:             'sdp-utils.c:778,3'
          Dst:             snprintf
        - Src:             'sdp-utils.c:778,3'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:799,47'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:800,10'
          Dst:             atoi
        - Src:             'sdp-utils.c:802,6'
          Dst:             time
        - Src:             'sdp-utils.c:802,6'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:802,6'
          Dst:             strftime
        - Src:             'sdp-utils.c:802,6'
          Dst:             snprintf
        - Src:             'sdp-utils.c:802,6'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:803,15'
          Dst:             strstr
        - Src:             'sdp-utils.c:803,43'
          Dst:             strstr
        - Src:             'sdp-utils.c:806,13'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:809,7'
          Dst:             g_list_free
        - Src:             'sdp-utils.c:821,67'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:823,11'
          Dst:             atoi
        - Src:             'sdp-utils.c:824,9'
          Dst:             g_list_find
        - Src:             'sdp-utils.c:831,7'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:832,10'
          Dst:             strstr
        - Src:             'sdp-utils.c:834,8'
          Dst:             time
        - Src:             'sdp-utils.c:834,8'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:834,8'
          Dst:             strftime
        - Src:             'sdp-utils.c:834,8'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:835,8'
          Dst:             g_list_free
        - Src:             'sdp-utils.c:838,24'
          Dst:             strstr
        - Src:             'sdp-utils.c:841,29'
          Dst:             g_ascii_strdown
        - Src:             'sdp-utils.c:842,7'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:843,7'
          Dst:             g_free
        - Src:             'sdp-utils.c:844,10'
          Dst:             strstr
        - Src:             'sdp-utils.c:846,8'
          Dst:             time
        - Src:             'sdp-utils.c:846,8'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:846,8'
          Dst:             strftime
        - Src:             'sdp-utils.c:846,8'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:847,8'
          Dst:             g_list_free
        - Src:             'sdp-utils.c:851,29'
          Dst:             g_ascii_strup
        - Src:             'sdp-utils.c:852,7'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:853,7'
          Dst:             g_free
        - Src:             'sdp-utils.c:854,10'
          Dst:             strstr
        - Src:             'sdp-utils.c:856,8'
          Dst:             time
        - Src:             'sdp-utils.c:856,8'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:856,8'
          Dst:             strftime
        - Src:             'sdp-utils.c:856,8'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:857,8'
          Dst:             g_list_free
        - Src:             'sdp-utils.c:865,3'
          Dst:             g_list_free
    - functionName:    strstr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    122
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strlen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    31
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_sdp_attribute_create
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          109
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - g_malloc
        - g_strdup
        - g_vsnprintf
        - janus_vprintf
      functionUses:    36
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:173,27'
          Dst:             g_malloc
        - Src:             'sdp-utils.c:175,2'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:176,12'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:183,3'
          Dst:             g_vsnprintf
        - Src:             'sdp-utils.c:185,14'
          Dst:             g_strdup
    - functionName:    janus_sdp_get_codec_rtpmap
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 984
      functionLinenumberEnd: 1020
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         47
      ICount:          237
      EdgeCount:       66
      CyclomaticComplexity: 21
      functionsReached:
        - janus_vprintf
        - localtime_r
        - snprintf
        - strcasecmp
        - strftime
        - time
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:987,6'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:989,6'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:992,6'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:994,6'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:996,6'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:998,6'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:1000,6'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:1002,6'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:1004,6'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:1006,6'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:1008,6'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:1010,6'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:1012,6'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:1014,6'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:1016,6'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:1018,2'
          Dst:             time
        - Src:             'sdp-utils.c:1018,2'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:1018,2'
          Dst:             strftime
        - Src:             'sdp-utils.c:1018,2'
          Dst:             snprintf
        - Src:             'sdp-utils.c:1018,2'
          Dst:             janus_vprintf
    - functionName:    janus_sdp_get_opusred_pt
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1086
      functionLinenumberEnd: 1117
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         31
      ICount:          169
      EdgeCount:       42
      CyclomaticComplexity: 13
      functionsReached:
        - atoi
        - strcasecmp
        - strstr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:1105,47'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:1106,14'
          Dst:             atoi
        - Src:             'sdp-utils.c:1107,8'
          Dst:             strstr
    - functionName:    g_list_prepend
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    atoi
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_sdp_attribute_add_to_mline
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          46
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - g_list_append
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:193,22'
          Dst:             g_list_append
    - functionName:    g_malloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_sdp_attribute_free
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - g_free
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:102,2'
          Dst:             g_free
        - Src:             'sdp-utils.c:103,2'
          Dst:             g_free
        - Src:             'sdp-utils.c:104,2'
          Dst:             g_free
    - functionName:    g_vsnprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_list_find
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_snprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    47
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_ascii_strdown
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_ascii_strup
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_sdp_generate_answer
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1861
      functionLinenumberEnd: 1918
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         57
      ICount:          534
      EdgeCount:       75
      CyclomaticComplexity: 20
      functionsReached:
        - g_list_append
        - g_malloc
        - g_malloc0
        - g_strdup
        - janus_vprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:1865,2'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1867,22'
          Dst:             g_malloc
        - Src:             'sdp-utils.c:1869,2'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1871,19'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:1875,19'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:1876,19'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:1880,19'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:1889,25'
          Dst:             g_malloc0
        - Src:             'sdp-utils.c:1890,3'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1893,32'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:1894,15'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:1896,16'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:1900,16'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1906,41'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:1906,17'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1911,21'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1914,2'
          Dst:             janus_vprintf
    - functionName:    janus_sdp_free
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          99
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - g_free
        - g_list_free
        - janus_sdp_attribute_destroy
        - janus_sdp_mline_destroy
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:55,2'
          Dst:             g_free
        - Src:             'sdp-utils.c:56,2'
          Dst:             g_free
        - Src:             'sdp-utils.c:57,2'
          Dst:             g_free
        - Src:             'sdp-utils.c:58,2'
          Dst:             g_free
        - Src:             'sdp-utils.c:62,3'
          Dst:             janus_sdp_attribute_destroy
        - Src:             'sdp-utils.c:65,2'
          Dst:             g_list_free
        - Src:             'sdp-utils.c:70,3'
          Dst:             janus_sdp_mline_destroy
        - Src:             'sdp-utils.c:73,2'
          Dst:             g_list_free
        - Src:             'sdp-utils.c:75,2'
          Dst:             g_free
    - functionName:    g_malloc0
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_sdp_mline_free
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          80
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - g_free
        - g_list_free
        - g_list_free_full
        - janus_sdp_attribute_destroy
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:81,2'
          Dst:             g_free
        - Src:             'sdp-utils.c:82,2'
          Dst:             g_free
        - Src:             'sdp-utils.c:83,2'
          Dst:             g_free
        - Src:             'sdp-utils.c:84,2'
          Dst:             g_free
        - Src:             'sdp-utils.c:85,2'
          Dst:             g_list_free_full
        - Src:             'sdp-utils.c:85,2'
          Dst:             g_free
        - Src:             'sdp-utils.c:87,2'
          Dst:             g_list_free
        - Src:             'sdp-utils.c:92,3'
          Dst:             janus_sdp_attribute_destroy
        - Src:             'sdp-utils.c:95,2'
          Dst:             g_list_free
        - Src:             'sdp-utils.c:96,2'
          Dst:             g_free
    - functionName:    janus_sdp_mline_destroy
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          145
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - janus_vprintf
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:42,2'
          Dst:             janus_vprintf
    - functionName:    janus_sdp_id_compare
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1355
      functionLinenumberEnd: 1356
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_sdp_generate_offer_mline
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1572
      functionLinenumberEnd: 1859
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         395
      ICount:          2247
      EdgeCount:       524
      CyclomaticComplexity: 131
      functionsReached:
        - g_hash_table_destroy
        - g_hash_table_get_keys
        - g_hash_table_insert
        - g_hash_table_lookup
        - g_hash_table_new
        - g_list_append
        - g_list_free
        - g_list_length
        - g_list_sort
        - g_str_equal
        - g_str_hash
        - g_strdup
        - janus_sdp_attribute_add_to_mline
        - janus_sdp_attribute_create
        - janus_sdp_destroy
        - janus_sdp_get_codec_rtpmap
        - janus_sdp_id_compare
        - janus_sdp_mline_create
        - janus_vprintf
        - localtime_r
        - snprintf
        - strcasecmp
        - strftime
        - time
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:1594,3'
          Dst:             time
        - Src:             'sdp-utils.c:1594,3'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:1594,3'
          Dst:             strftime
        - Src:             'sdp-utils.c:1594,3'
          Dst:             snprintf
        - Src:             'sdp-utils.c:1594,3'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1615,3'
          Dst:             time
        - Src:             'sdp-utils.c:1615,3'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:1615,3'
          Dst:             strftime
        - Src:             'sdp-utils.c:1615,3'
          Dst:             snprintf
        - Src:             'sdp-utils.c:1615,3'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1616,3'
          Dst:             janus_sdp_destroy
        - Src:             'sdp-utils.c:1651,5'
          Dst:             time
        - Src:             'sdp-utils.c:1651,5'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:1651,5'
          Dst:             strftime
        - Src:             'sdp-utils.c:1651,5'
          Dst:             snprintf
        - Src:             'sdp-utils.c:1651,5'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1653,6'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1656,7'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1665,16'
          Dst:             g_hash_table_new
        - Src:             'sdp-utils.c:1665,16'
          Dst:             g_str_hash
        - Src:             'sdp-utils.c:1665,16'
          Dst:             g_str_equal
        - Src:             'sdp-utils.c:1667,15'
          Dst:             g_hash_table_new
        - Src:             'sdp-utils.c:1670,26'
          Dst:             g_hash_table_lookup
        - Src:             'sdp-utils.c:1672,6'
          Dst:             time
        - Src:             'sdp-utils.c:1672,6'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:1672,6'
          Dst:             strftime
        - Src:             'sdp-utils.c:1672,6'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1674,9'
          Dst:             g_hash_table_lookup
        - Src:             'sdp-utils.c:1675,7'
          Dst:             time
        - Src:             'sdp-utils.c:1675,7'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:1675,7'
          Dst:             strftime
        - Src:             'sdp-utils.c:1675,7'
          Dst:             g_hash_table_lookup
        - Src:             'sdp-utils.c:1675,7'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1678,7'
          Dst:             g_hash_table_insert
        - Src:             'sdp-utils.c:1679,7'
          Dst:             g_hash_table_insert
        - Src:             'sdp-utils.c:1680,11'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:1689,5'
          Dst:             time
        - Src:             'sdp-utils.c:1689,5'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:1689,5'
          Dst:             strftime
        - Src:             'sdp-utils.c:1689,5'
          Dst:             snprintf
        - Src:             'sdp-utils.c:1689,5'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1691,6'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1694,7'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1702,4'
          Dst:             time
        - Src:             'sdp-utils.c:1702,4'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:1702,4'
          Dst:             strftime
        - Src:             'sdp-utils.c:1702,4'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1710,12'
          Dst:             janus_sdp_get_codec_rtpmap
        - Src:             'sdp-utils.c:1712,4'
          Dst:             time
        - Src:             'sdp-utils.c:1712,4'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:1712,4'
          Dst:             strftime
        - Src:             'sdp-utils.c:1712,4'
          Dst:             snprintf
        - Src:             'sdp-utils.c:1712,4'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1714,5'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1717,6'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1725,12'
          Dst:             janus_sdp_get_codec_rtpmap
        - Src:             'sdp-utils.c:1727,4'
          Dst:             time
        - Src:             'sdp-utils.c:1727,4'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:1727,4'
          Dst:             strftime
        - Src:             'sdp-utils.c:1727,4'
          Dst:             snprintf
        - Src:             'sdp-utils.c:1727,4'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1729,5'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1732,6'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1743,23'
          Dst:             janus_sdp_mline_create
        - Src:             'sdp-utils.c:1744,13'
          Dst:             g_list_length
        - Src:             'sdp-utils.c:1746,14'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:1750,7'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:1751,19'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1755,7'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:1756,19'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1762,16'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1763,8'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:1764,20'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1766,15'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1767,7'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:1768,19'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1774,17'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1775,64'
          Dst:             janus_sdp_get_codec_rtpmap
        - Src:             'sdp-utils.c:1775,9'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:1776,21'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1781,8'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:1782,20'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1783,8'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:1784,20'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1785,8'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:1786,20'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1787,8'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:1788,20'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1792,8'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:1793,20'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1797,29'
          Dst:             g_hash_table_get_keys
        - Src:             'sdp-utils.c:1797,17'
          Dst:             g_list_sort
        - Src:             'sdp-utils.c:1797,17'
          Dst:             janus_sdp_id_compare
        - Src:             'sdp-utils.c:1799,20'
          Dst:             g_hash_table_lookup
        - Src:             'sdp-utils.c:1801,10'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:1803,6'
          Dst:             janus_sdp_attribute_add_to_mline
        - Src:             'sdp-utils.c:1807,4'
          Dst:             g_list_free
        - Src:             'sdp-utils.c:1811,8'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:1812,20'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1816,8'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:1817,20'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1820,8'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:1822,9'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:1823,21'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1824,15'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:1826,9'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:1828,21'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1831,9'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:1832,21'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1836,36'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:1836,13'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1839,8'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:1840,20'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1842,8'
          Dst:             janus_sdp_attribute_create
        - Src:             'sdp-utils.c:1843,20'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1846,19'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1849,3'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1852,4'
          Dst:             g_hash_table_destroy
    - functionName:    janus_sdp_destroy
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          145
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - janus_vprintf
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:36,2'
          Dst:             janus_vprintf
    - functionName:    g_hash_table_destroy
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    28
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_str_hash
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_str_equal
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_hash_table_new
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_hash_table_lookup
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_hash_table_insert
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_sdp_mline_create
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - int
        - short
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          169
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - g_malloc0
        - g_strdup
        - janus_sdp_mtype_str
        - janus_vprintf
        - localtime_r
        - strftime
        - time
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:110,23'
          Dst:             g_malloc0
        - Src:             'sdp-utils.c:112,2'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:114,25'
          Dst:             janus_sdp_mtype_str
        - Src:             'sdp-utils.c:116,3'
          Dst:             time
        - Src:             'sdp-utils.c:116,3'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:116,3'
          Dst:             strftime
        - Src:             'sdp-utils.c:116,3'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:118,17'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:121,21'
          Dst:             g_strdup
    - functionName:    g_list_length
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_hash_table_get_keys
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_list_sort
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_sdp_mtype_str
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 209
      functionLinenumberEnd: 222
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          41
      EdgeCount:       16
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'sdp-utils.c:210,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    janus_sdp_generate_offer
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1358
      functionLinenumberEnd: 1570
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         256
      ICount:          1360
      EdgeCount:       341
      CyclomaticComplexity: 87
      functionsReached:
        - g_hash_table_destroy
        - g_hash_table_insert
        - g_hash_table_lookup
        - g_hash_table_new
        - g_str_equal
        - g_str_hash
        - janus_sdp_destroy
        - janus_sdp_generate_offer_mline
        - janus_sdp_new
        - janus_vprintf
        - localtime_r
        - snprintf
        - strftime
        - time
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:1365,21'
          Dst:             janus_sdp_new
        - Src:             'sdp-utils.c:1380,4'
          Dst:             time
        - Src:             'sdp-utils.c:1380,4'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:1380,4'
          Dst:             strftime
        - Src:             'sdp-utils.c:1380,4'
          Dst:             snprintf
        - Src:             'sdp-utils.c:1380,4'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1381,4'
          Dst:             janus_sdp_destroy
        - Src:             'sdp-utils.c:1383,5'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1385,5'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1387,5'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1397,9'
          Dst:             janus_sdp_generate_offer_mline
        - Src:             'sdp-utils.c:1409,7'
          Dst:             janus_sdp_destroy
        - Src:             'sdp-utils.c:1411,8'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1413,8'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1415,8'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1420,9'
          Dst:             janus_sdp_generate_offer_mline
        - Src:             'sdp-utils.c:1434,7'
          Dst:             janus_sdp_destroy
        - Src:             'sdp-utils.c:1436,8'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1438,8'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1440,8'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1445,9'
          Dst:             janus_sdp_generate_offer_mline
        - Src:             'sdp-utils.c:1451,7'
          Dst:             janus_sdp_destroy
        - Src:             'sdp-utils.c:1453,8'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1455,8'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1457,8'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1479,5'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1497,5'
          Dst:             time
        - Src:             'sdp-utils.c:1497,5'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:1497,5'
          Dst:             strftime
        - Src:             'sdp-utils.c:1497,5'
          Dst:             snprintf
        - Src:             'sdp-utils.c:1497,5'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1498,5'
          Dst:             janus_sdp_destroy
        - Src:             'sdp-utils.c:1500,6'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1502,6'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1504,6'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1542,16'
          Dst:             g_hash_table_new
        - Src:             'sdp-utils.c:1542,16'
          Dst:             g_str_hash
        - Src:             'sdp-utils.c:1542,16'
          Dst:             g_str_equal
        - Src:             'sdp-utils.c:1544,15'
          Dst:             g_hash_table_new
        - Src:             'sdp-utils.c:1546,8'
          Dst:             g_hash_table_lookup
        - Src:             'sdp-utils.c:1547,7'
          Dst:             g_hash_table_lookup
        - Src:             'sdp-utils.c:1548,6'
          Dst:             g_hash_table_insert
        - Src:             'sdp-utils.c:1549,6'
          Dst:             g_hash_table_insert
        - Src:             'sdp-utils.c:1551,8'
          Dst:             g_hash_table_lookup
        - Src:             'sdp-utils.c:1553,18'
          Dst:             g_hash_table_new
        - Src:             'sdp-utils.c:1554,6'
          Dst:             g_hash_table_insert
        - Src:             'sdp-utils.c:1558,4'
          Dst:             time
        - Src:             'sdp-utils.c:1558,4'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:1558,4'
          Dst:             strftime
        - Src:             'sdp-utils.c:1558,4'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1562,3'
          Dst:             g_hash_table_destroy
        - Src:             'sdp-utils.c:1564,3'
          Dst:             g_hash_table_destroy
    - functionName:    janus_sdp_new
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1333
      functionLinenumberEnd: 1352
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          143
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - g_malloc
        - g_strdup
        - janus_get_real_time
        - janus_vprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:1334,19'
          Dst:             g_malloc
        - Src:             'sdp-utils.c:1336,2'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1339,16'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:1340,18'
          Dst:             janus_get_real_time
        - Src:             'sdp-utils.c:1343,16'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:1344,16'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:1348,16'
          Dst:             g_strdup
    - functionName:    janus_sdp_match_preferred_codec
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1317
      functionLinenumberEnd: 1331
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          137
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - strcasecmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:1325,7'
          Dst:             strcasecmp
    - functionName:    janus_sdp_find_first_codec
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1282
      functionLinenumberEnd: 1315
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         54
      ICount:          360
      EdgeCount:       73
      CyclomaticComplexity: 21
      functionsReached:
        - janus_sdp_get_codec_name
        - janus_sdp_match_preferred_codec
        - janus_vprintf
        - strcasecmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:1285,2'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1297,20'
          Dst:             janus_sdp_get_codec_name
        - Src:             'sdp-utils.c:1298,13'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:1301,9'
          Dst:             janus_sdp_get_codec_name
        - Src:             'sdp-utils.c:1303,8'
          Dst:             janus_sdp_match_preferred_codec
        - Src:             'sdp-utils.c:1314,2'
          Dst:             janus_vprintf
    - functionName:    janus_sdp_get_codec_name
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 873
      functionLinenumberEnd: 941
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         129
      ICount:          605
      EdgeCount:       178
      CyclomaticComplexity: 51
      functionsReached:
        - atoi
        - janus_vprintf
        - localtime_r
        - snprintf
        - strcasecmp
        - strftime
        - strstr
        - time
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:893,47'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:894,16'
          Dst:             atoi
        - Src:             'sdp-utils.c:897,9'
          Dst:             strstr
        - Src:             'sdp-utils.c:897,36'
          Dst:             strstr
        - Src:             'sdp-utils.c:899,9'
          Dst:             strstr
        - Src:             'sdp-utils.c:899,36'
          Dst:             strstr
        - Src:             'sdp-utils.c:901,9'
          Dst:             strstr
        - Src:             'sdp-utils.c:901,37'
          Dst:             strstr
        - Src:             'sdp-utils.c:903,9'
          Dst:             strstr
        - Src:             'sdp-utils.c:903,36'
          Dst:             strstr
        - Src:             'sdp-utils.c:905,9'
          Dst:             strstr
        - Src:             'sdp-utils.c:905,37'
          Dst:             strstr
        - Src:             'sdp-utils.c:907,9'
          Dst:             strstr
        - Src:             'sdp-utils.c:907,42'
          Dst:             strstr
        - Src:             'sdp-utils.c:909,9'
          Dst:             strstr
        - Src:             'sdp-utils.c:909,37'
          Dst:             strstr
        - Src:             'sdp-utils.c:911,9'
          Dst:             strstr
        - Src:             'sdp-utils.c:911,37'
          Dst:             strstr
        - Src:             'sdp-utils.c:913,9'
          Dst:             strstr
        - Src:             'sdp-utils.c:913,37'
          Dst:             strstr
        - Src:             'sdp-utils.c:915,9'
          Dst:             strstr
        - Src:             'sdp-utils.c:915,37'
          Dst:             strstr
        - Src:             'sdp-utils.c:917,9'
          Dst:             strstr
        - Src:             'sdp-utils.c:917,40'
          Dst:             strstr
        - Src:             'sdp-utils.c:919,9'
          Dst:             strstr
        - Src:             'sdp-utils.c:919,40'
          Dst:             strstr
        - Src:             'sdp-utils.c:921,9'
          Dst:             strstr
        - Src:             'sdp-utils.c:921,39'
          Dst:             strstr
        - Src:             'sdp-utils.c:923,9'
          Dst:             strstr
        - Src:             'sdp-utils.c:923,39'
          Dst:             strstr
        - Src:             'sdp-utils.c:925,9'
          Dst:             strstr
        - Src:             'sdp-utils.c:925,53'
          Dst:             strstr
        - Src:             'sdp-utils.c:928,9'
          Dst:             strstr
        - Src:             'sdp-utils.c:928,36'
          Dst:             strstr
        - Src:             'sdp-utils.c:930,6'
          Dst:             time
        - Src:             'sdp-utils.c:930,6'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:930,6'
          Dst:             strftime
        - Src:             'sdp-utils.c:930,6'
          Dst:             snprintf
        - Src:             'sdp-utils.c:930,6'
          Dst:             janus_vprintf
    - functionName:    janus_sdp_find_preferred_codec
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1250
      functionLinenumberEnd: 1280
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         57
      ICount:          352
      EdgeCount:       76
      CyclomaticComplexity: 21
      functionsReached:
        - janus_sdp_get_codec_pt
        - janus_vprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:1253,2'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1266,8'
          Dst:             janus_sdp_get_codec_pt
        - Src:             'sdp-utils.c:1279,2'
          Dst:             janus_vprintf
    - functionName:    janus_sdp_write
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1119
      functionLinenumberEnd: 1248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         87
      ICount:          738
      EdgeCount:       116
      CyclomaticComplexity: 31
      functionsReached:
        - g_free
        - g_list_append
        - g_list_free
        - g_list_free_full
        - g_malloc
        - g_realloc
        - g_snprintf
        - janus_sdp_mdirection_str
        - janus_strlcat_fast
        - janus_vprintf
        - strcasecmp
        - strlen
        - strstr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:1122,2'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:1123,14'
          Dst:             g_malloc
        - Src:             'sdp-utils.c:1127,2'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:1128,2'
          Dst:             janus_strlcat_fast
        - Src:             'sdp-utils.c:1130,2'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:1133,2'
          Dst:             janus_strlcat_fast
        - Src:             'sdp-utils.c:1135,2'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:1136,2'
          Dst:             janus_strlcat_fast
        - Src:             'sdp-utils.c:1138,2'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:1139,2'
          Dst:             janus_strlcat_fast
        - Src:             'sdp-utils.c:1142,46'
          Dst:             strstr
        - Src:             'sdp-utils.c:1144,3'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:1146,3'
          Dst:             janus_strlcat_fast
        - Src:             'sdp-utils.c:1153,4'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:1155,4'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:1157,3'
          Dst:             janus_strlcat_fast
        - Src:             'sdp-utils.c:1166,3'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:1167,3'
          Dst:             janus_strlcat_fast
        - Src:             'sdp-utils.c:1170,4'
          Dst:             g_list_free_full
        - Src:             'sdp-utils.c:1170,4'
          Dst:             g_free
        - Src:             'sdp-utils.c:1172,4'
          Dst:             g_list_free
        - Src:             'sdp-utils.c:1174,16'
          Dst:             g_list_append
        - Src:             'sdp-utils.c:1175,4'
          Dst:             janus_strlcat_fast
        - Src:             'sdp-utils.c:1177,27'
          Dst:             strstr
        - Src:             'sdp-utils.c:1181,6'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:1182,6'
          Dst:             janus_strlcat_fast
        - Src:             'sdp-utils.c:1189,6'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:1190,6'
          Dst:             janus_strlcat_fast
        - Src:             'sdp-utils.c:1195,3'
          Dst:             janus_strlcat_fast
        - Src:             'sdp-utils.c:1198,4'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:1200,4'
          Dst:             janus_strlcat_fast
        - Src:             'sdp-utils.c:1205,5'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:1206,5'
          Dst:             janus_strlcat_fast
        - Src:             'sdp-utils.c:1210,63'
          Dst:             janus_sdp_mdirection_str
        - Src:             'sdp-utils.c:1212,4'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:1213,4'
          Dst:             janus_strlcat_fast
        - Src:             'sdp-utils.c:1218,23'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:1224,5'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:1226,5'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:1228,4'
          Dst:             janus_strlcat_fast
        - Src:             'sdp-utils.c:1232,23'
          Dst:             strlen
        - Src:             'sdp-utils.c:1233,21'
          Dst:             strlen
        - Src:             'sdp-utils.c:1240,10'
          Dst:             g_realloc
        - Src:             'sdp-utils.c:1242,3'
          Dst:             janus_strlcat_fast
        - Src:             'sdp-utils.c:1246,2'
          Dst:             janus_vprintf
    - functionName:    g_realloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_sdp_get_video_profile
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1055
      functionLinenumberEnd: 1084
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          150
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached:
        - g_strdup
        - g_strsplit
        - strlen
        - strstr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:1066,17'
          Dst:             g_strsplit
        - Src:             'sdp-utils.c:1071,14'
          Dst:             strstr
        - Src:             'sdp-utils.c:1072,21'
          Dst:             strlen
        - Src:             'sdp-utils.c:1073,7'
          Dst:             strlen
        - Src:             'sdp-utils.c:1074,15'
          Dst:             g_strdup
    - functionName:    g_strsplit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_strfreev
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_sdp_get_fmtp
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1022
      functionLinenumberEnd: 1053
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          190
      EdgeCount:       47
      CyclomaticComplexity: 14
      functionsReached:
        - atoi
        - g_snprintf
        - strcasecmp
        - strlen
        - strstr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:1036,47'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:1037,16'
          Dst:             atoi
        - Src:             'sdp-utils.c:1041,6'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:1042,9'
          Dst:             strstr
        - Src:             'sdp-utils.c:1043,25'
          Dst:             strlen
    - functionName:    janus_sdp_get_rtpmap_codec
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 943
      functionLinenumberEnd: 982
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         65
      ICount:          272
      EdgeCount:       85
      CyclomaticComplexity: 22
      functionsReached:
        - g_ascii_strdown
        - g_free
        - janus_vprintf
        - localtime_r
        - snprintf
        - strftime
        - strstr
        - time
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:947,21'
          Dst:             g_ascii_strdown
        - Src:             'sdp-utils.c:948,5'
          Dst:             strstr
        - Src:             'sdp-utils.c:950,10'
          Dst:             strstr
        - Src:             'sdp-utils.c:952,10'
          Dst:             strstr
        - Src:             'sdp-utils.c:954,10'
          Dst:             strstr
        - Src:             'sdp-utils.c:956,10'
          Dst:             strstr
        - Src:             'sdp-utils.c:958,10'
          Dst:             strstr
        - Src:             'sdp-utils.c:960,10'
          Dst:             strstr
        - Src:             'sdp-utils.c:962,10'
          Dst:             strstr
        - Src:             'sdp-utils.c:964,10'
          Dst:             strstr
        - Src:             'sdp-utils.c:966,10'
          Dst:             strstr
        - Src:             'sdp-utils.c:968,10'
          Dst:             strstr
        - Src:             'sdp-utils.c:970,10'
          Dst:             strstr
        - Src:             'sdp-utils.c:972,10'
          Dst:             strstr
        - Src:             'sdp-utils.c:974,10'
          Dst:             strstr
        - Src:             'sdp-utils.c:976,10'
          Dst:             strstr
        - Src:             'sdp-utils.c:979,3'
          Dst:             time
        - Src:             'sdp-utils.c:979,3'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:979,3'
          Dst:             strftime
        - Src:             'sdp-utils.c:979,3'
          Dst:             snprintf
        - Src:             'sdp-utils.c:979,3'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:980,2'
          Dst:             g_free
    - functionName:    janus_sdp_remove_payload_type
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 680
      functionLinenumberEnd: 709
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          164
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - atoi
        - g_list_remove
        - janus_sdp_attribute_destroy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:691,15'
          Dst:             g_list_remove
        - Src:             'sdp-utils.c:696,19'
          Dst:             atoi
        - Src:             'sdp-utils.c:697,21'
          Dst:             g_list_remove
        - Src:             'sdp-utils.c:699,5'
          Dst:             janus_sdp_attribute_destroy
    - functionName:    g_list_remove
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_sdp_parse
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 298
      functionLinenumberEnd: 678
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         342
      ICount:          1960
      EdgeCount:       454
      CyclomaticComplexity: 114
      functionsReached:
        - __isoc99_sscanf
        - atoi
        - atol
        - g_free
        - g_list_prepend
        - g_list_reverse
        - g_malloc0
        - g_snprintf
        - g_strdup
        - g_strfreev
        - g_strsplit
        - janus_sdp_attribute_destroy
        - janus_sdp_destroy
        - janus_sdp_mline_destroy
        - janus_sdp_parse_mdirection
        - janus_sdp_parse_mtype
        - janus_vprintf
        - localtime_r
        - snprintf
        - strcasecmp
        - strchr
        - strcmp
        - strftime
        - strlen
        - strnlen
        - strstr
        - strtok_r
        - time
      functionUses:    1
      BranchProfiles:
        - Branch String:   'sdp-utils.c:345,4'
          Branch Sides:    []
        - Branch String:   'sdp-utils.c:546,4'
          Branch Sides:    []
      Callsites:
        - Src:             'sdp-utils.c:301,5'
          Dst:             strstr
        - Src:             'sdp-utils.c:303,4'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:306,24'
          Dst:             g_malloc0
        - Src:             'sdp-utils.c:308,2'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:316,19'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:319,43'
          Dst:             strtok_r
        - Src:             'sdp-utils.c:322,8'
          Dst:             strchr
        - Src:             'sdp-utils.c:330,6'
          Dst:             strnlen
        - Src:             'sdp-utils.c:332,63'
          Dst:             strlen
        - Src:             'sdp-utils.c:332,5'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:338,5'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:347,9'
          Dst:             __isoc99_sscanf
        - Src:             'sdp-utils.c:349,8'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:358,8'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:363,9'
          Dst:             __isoc99_sscanf
        - Src:             'sdp-utils.c:366,8'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:370,10'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:372,15'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:376,8'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:380,25'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:381,25'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:387,8'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:391,25'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:395,9'
          Dst:             __isoc99_sscanf
        - Src:             'sdp-utils.c:397,8'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:406,8'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:411,9'
          Dst:             __isoc99_sscanf
        - Src:             'sdp-utils.c:413,8'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:417,10'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:419,15'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:423,8'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:427,25'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:431,31'
          Dst:             g_malloc0
        - Src:             'sdp-utils.c:432,6'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:434,24'
          Dst:             strchr
        - Src:             'sdp-utils.c:436,17'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:440,8'
          Dst:             janus_sdp_attribute_destroy
        - Src:             'sdp-utils.c:442,9'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:447,17'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:448,18'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:451,10'
          Dst:             strstr
        - Src:             'sdp-utils.c:453,15'
          Dst:             strstr
        - Src:             'sdp-utils.c:455,10'
          Dst:             strstr
        - Src:             'sdp-utils.c:458,29'
          Dst:             g_list_prepend
        - Src:             'sdp-utils.c:462,27'
          Dst:             g_malloc0
        - Src:             'sdp-utils.c:464,6'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:468,9'
          Dst:             strnlen
        - Src:             'sdp-utils.c:469,7'
          Dst:             janus_sdp_mline_destroy
        - Src:             'sdp-utils.c:471,69'
          Dst:             strlen
        - Src:             'sdp-utils.c:471,8'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:475,9'
          Dst:             __isoc99_sscanf
        - Src:             'sdp-utils.c:476,7'
          Dst:             janus_sdp_mline_destroy
        - Src:             'sdp-utils.c:478,8'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:484,16'
          Dst:             janus_sdp_parse_mtype
        - Src:             'sdp-utils.c:486,7'
          Dst:             janus_sdp_mline_destroy
        - Src:             'sdp-utils.c:488,8'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:492,20'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:493,17'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:497,28'
          Dst:             g_strsplit
        - Src:             'sdp-utils.c:499,7'
          Dst:             janus_sdp_mline_destroy
        - Src:             'sdp-utils.c:501,8'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:513,42'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:513,18'
          Dst:             g_list_prepend
        - Src:             'sdp-utils.c:515,20'
          Dst:             atoi
        - Src:             'sdp-utils.c:517,9'
          Dst:             time
        - Src:             'sdp-utils.c:517,9'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:517,9'
          Dst:             strftime
        - Src:             'sdp-utils.c:517,9'
          Dst:             snprintf
        - Src:             'sdp-utils.c:517,9'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:519,21'
          Dst:             g_list_prepend
        - Src:             'sdp-utils.c:523,7'
          Dst:             g_strfreev
        - Src:             'sdp-utils.c:525,8'
          Dst:             janus_sdp_mline_destroy
        - Src:             'sdp-utils.c:527,9'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:531,17'
          Dst:             g_list_reverse
        - Src:             'sdp-utils.c:532,19'
          Dst:             g_list_reverse
        - Src:             'sdp-utils.c:535,26'
          Dst:             g_list_prepend
        - Src:             'sdp-utils.c:541,6'
          Dst:             time
        - Src:             'sdp-utils.c:541,6'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:541,6'
          Dst:             strftime
        - Src:             'sdp-utils.c:541,6'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:550,8'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:555,9'
          Dst:             __isoc99_sscanf
        - Src:             'sdp-utils.c:557,8'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:561,10'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:563,15'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:567,8'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:571,22'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:576,7'
          Dst:             time
        - Src:             'sdp-utils.c:576,7'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:576,7'
          Dst:             strftime
        - Src:             'sdp-utils.c:576,7'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:582,24'
          Dst:             strchr
        - Src:             'sdp-utils.c:585,8'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:590,9'
          Dst:             strcmp
        - Src:             'sdp-utils.c:590,31'
          Dst:             strcmp
        - Src:             'sdp-utils.c:594,22'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:595,23'
          Dst:             atol
        - Src:             'sdp-utils.c:600,31'
          Dst:             g_malloc0
        - Src:             'sdp-utils.c:601,6'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:603,24'
          Dst:             strchr
        - Src:             'sdp-utils.c:606,40'
          Dst:             janus_sdp_parse_mdirection
        - Src:             'sdp-utils.c:608,8'
          Dst:             janus_sdp_attribute_destroy
        - Src:             'sdp-utils.c:612,17'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:616,8'
          Dst:             janus_sdp_attribute_destroy
        - Src:             'sdp-utils.c:618,9'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:623,17'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:624,18'
          Dst:             g_strdup
        - Src:             'sdp-utils.c:627,10'
          Dst:             strstr
        - Src:             'sdp-utils.c:629,15'
          Dst:             strstr
        - Src:             'sdp-utils.c:631,10'
          Dst:             strstr
        - Src:             'sdp-utils.c:634,26'
          Dst:             g_list_prepend
        - Src:             'sdp-utils.c:640,27'
          Dst:             g_list_reverse
        - Src:             'sdp-utils.c:646,6'
          Dst:             time
        - Src:             'sdp-utils.c:646,6'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:646,6'
          Dst:             strftime
        - Src:             'sdp-utils.c:646,6'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:655,2'
          Dst:             g_free
        - Src:             'sdp-utils.c:660,4'
          Dst:             g_snprintf
        - Src:             'sdp-utils.c:665,4'
          Dst:             time
        - Src:             'sdp-utils.c:665,4'
          Dst:             localtime_r
        - Src:             'sdp-utils.c:665,4'
          Dst:             strftime
        - Src:             'sdp-utils.c:665,4'
          Dst:             snprintf
        - Src:             'sdp-utils.c:665,4'
          Dst:             janus_vprintf
        - Src:             'sdp-utils.c:666,3'
          Dst:             janus_sdp_destroy
        - Src:             'sdp-utils.c:671,24'
          Dst:             g_list_reverse
        - Src:             'sdp-utils.c:673,27'
          Dst:             g_list_reverse
        - Src:             'sdp-utils.c:675,24'
          Dst:             g_list_reverse
    - functionName:    strtok_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strnlen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __isoc99_sscanf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_sdp_parse_mtype
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 197
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          58
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - strcasecmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:200,6'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:202,6'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:204,6'
          Dst:             strcasecmp
    - functionName:    g_list_reverse
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    atol
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_sdp_parse_mdirection
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 224
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          68
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached:
        - strcasecmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:227,6'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:229,6'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:231,6'
          Dst:             strcasecmp
        - Src:             'sdp-utils.c:233,6'
          Dst:             strcasecmp
    - functionName:    janus_sdp_oa_type_str
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 256
      functionLinenumberEnd: 296
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          103
      EdgeCount:       40
      CyclomaticComplexity: 21
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'sdp-utils.c:257,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    janus_sdp_mline_remove
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          73
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - g_list_remove
        - janus_sdp_mline_destroy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sdp-utils.c:160,19'
          Dst:             g_list_remove
        - Src:             'sdp-utils.c:161,4'
          Dst:             janus_sdp_mline_destroy
    - functionName:    janus_sdp_mline_find_by_index
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          66
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_sdp_mline_find
      functionSourceFile: '/src/janus-gateway/src/sdp-utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_log_print_buffer
      functionSourceFile: '/src/janus-gateway/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          119
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - fflush
        - fputs
        - g_hash_table_iter_init
        - g_hash_table_iter_next
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'log.c:65,3'
          Dst:             fputs
        - Src:             'log.c:67,3'
          Dst:             fputs
        - Src:             'log.c:71,3'
          Dst:             g_hash_table_iter_init
        - Src:             'log.c:72,9'
          Dst:             g_hash_table_iter_next
        - Src:             'log.c:81,3'
          Dst:             fflush
        - Src:             'log.c:83,3'
          Dst:             fflush
    - functionName:    fputs
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_hash_table_iter_init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_hash_table_iter_next
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fflush
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_log_reload
      functionSourceFile: '/src/janus-gateway/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 215
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          32
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - g_async_queue_push
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'log.c:214,2'
          Dst:             g_async_queue_push
    - functionName:    g_async_queue_push
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_log_destroy
      functionSourceFile: '/src/janus-gateway/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 233
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         15
      ICount:          74
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - g_async_queue_push
        - g_async_queue_try_pop
        - g_async_queue_unref
        - g_thread_join
        - janus_log_buffer_free
        - janus_log_print_buffer
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'log.c:220,3'
          Dst:             g_async_queue_push
        - Src:             'log.c:221,3'
          Dst:             g_thread_join
        - Src:             'log.c:225,14'
          Dst:             g_async_queue_try_pop
        - Src:             'log.c:227,5'
          Dst:             janus_log_print_buffer
        - Src:             'log.c:228,4'
          Dst:             janus_log_buffer_free
        - Src:             'log.c:231,2'
          Dst:             g_async_queue_unref
    - functionName:    g_thread_join
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_async_queue_try_pop
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_log_buffer_free
      functionSourceFile: '/src/janus-gateway/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          38
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - g_free
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'log.c:35,2'
          Dst:             g_free
        - Src:             'log.c:36,2'
          Dst:             g_free
    - functionName:    g_async_queue_unref
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_log_thread
      functionSourceFile: '/src/janus-gateway/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         39
      ICount:          187
      EdgeCount:       52
      CyclomaticComplexity: 15
      functionsReached:
        - __errno_location
        - fclose
        - fflush
        - fopen
        - g_async_queue_pop
        - g_async_queue_try_pop
        - g_free
        - g_strerror
        - janus_log_buffer_free
        - janus_log_print_buffer
        - janus_vprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'log.c:90,7'
          Dst:             g_async_queue_pop
        - Src:             'log.c:94,4'
          Dst:             janus_vprintf
        - Src:             'log.c:96,15'
          Dst:             g_async_queue_try_pop
        - Src:             'log.c:98,6'
          Dst:             janus_log_print_buffer
        - Src:             'log.c:99,5'
          Dst:             janus_log_buffer_free
        - Src:             'log.c:101,4'
          Dst:             fflush
        - Src:             'log.c:102,4'
          Dst:             fclose
        - Src:             'log.c:104,21'
          Dst:             fopen
        - Src:             'log.c:106,83'
          Dst:             __errno_location
        - Src:             'log.c:106,72'
          Dst:             g_strerror
        - Src:             'log.c:106,5'
          Dst:             janus_vprintf
        - Src:             'log.c:112,4'
          Dst:             janus_log_buffer_free
        - Src:             'log.c:116,3'
          Dst:             janus_log_print_buffer
        - Src:             'log.c:118,3'
          Dst:             janus_log_buffer_free
        - Src:             'log.c:121,13'
          Dst:             g_async_queue_try_pop
        - Src:             'log.c:123,4'
          Dst:             janus_log_print_buffer
        - Src:             'log.c:124,3'
          Dst:             janus_log_buffer_free
        - Src:             'log.c:127,3'
          Dst:             fflush
        - Src:             'log.c:129,3'
          Dst:             fflush
        - Src:             'log.c:132,3'
          Dst:             fclose
        - Src:             'log.c:134,2'
          Dst:             g_free
    - functionName:    g_async_queue_pop
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_vprintf
      functionSourceFile: '/src/janus-gateway/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          86
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - g_async_queue_new_full
        - g_async_queue_push
        - g_malloc
        - g_vasprintf
        - janus_get_real_time
        - janus_log_buffer_free
      functionUses:    115
      BranchProfiles:  []
      Callsites:
        - Src:             'log.c:144,21'
          Dst:             g_async_queue_new_full
        - Src:             'log.c:144,21'
          Dst:             janus_log_buffer_free
        - Src:             'log.c:149,12'
          Dst:             g_vasprintf
        - Src:             'log.c:154,24'
          Dst:             g_malloc
        - Src:             'log.c:155,17'
          Dst:             janus_get_real_time
        - Src:             'log.c:157,2'
          Dst:             g_async_queue_push
    - functionName:    fclose
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fopen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __errno_location
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_strerror
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_async_queue_new_full
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_vasprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_log_init
      functionSourceFile: '/src/janus-gateway/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 209
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          218
      EdgeCount:       57
      CyclomaticComplexity: 17
      functionsReached:
        - __errno_location
        - fopen
        - freopen
        - g_async_queue_new_full
        - g_hash_table_size
        - g_strdup
        - g_strerror
        - g_thread_new
        - janus_log_buffer_free
        - janus_log_destroy
        - janus_log_thread
        - janus_vprintf
        - setvbuf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'log.c:166,3'
          Dst:             setvbuf
        - Src:             'log.c:172,20'
          Dst:             fopen
        - Src:             'log.c:174,71'
          Dst:             __errno_location
        - Src:             'log.c:174,60'
          Dst:             g_strerror
        - Src:             'log.c:174,4'
          Dst:             janus_vprintf
        - Src:             'log.c:177,24'
          Dst:             g_strdup
        - Src:             'log.c:180,47'
          Dst:             g_hash_table_size
        - Src:             'log.c:180,3'
          Dst:             janus_vprintf
        - Src:             'log.c:182,3'
          Dst:             janus_vprintf
        - Src:             'log.c:183,3'
          Dst:             janus_vprintf
        - Src:             'log.c:187,6'
          Dst:             freopen
        - Src:             'log.c:188,4'
          Dst:             janus_vprintf
        - Src:             'log.c:191,6'
          Dst:             freopen
        - Src:             'log.c:192,4'
          Dst:             janus_vprintf
        - Src:             'log.c:195,6'
          Dst:             freopen
        - Src:             'log.c:196,4'
          Dst:             janus_vprintf
        - Src:             'log.c:201,21'
          Dst:             g_async_queue_new_full
        - Src:             'log.c:201,21'
          Dst:             janus_log_buffer_free
        - Src:             'log.c:202,15'
          Dst:             g_thread_new
        - Src:             'log.c:202,15'
          Dst:             janus_log_thread
        - Src:             'log.c:207,2'
          Dst:             janus_log_destroy
    - functionName:    setvbuf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_hash_table_size
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    freopen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_thread_new
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_log_get_logfile_path
      functionSourceFile: '/src/janus-gateway/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_log_is_logfile_enabled
      functionSourceFile: '/src/janus-gateway/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_log_is_stdout_enabled
      functionSourceFile: '/src/janus-gateway/src/log.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_bitstream_getbits
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1430
      functionLinenumberEnd: 1436
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          54
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - janus_bitstream_getbit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:1434,10'
          Dst:             janus_bitstream_getbit
    - functionName:    janus_bitstream_getbit
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1426
      functionLinenumberEnd: 1427
      functionDepth:   0
      returnType:      char
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_set4
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1419
      functionLinenumberEnd: 1424
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          40
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_set3
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1413
      functionLinenumberEnd: 1417
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          32
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_set2
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1408
      functionLinenumberEnd: 1411
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          24
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_set1
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1404
      functionLinenumberEnd: 1406
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_push_bits
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1398
      functionLinenumberEnd: 1402
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          38
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_red_replace_block_pt
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1373
      functionLinenumberEnd: 1395
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          122
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_red_pack_blocks
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1327
      functionLinenumberEnd: 1372
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          250
      EdgeCount:       40
      CyclomaticComplexity: 11
      functionsReached:
        - htonl
        - janus_vprintf
        - localtime_r
        - snprintf
        - strftime
        - time
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:1341,4'
          Dst:             time
        - Src:             'utils.c:1341,4'
          Dst:             localtime_r
        - Src:             'utils.c:1341,4'
          Dst:             strftime
        - Src:             'utils.c:1341,4'
          Dst:             snprintf
        - Src:             'utils.c:1341,4'
          Dst:             janus_vprintf
        - Src:             'utils.c:1351,16'
          Dst:             htonl
    - functionName:    htonl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_red_parse_blocks
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1247
      functionLinenumberEnd: 1326
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         91
      ICount:          578
      EdgeCount:       117
      CyclomaticComplexity: 28
      functionsReached:
        - g_free
        - g_list_append
        - g_list_free_full
        - g_malloc0
        - janus_vprintf
        - localtime_r
        - ntohl
        - strftime
        - time
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:1269,16'
          Dst:             ntohl
        - Src:             'utils.c:1272,4'
          Dst:             time
        - Src:             'utils.c:1272,4'
          Dst:             localtime_r
        - Src:             'utils.c:1272,4'
          Dst:             strftime
        - Src:             'utils.c:1272,4'
          Dst:             janus_vprintf
        - Src:             'utils.c:1274,9'
          Dst:             g_malloc0
        - Src:             'utils.c:1278,13'
          Dst:             g_list_append
        - Src:             'utils.c:1285,4'
          Dst:             time
        - Src:             'utils.c:1285,4'
          Dst:             localtime_r
        - Src:             'utils.c:1285,4'
          Dst:             strftime
        - Src:             'utils.c:1285,4'
          Dst:             janus_vprintf
        - Src:             'utils.c:1300,5'
          Dst:             time
        - Src:             'utils.c:1300,5'
          Dst:             localtime_r
        - Src:             'utils.c:1300,5'
          Dst:             strftime
        - Src:             'utils.c:1300,5'
          Dst:             janus_vprintf
        - Src:             'utils.c:1301,5'
          Dst:             g_list_free_full
        - Src:             'utils.c:1301,5'
          Dst:             g_free
        - Src:             'utils.c:1306,5'
          Dst:             time
        - Src:             'utils.c:1306,5'
          Dst:             localtime_r
        - Src:             'utils.c:1306,5'
          Dst:             strftime
        - Src:             'utils.c:1306,5'
          Dst:             janus_vprintf
        - Src:             'utils.c:1317,3'
          Dst:             time
        - Src:             'utils.c:1317,3'
          Dst:             localtime_r
        - Src:             'utils.c:1317,3'
          Dst:             strftime
        - Src:             'utils.c:1317,3'
          Dst:             janus_vprintf
        - Src:             'utils.c:1318,8'
          Dst:             g_malloc0
        - Src:             'utils.c:1322,12'
          Dst:             g_list_append
    - functionName:    ntohl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_vp9_parse_svc
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1105
      functionLinenumberEnd: 1244
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         113
      ICount:          764
      EdgeCount:       150
      CyclomaticComplexity: 39
      functionsReached:
        - janus_vprintf
        - localtime_r
        - ntohs
        - strftime
        - time
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:1138,17'
          Dst:             ntohs
        - Src:             'utils.c:1151,3'
          Dst:             time
        - Src:             'utils.c:1151,3'
          Dst:             localtime_r
        - Src:             'utils.c:1151,3'
          Dst:             strftime
        - Src:             'utils.c:1151,3'
          Dst:             janus_vprintf
        - Src:             'utils.c:1191,3'
          Dst:             time
        - Src:             'utils.c:1191,3'
          Dst:             localtime_r
        - Src:             'utils.c:1191,3'
          Dst:             strftime
        - Src:             'utils.c:1191,3'
          Dst:             janus_vprintf
        - Src:             'utils.c:1217,4'
          Dst:             time
        - Src:             'utils.c:1217,4'
          Dst:             localtime_r
        - Src:             'utils.c:1217,4'
          Dst:             strftime
        - Src:             'utils.c:1217,4'
          Dst:             janus_vprintf
    - functionName:    ntohs
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_vp8_replace_descriptor
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1020
      functionLinenumberEnd: 1058
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - short
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          196
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - htons
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:1041,27'
          Dst:             htons
    - functionName:    htons
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_vp8_simulcast_descriptor_update
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1072
      functionLinenumberEnd: 1101
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          210
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - janus_vp8_parse_descriptor
        - janus_vp8_replace_descriptor
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:1082,5'
          Dst:             janus_vp8_parse_descriptor
        - Src:             'utils.c:1100,2'
          Dst:             janus_vp8_replace_descriptor
    - functionName:    janus_vp8_parse_descriptor
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 958
      functionLinenumberEnd: 1018
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         60
      ICount:          360
      EdgeCount:       79
      CyclomaticComplexity: 21
      functionsReached:
        - ntohs
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:989,18'
          Dst:             ntohs
    - functionName:    janus_vp8_simulcast_context_reset
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1060
      functionLinenumberEnd: 1070
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          35
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_is_keyframe
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 939
      functionLinenumberEnd: 955
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          69
      EdgeCount:       21
      CyclomaticComplexity: 12
      functionsReached:
        - janus_av1_is_keyframe
        - janus_h264_is_keyframe
        - janus_h265_is_keyframe
        - janus_vp8_is_keyframe
        - janus_vp9_is_keyframe
      functionUses:    0
      BranchProfiles:
        - Branch String:   'utils.c:940,2'
          Branch Sides:    []
      Callsites:
        - Src:             'utils.c:942,11'
          Dst:             janus_vp8_is_keyframe
        - Src:             'utils.c:944,11'
          Dst:             janus_vp9_is_keyframe
        - Src:             'utils.c:946,11'
          Dst:             janus_h264_is_keyframe
        - Src:             'utils.c:948,11'
          Dst:             janus_av1_is_keyframe
        - Src:             'utils.c:950,11'
          Dst:             janus_h265_is_keyframe
    - functionName:    janus_vp8_is_keyframe
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 707
      functionLinenumberEnd: 781
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         151
      ICount:          873
      EdgeCount:       194
      CyclomaticComplexity: 45
      functionsReached:
        - janus_vprintf
        - localtime_r
        - ntohl
        - ntohs
        - strftime
        - time
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:715,3'
          Dst:             time
        - Src:             'utils.c:715,3'
          Dst:             localtime_r
        - Src:             'utils.c:715,3'
          Dst:             strftime
        - Src:             'utils.c:715,3'
          Dst:             janus_vprintf
        - Src:             'utils.c:724,4'
          Dst:             time
        - Src:             'utils.c:724,4'
          Dst:             localtime_r
        - Src:             'utils.c:724,4'
          Dst:             strftime
        - Src:             'utils.c:724,4'
          Dst:             janus_vprintf
        - Src:             'utils.c:731,5'
          Dst:             time
        - Src:             'utils.c:731,5'
          Dst:             localtime_r
        - Src:             'utils.c:731,5'
          Dst:             strftime
        - Src:             'utils.c:731,5'
          Dst:             janus_vprintf
        - Src:             'utils.c:733,18'
          Dst:             ntohs
        - Src:             'utils.c:737,4'
          Dst:             time
        - Src:             'utils.c:737,4'
          Dst:             localtime_r
        - Src:             'utils.c:737,4'
          Dst:             strftime
        - Src:             'utils.c:737,4'
          Dst:             janus_vprintf
        - Src:             'utils.c:740,4'
          Dst:             time
        - Src:             'utils.c:740,4'
          Dst:             localtime_r
        - Src:             'utils.c:740,4'
          Dst:             strftime
        - Src:             'utils.c:740,4'
          Dst:             janus_vprintf
        - Src:             'utils.c:746,4'
          Dst:             time
        - Src:             'utils.c:746,4'
          Dst:             localtime_r
        - Src:             'utils.c:746,4'
          Dst:             strftime
        - Src:             'utils.c:746,4'
          Dst:             janus_vprintf
        - Src:             'utils.c:754,3'
          Dst:             time
        - Src:             'utils.c:754,3'
          Dst:             localtime_r
        - Src:             'utils.c:754,3'
          Dst:             strftime
        - Src:             'utils.c:754,3'
          Dst:             janus_vprintf
        - Src:             'utils.c:757,11'
          Dst:             ntohl
        - Src:             'utils.c:760,4'
          Dst:             time
        - Src:             'utils.c:760,4'
          Dst:             localtime_r
        - Src:             'utils.c:760,4'
          Dst:             strftime
        - Src:             'utils.c:760,4'
          Dst:             janus_vprintf
        - Src:             'utils.c:765,5'
          Dst:             time
        - Src:             'utils.c:765,5'
          Dst:             localtime_r
        - Src:             'utils.c:765,5'
          Dst:             strftime
        - Src:             'utils.c:765,5'
          Dst:             janus_vprintf
        - Src:             'utils.c:774,5'
          Dst:             time
        - Src:             'utils.c:774,5'
          Dst:             localtime_r
        - Src:             'utils.c:774,5'
          Dst:             strftime
        - Src:             'utils.c:774,5'
          Dst:             janus_vprintf
    - functionName:    janus_vp9_is_keyframe
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 783
      functionLinenumberEnd: 865
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         62
      ICount:          411
      EdgeCount:       82
      CyclomaticComplexity: 22
      functionsReached:
        - janus_vprintf
        - localtime_r
        - ntohs
        - strftime
        - time
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:805,17'
          Dst:             ntohs
        - Src:             'utils.c:849,16'
          Dst:             ntohs
        - Src:             'utils.c:854,16'
          Dst:             ntohs
        - Src:             'utils.c:857,6'
          Dst:             time
        - Src:             'utils.c:857,6'
          Dst:             localtime_r
        - Src:             'utils.c:857,6'
          Dst:             strftime
        - Src:             'utils.c:857,6'
          Dst:             janus_vprintf
    - functionName:    janus_h264_is_keyframe
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 900
      functionLinenumberEnd: 901
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - janus_h264_contains_nal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:901,9'
          Dst:             janus_h264_contains_nal
    - functionName:    janus_av1_is_keyframe
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 912
      functionLinenumberEnd: 921
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          65
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_h265_is_keyframe
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 937
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          136
      EdgeCount:       39
      CyclomaticComplexity: 13
      functionsReached:
        - ntohs
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:929,9'
          Dst:             ntohs
    - functionName:    janus_h264_contains_nal
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 867
      functionLinenumberEnd: 898
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         53
      ICount:          301
      EdgeCount:       69
      CyclomaticComplexity: 18
      functionsReached:
        - janus_vprintf
        - localtime_r
        - ntohs
        - strftime
        - time
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:874,3'
          Dst:             time
        - Src:             'utils.c:874,3'
          Dst:             localtime_r
        - Src:             'utils.c:874,3'
          Dst:             strftime
        - Src:             'utils.c:874,3'
          Dst:             janus_vprintf
        - Src:             'utils.c:884,12'
          Dst:             ntohs
        - Src:             'utils.c:889,5'
          Dst:             time
        - Src:             'utils.c:889,5'
          Dst:             localtime_r
        - Src:             'utils.c:889,5'
          Dst:             strftime
        - Src:             'utils.c:889,5'
          Dst:             janus_vprintf
    - functionName:    janus_h264_is_b_frame
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 908
      functionLinenumberEnd: 909
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - janus_h264_contains_nal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:909,9'
          Dst:             janus_h264_contains_nal
    - functionName:    janus_h264_is_i_frame
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 904
      functionLinenumberEnd: 905
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - janus_h264_contains_nal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:905,9'
          Dst:             janus_h264_contains_nal
    - functionName:    janus_json_is_valid
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 667
      functionLinenumberEnd: 696
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          138
      EdgeCount:       29
      CyclomaticComplexity: 5
      functionsReached:
        - json_array_size
        - json_integer_value
        - json_real_value
        - json_string_value
        - strlen
      functionUses:    0
      BranchProfiles:
        - Branch String:   'utils.c:672,3'
          Branch Sides:    []
        - Branch String:   'utils.c:684,3'
          Branch Sides:    []
      Callsites:
        - Src:             'utils.c:674,17'
          Dst:             json_integer_value
        - Src:             'utils.c:677,17'
          Dst:             json_real_value
        - Src:             'utils.c:686,24'
          Dst:             json_string_value
        - Src:             'utils.c:686,17'
          Dst:             strlen
        - Src:             'utils.c:689,17'
          Dst:             json_array_size
    - functionName:    json_integer_value
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    json_real_value
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      double
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    json_string_value
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    json_array_size
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_get_json_type_name
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 627
      functionLinenumberEnd: 665
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          130
      EdgeCount:       29
      CyclomaticComplexity: 6
      functionsReached:
        - g_strlcpy
        - janus_strlcat
      functionUses:    0
      BranchProfiles:
        - Branch String:   'utils.c:643,2'
          Branch Sides:    []
      Callsites:
        - Src:             'utils.c:632,3'
          Dst:             g_strlcpy
        - Src:             'utils.c:635,3'
          Dst:             g_strlcpy
        - Src:             'utils.c:638,3'
          Dst:             g_strlcpy
        - Src:             'utils.c:641,3'
          Dst:             g_strlcpy
        - Src:             'utils.c:645,4'
          Dst:             janus_strlcat
        - Src:             'utils.c:648,4'
          Dst:             janus_strlcat
        - Src:             'utils.c:651,4'
          Dst:             janus_strlcat
        - Src:             'utils.c:654,4'
          Dst:             janus_strlcat
        - Src:             'utils.c:657,4'
          Dst:             janus_strlcat
        - Src:             'utils.c:660,4'
          Dst:             janus_strlcat
    - functionName:    g_strlcpy
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_strlcat
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 284
      functionLinenumberEnd: 288
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          97
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - g_strlcat
        - janus_vprintf
        - localtime_r
        - snprintf
        - strftime
        - time
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:285,15'
          Dst:             g_strlcat
        - Src:             'utils.c:287,3'
          Dst:             time
        - Src:             'utils.c:287,3'
          Dst:             localtime_r
        - Src:             'utils.c:287,3'
          Dst:             strftime
        - Src:             'utils.c:287,3'
          Dst:             snprintf
        - Src:             'utils.c:287,3'
          Dst:             janus_vprintf
    - functionName:    g_strlcat
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_protected_folders_clear
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 620
      functionLinenumberEnd: 624
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          43
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - g_free
        - g_list_free_full
        - g_mutex_lock
        - g_mutex_unlock
        - janus_vprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:621,2'
          Dst:             g_mutex_lock
        - Src:             'utils.c:621,2'
          Dst:             janus_vprintf
        - Src:             'utils.c:621,2'
          Dst:             g_mutex_lock
        - Src:             'utils.c:622,2'
          Dst:             g_list_free_full
        - Src:             'utils.c:622,2'
          Dst:             g_free
        - Src:             'utils.c:623,2'
          Dst:             g_mutex_unlock
        - Src:             'utils.c:623,2'
          Dst:             janus_vprintf
        - Src:             'utils.c:623,2'
          Dst:             g_mutex_unlock
    - functionName:    g_mutex_lock
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_mutex_unlock
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_is_folder_protected
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 587
      functionLinenumberEnd: 618
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         45
      ICount:          222
      EdgeCount:       59
      CyclomaticComplexity: 16
      functionsReached:
        - __errno_location
        - g_mutex_lock
        - g_mutex_unlock
        - g_strerror
        - janus_vprintf
        - localtime_r
        - realpath
        - snprintf
        - strftime
        - strstr
        - time
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:594,5'
          Dst:             realpath
        - Src:             'utils.c:594,41'
          Dst:             __errno_location
        - Src:             'utils.c:595,3'
          Dst:             time
        - Src:             'utils.c:595,3'
          Dst:             localtime_r
        - Src:             'utils.c:595,3'
          Dst:             strftime
        - Src:             'utils.c:595,3'
          Dst:             snprintf
        - Src:             'utils.c:595,3'
          Dst:             __errno_location
        - Src:             'utils.c:595,3'
          Dst:             __errno_location
        - Src:             'utils.c:595,3'
          Dst:             g_strerror
        - Src:             'utils.c:595,3'
          Dst:             janus_vprintf
        - Src:             'utils.c:600,2'
          Dst:             g_mutex_lock
        - Src:             'utils.c:600,2'
          Dst:             janus_vprintf
        - Src:             'utils.c:600,2'
          Dst:             g_mutex_lock
        - Src:             'utils.c:603,3'
          Dst:             g_mutex_unlock
        - Src:             'utils.c:603,3'
          Dst:             janus_vprintf
        - Src:             'utils.c:603,3'
          Dst:             g_mutex_unlock
        - Src:             'utils.c:610,17'
          Dst:             strstr
        - Src:             'utils.c:616,2'
          Dst:             g_mutex_unlock
        - Src:             'utils.c:616,2'
          Dst:             janus_vprintf
        - Src:             'utils.c:616,2'
          Dst:             g_mutex_unlock
    - functionName:    realpath
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_protected_folder_add
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 579
      functionLinenumberEnd: 585
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          55
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - g_list_append
        - g_mutex_lock
        - g_mutex_unlock
        - g_strdup
        - janus_vprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:582,2'
          Dst:             g_mutex_lock
        - Src:             'utils.c:582,2'
          Dst:             janus_vprintf
        - Src:             'utils.c:582,2'
          Dst:             g_mutex_lock
        - Src:             'utils.c:583,55'
          Dst:             g_strdup
        - Src:             'utils.c:583,22'
          Dst:             g_list_append
        - Src:             'utils.c:584,2'
          Dst:             g_mutex_unlock
        - Src:             'utils.c:584,2'
          Dst:             janus_vprintf
        - Src:             'utils.c:584,2'
          Dst:             g_mutex_unlock
    - functionName:    janus_pidfile_remove
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 559
      functionLinenumberEnd: 573
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         24
      ICount:          120
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - close
        - fclose
        - flock
        - g_free
        - janus_vprintf
        - localtime_r
        - snprintf
        - strftime
        - time
        - unlink
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:563,5'
          Dst:             flock
        - Src:             'utils.c:564,3'
          Dst:             time
        - Src:             'utils.c:564,3'
          Dst:             localtime_r
        - Src:             'utils.c:564,3'
          Dst:             strftime
        - Src:             'utils.c:564,3'
          Dst:             snprintf
        - Src:             'utils.c:564,3'
          Dst:             janus_vprintf
        - Src:             'utils.c:565,3'
          Dst:             fclose
        - Src:             'utils.c:566,3'
          Dst:             close
        - Src:             'utils.c:569,2'
          Dst:             fclose
        - Src:             'utils.c:570,2'
          Dst:             unlink
        - Src:             'utils.c:571,2'
          Dst:             g_free
    - functionName:    flock
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    close
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    unlink
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_pidfile_create
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 520
      functionLinenumberEnd: 557
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         72
      ICount:          395
      EdgeCount:       93
      CyclomaticComplexity: 23
      functionsReached:
        - __errno_location
        - __isoc99_fscanf
        - close
        - fclose
        - fdopen
        - fflush
        - flock
        - fprintf
        - g_strdup
        - g_strerror
        - getpid
        - janus_vprintf
        - localtime_r
        - open
        - snprintf
        - strftime
        - time
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:523,12'
          Dst:             g_strdup
        - Src:             'utils.c:525,10'
          Dst:             open
        - Src:             'utils.c:527,3'
          Dst:             time
        - Src:             'utils.c:527,3'
          Dst:             localtime_r
        - Src:             'utils.c:527,3'
          Dst:             strftime
        - Src:             'utils.c:527,3'
          Dst:             snprintf
        - Src:             'utils.c:527,3'
          Dst:             janus_vprintf
        - Src:             'utils.c:530,9'
          Dst:             fdopen
        - Src:             'utils.c:532,3'
          Dst:             time
        - Src:             'utils.c:532,3'
          Dst:             localtime_r
        - Src:             'utils.c:532,3'
          Dst:             strftime
        - Src:             'utils.c:532,3'
          Dst:             snprintf
        - Src:             'utils.c:532,3'
          Dst:             janus_vprintf
        - Src:             'utils.c:533,3'
          Dst:             close
        - Src:             'utils.c:538,5'
          Dst:             flock
        - Src:             'utils.c:539,6'
          Dst:             __isoc99_fscanf
        - Src:             'utils.c:540,4'
          Dst:             time
        - Src:             'utils.c:540,4'
          Dst:             localtime_r
        - Src:             'utils.c:540,4'
          Dst:             strftime
        - Src:             'utils.c:540,4'
          Dst:             snprintf
        - Src:             'utils.c:540,4'
          Dst:             janus_vprintf
        - Src:             'utils.c:542,4'
          Dst:             time
        - Src:             'utils.c:542,4'
          Dst:             localtime_r
        - Src:             'utils.c:542,4'
          Dst:             strftime
        - Src:             'utils.c:542,4'
          Dst:             snprintf
        - Src:             'utils.c:542,4'
          Dst:             janus_vprintf
        - Src:             'utils.c:544,3'
          Dst:             fclose
        - Src:             'utils.c:548,8'
          Dst:             getpid
        - Src:             'utils.c:549,5'
          Dst:             fprintf
        - Src:             'utils.c:550,3'
          Dst:             time
        - Src:             'utils.c:550,3'
          Dst:             localtime_r
        - Src:             'utils.c:550,3'
          Dst:             strftime
        - Src:             'utils.c:550,3'
          Dst:             snprintf
        - Src:             'utils.c:550,3'
          Dst:             __errno_location
        - Src:             'utils.c:550,3'
          Dst:             __errno_location
        - Src:             'utils.c:550,3'
          Dst:             g_strerror
        - Src:             'utils.c:550,3'
          Dst:             janus_vprintf
        - Src:             'utils.c:551,3'
          Dst:             fclose
        - Src:             'utils.c:554,2'
          Dst:             fflush
    - functionName:    open
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fdopen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __isoc99_fscanf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getpid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_get_codec_from_pt
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 455
      functionLinenumberEnd: 514
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         107
      ICount:          439
      EdgeCount:       147
      CyclomaticComplexity: 42
      functionsReached:
        - __isoc99_sscanf
        - g_snprintf
        - janus_vprintf
        - localtime_r
        - snprintf
        - strchr
        - strftime
        - strstr
        - time
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:466,2'
          Dst:             g_snprintf
        - Src:             'utils.c:467,21'
          Dst:             strstr
        - Src:             'utils.c:469,16'
          Dst:             strchr
        - Src:             'utils.c:472,7'
          Dst:             strstr
        - Src:             'utils.c:475,8'
          Dst:             __isoc99_sscanf
        - Src:             'utils.c:477,9'
          Dst:             strstr
        - Src:             'utils.c:477,32'
          Dst:             strstr
        - Src:             'utils.c:479,9'
          Dst:             strstr
        - Src:             'utils.c:479,32'
          Dst:             strstr
        - Src:             'utils.c:481,9'
          Dst:             strstr
        - Src:             'utils.c:481,33'
          Dst:             strstr
        - Src:             'utils.c:483,9'
          Dst:             strstr
        - Src:             'utils.c:483,32'
          Dst:             strstr
        - Src:             'utils.c:485,9'
          Dst:             strstr
        - Src:             'utils.c:485,33'
          Dst:             strstr
        - Src:             'utils.c:487,9'
          Dst:             strstr
        - Src:             'utils.c:487,33'
          Dst:             strstr
        - Src:             'utils.c:489,9'
          Dst:             strstr
        - Src:             'utils.c:489,33'
          Dst:             strstr
        - Src:             'utils.c:491,9'
          Dst:             strstr
        - Src:             'utils.c:491,33'
          Dst:             strstr
        - Src:             'utils.c:493,9'
          Dst:             strstr
        - Src:             'utils.c:493,33'
          Dst:             strstr
        - Src:             'utils.c:495,9'
          Dst:             strstr
        - Src:             'utils.c:495,36'
          Dst:             strstr
        - Src:             'utils.c:497,9'
          Dst:             strstr
        - Src:             'utils.c:497,36'
          Dst:             strstr
        - Src:             'utils.c:499,9'
          Dst:             strstr
        - Src:             'utils.c:499,35'
          Dst:             strstr
        - Src:             'utils.c:501,9'
          Dst:             strstr
        - Src:             'utils.c:501,35'
          Dst:             strstr
        - Src:             'utils.c:503,9'
          Dst:             strstr
        - Src:             'utils.c:505,6'
          Dst:             time
        - Src:             'utils.c:505,6'
          Dst:             localtime_r
        - Src:             'utils.c:505,6'
          Dst:             strftime
        - Src:             'utils.c:505,6'
          Dst:             snprintf
        - Src:             'utils.c:505,6'
          Dst:             janus_vprintf
    - functionName:    janus_get_codec_pt
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 453
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         102
      ICount:          474
      EdgeCount:       136
      CyclomaticComplexity: 36
      functionsReached:
        - __isoc99_sscanf
        - g_snprintf
        - janus_vprintf
        - localtime_r
        - snprintf
        - strcasecmp
        - strchr
        - strftime
        - strstr
        - time
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:354,6'
          Dst:             strcasecmp
        - Src:             'utils.c:358,13'
          Dst:             strcasecmp
        - Src:             'utils.c:363,13'
          Dst:             strcasecmp
        - Src:             'utils.c:368,13'
          Dst:             strcasecmp
        - Src:             'utils.c:373,13'
          Dst:             strcasecmp
        - Src:             'utils.c:377,13'
          Dst:             strcasecmp
        - Src:             'utils.c:381,13'
          Dst:             strcasecmp
        - Src:             'utils.c:385,13'
          Dst:             strcasecmp
        - Src:             'utils.c:389,13'
          Dst:             strcasecmp
        - Src:             'utils.c:393,13'
          Dst:             strcasecmp
        - Src:             'utils.c:397,13'
          Dst:             strcasecmp
        - Src:             'utils.c:401,13'
          Dst:             strcasecmp
        - Src:             'utils.c:405,13'
          Dst:             strcasecmp
        - Src:             'utils.c:410,3'
          Dst:             time
        - Src:             'utils.c:410,3'
          Dst:             localtime_r
        - Src:             'utils.c:410,3'
          Dst:             strftime
        - Src:             'utils.c:410,3'
          Dst:             snprintf
        - Src:             'utils.c:410,3'
          Dst:             janus_vprintf
        - Src:             'utils.c:415,7'
          Dst:             strstr
        - Src:             'utils.c:415,35'
          Dst:             strstr
        - Src:             'utils.c:415,59'
          Dst:             strstr
        - Src:             'utils.c:418,7'
          Dst:             strstr
        - Src:             'utils.c:418,35'
          Dst:             strstr
        - Src:             'utils.c:418,59'
          Dst:             strstr
        - Src:             'utils.c:422,2'
          Dst:             g_snprintf
        - Src:             'utils.c:423,2'
          Dst:             g_snprintf
        - Src:             'utils.c:425,21'
          Dst:             strstr
        - Src:             'utils.c:427,16'
          Dst:             strchr
        - Src:             'utils.c:430,7'
          Dst:             strstr
        - Src:             'utils.c:430,35'
          Dst:             strstr
        - Src:             'utils.c:435,8'
          Dst:             __isoc99_sscanf
        - Src:             'utils.c:439,14'
          Dst:             strstr
        - Src:             'utils.c:439,42'
          Dst:             strstr
        - Src:             'utils.c:442,8'
          Dst:             __isoc99_sscanf
    - functionName:    janus_make_absolute_path
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 339
      functionLinenumberEnd: 347
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          53
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - g_build_filename
        - g_path_is_absolute
        - g_strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:342,5'
          Dst:             g_path_is_absolute
        - Src:             'utils.c:343,10'
          Dst:             g_strdup
        - Src:             'utils.c:346,9'
          Dst:             g_build_filename
    - functionName:    g_path_is_absolute
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    g_build_filename
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_mkdir
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 312
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          196
      EdgeCount:       45
      CyclomaticComplexity: 12
      functionsReached:
        - __errno_location
        - g_snprintf
        - janus_vprintf
        - localtime_r
        - mkdir
        - snprintf
        - strftime
        - strlen
        - time
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:318,2'
          Dst:             g_snprintf
        - Src:             'utils.c:319,8'
          Dst:             strlen
        - Src:             'utils.c:325,10'
          Dst:             mkdir
        - Src:             'utils.c:326,19'
          Dst:             __errno_location
        - Src:             'utils.c:327,5'
          Dst:             time
        - Src:             'utils.c:327,5'
          Dst:             localtime_r
        - Src:             'utils.c:327,5'
          Dst:             strftime
        - Src:             'utils.c:327,5'
          Dst:             snprintf
        - Src:             'utils.c:327,5'
          Dst:             janus_vprintf
        - Src:             'utils.c:333,8'
          Dst:             mkdir
        - Src:             'utils.c:334,17'
          Dst:             __errno_location
    - functionName:    mkdir
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_strlcat_fast
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 291
      functionLinenumberEnd: 310
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          279
      EdgeCount:       62
      CyclomaticComplexity: 16
      functionsReached:
        - janus_vprintf
        - localtime_r
        - memccpy
        - snprintf
        - strftime
        - strlen
        - time
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:293,3'
          Dst:             time
        - Src:             'utils.c:293,3'
          Dst:             localtime_r
        - Src:             'utils.c:293,3'
          Dst:             strftime
        - Src:             'utils.c:293,3'
          Dst:             snprintf
        - Src:             'utils.c:293,3'
          Dst:             janus_vprintf
        - Src:             'utils.c:297,3'
          Dst:             time
        - Src:             'utils.c:297,3'
          Dst:             localtime_r
        - Src:             'utils.c:297,3'
          Dst:             strftime
        - Src:             'utils.c:297,3'
          Dst:             snprintf
        - Src:             'utils.c:297,3'
          Dst:             janus_vprintf
        - Src:             'utils.c:300,12'
          Dst:             memccpy
        - Src:             'utils.c:302,3'
          Dst:             time
        - Src:             'utils.c:302,3'
          Dst:             localtime_r
        - Src:             'utils.c:302,3'
          Dst:             strftime
        - Src:             'utils.c:302,3'
          Dst:             snprintf
        - Src:             'utils.c:302,3'
          Dst:             strlen
        - Src:             'utils.c:302,3'
          Dst:             janus_vprintf
    - functionName:    memccpy
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_string_replace
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 282
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          310
      EdgeCount:       50
      CyclomaticComplexity: 15
      functionsReached:
        - g_free
        - g_realloc
        - g_strdup
        - strcmp
        - strlen
        - strstr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:220,6'
          Dst:             strstr
        - Src:             'utils.c:223,6'
          Dst:             strcmp
        - Src:             'utils.c:226,5'
          Dst:             strlen
        - Src:             'utils.c:226,27'
          Dst:             strlen
        - Src:             'utils.c:228,15'
          Dst:             strstr
        - Src:             'utils.c:230,28'
          Dst:             strlen
        - Src:             'utils.c:231,11'
          Dst:             strlen
        - Src:             'utils.c:232,10'
          Dst:             strstr
        - Src:             'utils.c:237,20'
          Dst:             g_strdup
        - Src:             'utils.c:238,3'
          Dst:             g_free
        - Src:             'utils.c:242,14'
          Dst:             strlen
        - Src:             'utils.c:242,35'
          Dst:             strlen
        - Src:             'utils.c:245,15'
          Dst:             strstr
        - Src:             'utils.c:248,11'
          Dst:             strlen
        - Src:             'utils.c:249,10'
          Dst:             strstr
        - Src:             'utils.c:252,28'
          Dst:             strlen
        - Src:             'utils.c:254,10'
          Dst:             g_realloc
        - Src:             'utils.c:258,9'
          Dst:             strstr
        - Src:             'utils.c:261,20'
          Dst:             strlen
        - Src:             'utils.c:263,29'
          Dst:             strlen
        - Src:             'utils.c:264,12'
          Dst:             strlen
        - Src:             'utils.c:265,11'
          Dst:             strstr
        - Src:             'utils.c:267,20'
          Dst:             strlen
        - Src:             'utils.c:269,29'
          Dst:             strlen
        - Src:             'utils.c:270,12'
          Dst:             strlen
        - Src:             'utils.c:271,11'
          Dst:             strstr
        - Src:             'utils.c:276,10'
          Dst:             g_realloc
        - Src:             'utils.c:279,12'
          Dst:             strlen
    - functionName:    janus_flags_is_set
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          43
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_flags_clear
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          35
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_flags_set
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_flags_reset
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_string_to_uint32
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          64
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - strtoll
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:182,22'
          Dst:             strtoll
    - functionName:    strtoll
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_string_to_uint16
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 177
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          64
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - strtol
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:172,17'
          Dst:             strtol
    - functionName:    strtol
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_string_to_uint8
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          64
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - strtol
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:162,17'
          Dst:             strtol
    - functionName:    janus_uint64_hash
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          24
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_uint64_dup
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - g_malloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:147,20'
          Dst:             g_malloc
    - functionName:    janus_random_uuid
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - g_uuid_string_random
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:109,9'
          Dst:             g_uuid_string_random
    - functionName:    g_uuid_string_random
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_random_uint64
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - janus_random_uint64_full
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:104,9'
          Dst:             janus_random_uint64_full
    - functionName:    janus_random_uint64_full
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         17
      ICount:          92
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - RAND_bytes
        - g_random_int
        - janus_vprintf
        - localtime_r
        - strftime
        - time
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:96,5'
          Dst:             RAND_bytes
        - Src:             'utils.c:97,3'
          Dst:             time
        - Src:             'utils.c:97,3'
          Dst:             localtime_r
        - Src:             'utils.c:97,3'
          Dst:             strftime
        - Src:             'utils.c:97,3'
          Dst:             janus_vprintf
        - Src:             'utils.c:98,20'
          Dst:             g_random_int
        - Src:             'utils.c:98,44'
          Dst:             g_random_int
    - functionName:    g_random_int
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_random_uint32
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         17
      ICount:          87
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - RAND_bytes
        - g_random_int
        - janus_vprintf
        - localtime_r
        - strftime
        - time
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:87,5'
          Dst:             RAND_bytes
        - Src:             'utils.c:88,3'
          Dst:             time
        - Src:             'utils.c:88,3'
          Dst:             localtime_r
        - Src:             'utils.c:88,3'
          Dst:             strftime
        - Src:             'utils.c:88,3'
          Dst:             janus_vprintf
        - Src:             'utils.c:89,10'
          Dst:             g_random_int
    - functionName:    janus_strcmp_const_time
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          131
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - g_free
        - g_malloc0
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:66,18'
          Dst:             strlen
        - Src:             'utils.c:67,5'
          Dst:             strlen
        - Src:             'utils.c:68,12'
          Dst:             strlen
        - Src:             'utils.c:69,24'
          Dst:             g_malloc0
        - Src:             'utils.c:70,24'
          Dst:             strlen
        - Src:             'utils.c:71,24'
          Dst:             g_malloc0
        - Src:             'utils.c:72,24'
          Dst:             strlen
        - Src:             'utils.c:78,2'
          Dst:             g_free
        - Src:             'utils.c:80,2'
          Dst:             g_free
    - functionName:    janus_is_true
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          51
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - strcasecmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:58,20'
          Dst:             strcasecmp
        - Src:             'utils.c:58,49'
          Dst:             strcasecmp
        - Src:             'utils.c:58,79'
          Dst:             strcasecmp
    - functionName:    janus_get_real_time
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - clock_gettime
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:53,2'
          Dst:             clock_gettime
    - functionName:    clock_gettime
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    janus_get_monotonic_time
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - janus_get_monotonic_time_internal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:48,9'
          Dst:             janus_get_monotonic_time_internal
    - functionName:    janus_get_monotonic_time_internal
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 38
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - clock_gettime
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:37,2'
          Dst:             clock_gettime
    - functionName:    janus_mark_started
      functionSourceFile: '/src/janus-gateway/src/utils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          25
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - janus_get_monotonic_time_internal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'utils.c:44,19'
          Dst:             janus_get_monotonic_time_internal
...
