update the signature, when connect to server, parse the response.
正在显示
6 个修改的文件
包含
28 行增加
和
2 行删除
| @@ -90,7 +90,7 @@ function srs_get_player_width() { return srs_get_player_modal() - 30; } | @@ -90,7 +90,7 @@ function srs_get_player_width() { return srs_get_player_modal() - 30; } | ||
| 90 | function srs_get_player_height() { return srs_get_player_width() * 9 / 19; } | 90 | function srs_get_player_height() { return srs_get_player_width() * 9 / 19; } |
| 91 | 91 | ||
| 92 | // to query the swf anti cache. | 92 | // to query the swf anti cache. |
| 93 | -function srs_get_version_code() { return "1.0"; } | 93 | +function srs_get_version_code() { return "1.1"; } |
| 94 | 94 | ||
| 95 | /** | 95 | /** |
| 96 | * initialize the page. | 96 | * initialize the page. |
| @@ -293,6 +293,18 @@ package | @@ -293,6 +293,18 @@ package | ||
| 293 | this.media_conn.addEventListener(NetStatusEvent.NET_STATUS, function(evt:NetStatusEvent):void { | 293 | this.media_conn.addEventListener(NetStatusEvent.NET_STATUS, function(evt:NetStatusEvent):void { |
| 294 | trace ("NetConnection: code=" + evt.info.code); | 294 | trace ("NetConnection: code=" + evt.info.code); |
| 295 | 295 | ||
| 296 | + if (evt.info.hasOwnProperty("data") && evt.info.data) { | ||
| 297 | + // for context menu | ||
| 298 | + var customItems:Array = [new ContextMenuItem("SrsPlayer")]; | ||
| 299 | + if (evt.info.data.hasOwnProperty("srs_server")) { | ||
| 300 | + customItems.push(new ContextMenuItem("Server: " + evt.info.data.srs_server)); | ||
| 301 | + } | ||
| 302 | + if (evt.info.data.hasOwnProperty("srs_contributor")) { | ||
| 303 | + customItems.push(new ContextMenuItem("Contributor: " + evt.info.data.srs_contributor)); | ||
| 304 | + } | ||
| 305 | + contextMenu.customItems = customItems; | ||
| 306 | + } | ||
| 307 | + | ||
| 296 | // TODO: FIXME: failed event. | 308 | // TODO: FIXME: failed event. |
| 297 | if (evt.info.code != "NetConnection.Connect.Success") { | 309 | if (evt.info.code != "NetConnection.Connect.Success") { |
| 298 | return; | 310 | return; |
| @@ -14,6 +14,7 @@ package | @@ -14,6 +14,7 @@ package | ||
| 14 | import flash.net.NetConnection; | 14 | import flash.net.NetConnection; |
| 15 | import flash.net.NetStream; | 15 | import flash.net.NetStream; |
| 16 | import flash.ui.ContextMenu; | 16 | import flash.ui.ContextMenu; |
| 17 | + import flash.ui.ContextMenuItem; | ||
| 17 | import flash.utils.setTimeout; | 18 | import flash.utils.setTimeout; |
| 18 | 19 | ||
| 19 | public class srs_publisher extends Sprite | 20 | public class srs_publisher extends Sprite |
| @@ -159,6 +160,18 @@ package | @@ -159,6 +160,18 @@ package | ||
| 159 | this.media_conn.addEventListener(NetStatusEvent.NET_STATUS, function(evt:NetStatusEvent):void { | 160 | this.media_conn.addEventListener(NetStatusEvent.NET_STATUS, function(evt:NetStatusEvent):void { |
| 160 | trace ("NetConnection: code=" + evt.info.code); | 161 | trace ("NetConnection: code=" + evt.info.code); |
| 161 | 162 | ||
| 163 | + if (evt.info.hasOwnProperty("data") && evt.info.data) { | ||
| 164 | + // for context menu | ||
| 165 | + var customItems:Array = [new ContextMenuItem("SrsPlayer")]; | ||
| 166 | + if (evt.info.data.hasOwnProperty("srs_server")) { | ||
| 167 | + customItems.push(new ContextMenuItem("Server: " + evt.info.data.srs_server)); | ||
| 168 | + } | ||
| 169 | + if (evt.info.data.hasOwnProperty("srs_contributor")) { | ||
| 170 | + customItems.push(new ContextMenuItem("Contributor: " + evt.info.data.srs_contributor)); | ||
| 171 | + } | ||
| 172 | + contextMenu.customItems = customItems; | ||
| 173 | + } | ||
| 174 | + | ||
| 162 | // TODO: FIXME: failed event. | 175 | // TODO: FIXME: failed event. |
| 163 | if (evt.info.code != "NetConnection.Connect.Success") { | 176 | if (evt.info.code != "NetConnection.Connect.Success") { |
| 164 | return; | 177 | return; |
trunk/src/core/srs_core_rtmp.cpp
100644 → 100755
| @@ -595,7 +595,7 @@ int SrsRtmp::response_connect_app(SrsRequest* req) | @@ -595,7 +595,7 @@ int SrsRtmp::response_connect_app(SrsRequest* req) | ||
| 595 | pkt->info->set("data", data); | 595 | pkt->info->set("data", data); |
| 596 | 596 | ||
| 597 | data->set("srs_version", new SrsAmf0String(RTMP_SIG_FMS_VER)); | 597 | data->set("srs_version", new SrsAmf0String(RTMP_SIG_FMS_VER)); |
| 598 | - data->set("srs_server", new SrsAmf0String(RTMP_SIG_SRS_NAME)); | 598 | + data->set("srs_server", new SrsAmf0String(RTMP_SIG_SRS_KEY" "RTMP_SIG_SRS_VERSION" ("RTMP_SIG_SRS_URL_SHORT")")); |
| 599 | data->set("srs_license", new SrsAmf0String(RTMP_SIG_SRS_LICENSE)); | 599 | data->set("srs_license", new SrsAmf0String(RTMP_SIG_SRS_LICENSE)); |
| 600 | data->set("srs_role", new SrsAmf0String(RTMP_SIG_SRS_ROLE)); | 600 | data->set("srs_role", new SrsAmf0String(RTMP_SIG_SRS_ROLE)); |
| 601 | data->set("srs_url", new SrsAmf0String(RTMP_SIG_SRS_URL)); | 601 | data->set("srs_url", new SrsAmf0String(RTMP_SIG_SRS_URL)); |
| @@ -603,6 +603,7 @@ int SrsRtmp::response_connect_app(SrsRequest* req) | @@ -603,6 +603,7 @@ int SrsRtmp::response_connect_app(SrsRequest* req) | ||
| 603 | data->set("srs_site", new SrsAmf0String(RTMP_SIG_SRS_WEB)); | 603 | data->set("srs_site", new SrsAmf0String(RTMP_SIG_SRS_WEB)); |
| 604 | data->set("srs_email", new SrsAmf0String(RTMP_SIG_SRS_EMAIL)); | 604 | data->set("srs_email", new SrsAmf0String(RTMP_SIG_SRS_EMAIL)); |
| 605 | data->set("srs_copyright", new SrsAmf0String(RTMP_SIG_SRS_COPYRIGHT)); | 605 | data->set("srs_copyright", new SrsAmf0String(RTMP_SIG_SRS_COPYRIGHT)); |
| 606 | + data->set("srs_contributor", new SrsAmf0String(RTMP_SIG_SRS_CONTRIBUTOR)); | ||
| 606 | 607 | ||
| 607 | msg->set_packet(pkt, 0); | 608 | msg->set_packet(pkt, 0); |
| 608 | 609 |
-
请 注册 或 登录 后发表评论