# Source: util/codecs.js

    /**
     * @file - codecs.js - Handles tasks regarding codec strings such as translating them to
     * codec strings, or translating codec strings into objects that can be examined.
     */

    /**
     * Parses a codec string to retrieve the number of codecs specified,
     * the video codec and object type indicator, and the audio profile.
     */

    export const parseCodecs = function(codecs = '') {
      let result = {
        codecCount: 0
      };
      let parsed;

      result.codecCount = codecs.split(',').length;
      result.codecCount = result.codecCount || 2;

      // parse the video codec
      parsed = (/(^|\s|,)+(avc1)([^ ,]*)/i).exec(codecs);
      if (parsed) {
        result.videoCodec = parsed[2];
        result.videoObjectTypeIndicator = parsed[3];
      }

      // parse the last field of the audio codec
      result.audioProfile =
        (/(^|\s|,)+mp4a.[0-9A-Fa-f]+\.([0-9A-Fa-f]+)/i).exec(codecs);
      result.audioProfile = result.audioProfile && result.audioProfile[2];

      return result;
    };