正在显示
4 个修改的文件
包含
35 行增加
和
1 行删除
| @@ -2656,6 +2656,29 @@ string SrsConfig::get_vhost_http_dir(string vhost) | @@ -2656,6 +2656,29 @@ string SrsConfig::get_vhost_http_dir(string vhost) | ||
| 2656 | return conf->arg0(); | 2656 | return conf->arg0(); |
| 2657 | } | 2657 | } |
| 2658 | 2658 | ||
| 2659 | +void SrsConfig::set_atc(std::string vhost, bool atc) | ||
| 2660 | +{ | ||
| 2661 | + SrsConfDirective* conf = get_vhost(vhost); | ||
| 2662 | + if (!conf) { | ||
| 2663 | + return; | ||
| 2664 | + } | ||
| 2665 | + | ||
| 2666 | + // create if not exists | ||
| 2667 | + if (conf->get("atc") == NULL) { | ||
| 2668 | + SrsConfDirective* o = new SrsConfDirective(); | ||
| 2669 | + o->name = "atc"; | ||
| 2670 | + conf->directives.push_back(o); | ||
| 2671 | + } | ||
| 2672 | + | ||
| 2673 | + // get the atc node | ||
| 2674 | + conf = conf->get("atc"); | ||
| 2675 | + srs_assert(conf); | ||
| 2676 | + | ||
| 2677 | + // refresh | ||
| 2678 | + conf->directives.clear(); | ||
| 2679 | + conf->args.push_back((atc? "true":"false")); | ||
| 2680 | +} | ||
| 2681 | + | ||
| 2659 | bool srs_directive_equals(SrsConfDirective* a, SrsConfDirective* b) | 2682 | bool srs_directive_equals(SrsConfDirective* a, SrsConfDirective* b) |
| 2660 | { | 2683 | { |
| 2661 | // both NULL, equal. | 2684 | // both NULL, equal. |
| @@ -269,6 +269,9 @@ public: | @@ -269,6 +269,9 @@ public: | ||
| 269 | virtual bool get_vhost_http_enabled(std::string vhost); | 269 | virtual bool get_vhost_http_enabled(std::string vhost); |
| 270 | virtual std::string get_vhost_http_mount(std::string vhost); | 270 | virtual std::string get_vhost_http_mount(std::string vhost); |
| 271 | virtual std::string get_vhost_http_dir(std::string vhost); | 271 | virtual std::string get_vhost_http_dir(std::string vhost); |
| 272 | +// setter in memory | ||
| 273 | +public: | ||
| 274 | + virtual void set_atc(std::string vhost, bool atc); | ||
| 272 | }; | 275 | }; |
| 273 | 276 | ||
| 274 | /** | 277 | /** |
| @@ -822,6 +822,14 @@ int SrsSource::on_meta_data(SrsMessage* msg, SrsOnMetaDataPacket* metadata) | @@ -822,6 +822,14 @@ int SrsSource::on_meta_data(SrsMessage* msg, SrsOnMetaDataPacket* metadata) | ||
| 822 | } | 822 | } |
| 823 | } | 823 | } |
| 824 | 824 | ||
| 825 | + // if bravo-atc, open atc for vhost. | ||
| 826 | + if ((prop = metadata->metadata->get_property("bravo_atc")) != NULL) { | ||
| 827 | + if (prop->is_string() && prop->to_str() == "true") { | ||
| 828 | + atc = true; | ||
| 829 | + _srs_config->set_atc(_req->vhost, true); | ||
| 830 | + } | ||
| 831 | + } | ||
| 832 | + | ||
| 825 | // encode the metadata to payload | 833 | // encode the metadata to payload |
| 826 | int size = 0; | 834 | int size = 0; |
| 827 | char* payload = NULL; | 835 | char* payload = NULL; |
| @@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | @@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
| 31 | // current release version | 31 | // current release version |
| 32 | #define VERSION_MAJOR "0" | 32 | #define VERSION_MAJOR "0" |
| 33 | #define VERSION_MINOR "9" | 33 | #define VERSION_MINOR "9" |
| 34 | -#define VERSION_REVISION "82" | 34 | +#define VERSION_REVISION "83" |
| 35 | #define RTMP_SIG_SRS_VERSION VERSION_MAJOR"."VERSION_MINOR"."VERSION_REVISION | 35 | #define RTMP_SIG_SRS_VERSION VERSION_MAJOR"."VERSION_MINOR"."VERSION_REVISION |
| 36 | // server info. | 36 | // server info. |
| 37 | #define RTMP_SIG_SRS_KEY "srs" | 37 | #define RTMP_SIG_SRS_KEY "srs" |
-
请 注册 或 登录 后发表评论