{"version":3,"sources":["jsdelivr-header.js","/npm/@kappador/media-server@2.7.4/src/node_media_server.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACAA,MAAM,MAAQ,QAAQ,SAChB,OAAS,QAAQ,sBACjB,eAAiB,QAAQ,sBACzB,eAAiB,QAAQ,sBACzB,gBAAkB,QAAQ,uBAC1B,gBAAkB,QAAQ,uBAC1B,kBAAoB,QAAQ,yBAC5B,QAAU,QAAQ,mBAClB,QAAU,QAAQ,mBAExB,MAAM,gBACJ,WAAA,CAAY,GACV,KAAK,OAAS,CAChB,CAEA,GAAA,GACE,OAAO,WAAW,KAAK,OAAO,SAC9B,OAAO,IAAI,sBAAsB,QAAQ,WACrC,KAAK,OAAO,OACd,KAAK,IAAM,IAAI,eAAe,KAAK,QACnC,KAAK,IAAI,OAGP,KAAK,OAAO,OACd,KAAK,IAAM,IAAI,eAAe,KAAK,QACnC,KAAK,IAAI,OAGP,KAAK,OAAO,QACV,KAAK,OAAO,QACd,OAAO,IAAI,kDAEX,KAAK,IAAM,IAAI,gBAAgB,KAAK,QACpC,KAAK,IAAI,QAIT,KAAK,OAAO,QACV,KAAK,OAAO,QACd,OAAO,IAAI,kDAEX,KAAK,IAAM,IAAI,gBAAgB,KAAK,QACpC,KAAK,IAAI,QAIT,KAAK,OAAO,UACV,KAAK,OAAO,QACd,OAAO,IAAI,oDAEX,KAAK,IAAM,IAAI,kBAAkB,KAAK,QACtC,KAAK,IAAI,QAIb,QAAQ,GAAG,qBAAqB,SAAU,GACxC,OAAO,MAAM,oBAAqB,EACpC,IAEA,QAAQ,GAAG,UAAU,WACnB,QAAQ,MACV,GAEF,CAEA,EAAA,CAAG,EAAW,GACZ,QAAQ,UAAU,GAAG,EAAW,EAClC,CAEA,IAAA,GACM,KAAK,KACP,KAAK,IAAI,OAEP,KAAK,KACP,KAAK,IAAI,OAEP,KAAK,KACP,KAAK,IAAI,OAEP,KAAK,KACP,KAAK,IAAI,MAEb,CAEA,UAAA,CAAW,GACT,OAAO,QAAQ,SAAS,IAAI,EAC9B,EAGF,OAAO,QAAU","file":"/npm/@kappador/media-server@2.7.4/src/node_media_server.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@kappador/media-server@2.7.4/src/node_media_server.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","//\n//  Created by Mingliang Chen on 17/8/1.\n//  illuspas[a]gmail.com\n//  Copyright (c) 2018 Nodemedia. All rights reserved.\n//\n\nconst Https = require('https');\nconst Logger = require('./node_core_logger');\nconst NodeRtmpServer = require('./node_rtmp_server');\nconst NodeHttpServer = require('./node_http_server');\nconst NodeTransServer = require('./node_trans_server');\nconst NodeRelayServer = require('./node_relay_server');\nconst NodeFissionServer = require('./node_fission_server');\nconst context = require('./node_core_ctx');\nconst Package = require('../package.json');\n\nclass NodeMediaServer {\n  constructor(config) {\n    this.config = config;\n  }\n\n  run() {\n    Logger.setLogType(this.config.logType);\n    Logger.log(`Node Media Server v${Package.version}`);\n    if (this.config.rtmp) {\n      this.nrs = new NodeRtmpServer(this.config);\n      this.nrs.run();\n    }\n\n    if (this.config.http) {\n      this.nhs = new NodeHttpServer(this.config);\n      this.nhs.run();\n    }\n\n    if (this.config.trans) {\n      if (this.config.cluster) {\n        Logger.log('NodeTransServer does not work in cluster mode');\n      } else {\n        this.nts = new NodeTransServer(this.config);\n        this.nts.run();\n      }\n    }\n\n    if (this.config.relay) {\n      if (this.config.cluster) {\n        Logger.log('NodeRelayServer does not work in cluster mode');\n      } else {\n        this.nls = new NodeRelayServer(this.config);\n        this.nls.run();\n      }\n    }\n\n    if (this.config.fission) {\n      if (this.config.cluster) {\n        Logger.log('NodeFissionServer does not work in cluster mode');\n      } else {\n        this.nfs = new NodeFissionServer(this.config);\n        this.nfs.run();\n      }\n    }\n\n    process.on('uncaughtException', function (err) {\n      Logger.error('uncaughtException', err);\n    });\n\n    process.on('SIGINT', function() {\n      process.exit();\n    });\n\n  }\n\n  on(eventName, listener) {\n    context.nodeEvent.on(eventName, listener);\n  }\n\n  stop() {\n    if (this.nrs) {\n      this.nrs.stop();\n    }\n    if (this.nhs) {\n      this.nhs.stop();\n    }\n    if (this.nls) {\n      this.nls.stop();\n    }\n    if (this.nfs) {\n      this.nfs.stop();\n    }\n  }\n\n  getSession(id) {\n    return context.sessions.get(id);\n  }\n}\n\nmodule.exports = NodeMediaServer;"]}