正在显示
7 个修改的文件
包含
35 行增加
和
6 行删除
@@ -61,4 +61,9 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | @@ -61,4 +61,9 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
61 | } \ | 61 | } \ |
62 | (void)0 | 62 | (void)0 |
63 | 63 | ||
64 | +// server info. | ||
65 | +#define RTMP_SIG_SRS_NAME "srs(simple rtmp server)" | ||
66 | +#define RTMP_SIG_SRS_URL "https://github.com/winlinvip/simple-rtmp-server" | ||
67 | +#define RTMP_SIG_SRS_VERSION "0.1" | ||
68 | + | ||
64 | #endif | 69 | #endif |
@@ -238,7 +238,7 @@ int SrsClient::streaming_publish(SrsSource* source) | @@ -238,7 +238,7 @@ int SrsClient::streaming_publish(SrsSource* source) | ||
238 | SrsPacket* pkt = msg->get_packet(); | 238 | SrsPacket* pkt = msg->get_packet(); |
239 | if (dynamic_cast<SrsOnMetaDataPacket*>(pkt)) { | 239 | if (dynamic_cast<SrsOnMetaDataPacket*>(pkt)) { |
240 | SrsOnMetaDataPacket* metadata = dynamic_cast<SrsOnMetaDataPacket*>(pkt); | 240 | SrsOnMetaDataPacket* metadata = dynamic_cast<SrsOnMetaDataPacket*>(pkt); |
241 | - if ((ret = source->on_meta_data(metadata)) != ERROR_SUCCESS) { | 241 | + if ((ret = source->on_meta_data(msg, metadata)) != ERROR_SUCCESS) { |
242 | srs_error("process onMetaData message failed. ret=%d", ret); | 242 | srs_error("process onMetaData message failed. ret=%d", ret); |
243 | return ret; | 243 | return ret; |
244 | } | 244 | } |
@@ -1089,6 +1089,14 @@ int SrsMessage::encode_packet() | @@ -1089,6 +1089,14 @@ int SrsMessage::encode_packet() | ||
1089 | return packet->encode(size, (char*&)payload); | 1089 | return packet->encode(size, (char*&)payload); |
1090 | } | 1090 | } |
1091 | 1091 | ||
1092 | +SrsSharedMessage::SrsSharedMessage() | ||
1093 | +{ | ||
1094 | +} | ||
1095 | + | ||
1096 | +SrsSharedMessage::~SrsSharedMessage() | ||
1097 | +{ | ||
1098 | +} | ||
1099 | + | ||
1092 | SrsPacket::SrsPacket() | 1100 | SrsPacket::SrsPacket() |
1093 | { | 1101 | { |
1094 | } | 1102 | } |
@@ -285,6 +285,17 @@ public: | @@ -285,6 +285,17 @@ public: | ||
285 | }; | 285 | }; |
286 | 286 | ||
287 | /** | 287 | /** |
288 | +* shared ptr message. | ||
289 | +* for audio/video/data message that need less memory copy. | ||
290 | +*/ | ||
291 | +class SrsSharedMessage : public SrsMessage | ||
292 | +{ | ||
293 | +public: | ||
294 | + SrsSharedMessage(); | ||
295 | + virtual ~SrsSharedMessage(); | ||
296 | +}; | ||
297 | + | ||
298 | +/** | ||
288 | * the decoded message payload. | 299 | * the decoded message payload. |
289 | */ | 300 | */ |
290 | class SrsPacket | 301 | class SrsPacket |
@@ -35,11 +35,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | @@ -35,11 +35,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
35 | */ | 35 | */ |
36 | #define RTMP_SIG_FMS_VER "3,5,3,888" | 36 | #define RTMP_SIG_FMS_VER "3,5,3,888" |
37 | #define RTMP_SIG_AMF0_VER 0 | 37 | #define RTMP_SIG_AMF0_VER 0 |
38 | -#define RTMP_SIG_SRS_NAME "srs(simple rtmp server)" | ||
39 | -#define RTMP_SIG_SRS_URL "https://github.com/winlinvip/simple-rtmp-server" | ||
40 | -#define RTMP_SIG_SRS_VERSION "0.1" | ||
41 | #define RTMP_SIG_CLIENT_ID "ASAICiss" | 38 | #define RTMP_SIG_CLIENT_ID "ASAICiss" |
42 | 39 | ||
40 | +/** | ||
41 | +* onStatus consts. | ||
42 | +*/ | ||
43 | #define StatusLevel "level" | 43 | #define StatusLevel "level" |
44 | #define StatusCode "code" | 44 | #define StatusCode "code" |
45 | #define StatusDescription "description" | 45 | #define StatusDescription "description" |
@@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | @@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
25 | 25 | ||
26 | #include <srs_core_log.hpp> | 26 | #include <srs_core_log.hpp> |
27 | #include <srs_core_protocol.hpp> | 27 | #include <srs_core_protocol.hpp> |
28 | +#include <srs_core_amf0.hpp> | ||
28 | 29 | ||
29 | std::map<std::string, SrsSource*> SrsSource::pool; | 30 | std::map<std::string, SrsSource*> SrsSource::pool; |
30 | 31 | ||
@@ -64,9 +65,13 @@ SrsSource::~SrsSource() | @@ -64,9 +65,13 @@ SrsSource::~SrsSource() | ||
64 | { | 65 | { |
65 | } | 66 | } |
66 | 67 | ||
67 | -int SrsSource::on_meta_data(SrsOnMetaDataPacket* metadata) | 68 | +int SrsSource::on_meta_data(SrsMessage* msg, SrsOnMetaDataPacket* metadata) |
68 | { | 69 | { |
69 | int ret = ERROR_SUCCESS; | 70 | int ret = ERROR_SUCCESS; |
71 | + | ||
72 | + metadata->metadata->set("server", | ||
73 | + new SrsAmf0String(RTMP_SIG_SRS_NAME""RTMP_SIG_SRS_VERSION)); | ||
74 | + | ||
70 | return ret; | 75 | return ret; |
71 | } | 76 | } |
72 | 77 |
@@ -75,7 +75,7 @@ public: | @@ -75,7 +75,7 @@ public: | ||
75 | SrsSource(std::string _stream_url); | 75 | SrsSource(std::string _stream_url); |
76 | virtual ~SrsSource(); | 76 | virtual ~SrsSource(); |
77 | public: | 77 | public: |
78 | - virtual int on_meta_data(SrsOnMetaDataPacket* metadata); | 78 | + virtual int on_meta_data(SrsMessage* msg, SrsOnMetaDataPacket* metadata); |
79 | virtual int on_audio(SrsMessage* audio); | 79 | virtual int on_audio(SrsMessage* audio); |
80 | virtual int on_video(SrsMessage* video); | 80 | virtual int on_video(SrsMessage* video); |
81 | public: | 81 | public: |
-
请 注册 或 登录 后发表评论