Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
胡斌
/
srs
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
winlin
2014-03-08 13:57:08 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
cae8228b09fce36597044e42cad53a86f1a4999b
cae8228b
1 parent
57ce04ae
amf0 utest: remove class SrsAmf0String, use SrsAmf0Any instead
显示空白字符变更
内嵌
并排对比
正在显示
6 个修改的文件
包含
104 行增加
和
90 行删除
trunk/src/app/srs_app_bandwidth.cpp
trunk/src/app/srs_app_source.cpp
trunk/src/rtmp/srs_protocol_amf0.cpp
trunk/src/rtmp/srs_protocol_amf0.hpp
trunk/src/rtmp/srs_protocol_rtmp.cpp
trunk/src/utest/srs_utest_amf0.cpp
trunk/src/app/srs_app_bandwidth.cpp
查看文件 @
cae8228
...
...
@@ -276,7 +276,7 @@ int SrsBandwidth::check_play(
std
::
stringstream
seq
;
seq
<<
i
;
std
::
string
play_data
=
"SrS band check data from server's playing......"
;
pkt
->
data
->
set
(
seq
.
str
(),
new
SrsAmf0String
(
play_data
.
c_str
()));
pkt
->
data
->
set
(
seq
.
str
(),
SrsAmf0Any
::
str
(
play_data
.
c_str
()));
}
data_count
+=
2
;
...
...
trunk/src/app/srs_app_source.cpp
查看文件 @
cae8228
...
...
@@ -639,10 +639,8 @@ int SrsSource::on_meta_data(SrsCommonMessage* msg, SrsOnMetaDataPacket* metadata
}
#endif
metadata
->
metadata
->
set
(
"server"
,
new
SrsAmf0String
(
RTMP_SIG_SRS_KEY
" "
RTMP_SIG_SRS_VERSION
" ("
RTMP_SIG_SRS_URL_SHORT
")"
));
metadata
->
metadata
->
set
(
"contributor"
,
new
SrsAmf0String
(
RTMP_SIG_SRS_PRIMARY_AUTHROS
));
metadata
->
metadata
->
set
(
"server"
,
SrsAmf0Any
::
str
(
RTMP_SIG_SRS_KEY
" "
RTMP_SIG_SRS_VERSION
" ("
RTMP_SIG_SRS_URL_SHORT
")"
));
metadata
->
metadata
->
set
(
"contributor"
,
SrsAmf0Any
::
str
(
RTMP_SIG_SRS_PRIMARY_AUTHROS
));
SrsAmf0Any
*
prop
=
NULL
;
if
((
prop
=
metadata
->
metadata
->
get_property
(
"audiosamplerate"
))
!=
NULL
)
{
...
...
trunk/src/rtmp/srs_protocol_amf0.cpp
查看文件 @
cae8228
...
...
@@ -105,12 +105,23 @@ bool SrsAmf0Any::is_ecma_array()
return
marker
==
RTMP_AMF0_EcmaArray
;
}
std
::
string
SrsAmf0Any
::
to_str
()
{
__SrsAmf0String
*
o
=
srs_amf0_convert
<
__SrsAmf0String
>
(
this
);
return
o
->
value
;
}
bool
SrsAmf0Any
::
is_object_eof
()
{
return
marker
==
RTMP_AMF0_ObjectEnd
;
}
SrsAmf0String
::
SrsAmf0String
(
const
char
*
_value
)
SrsAmf0Any
*
SrsAmf0Any
::
str
(
const
char
*
value
)
{
return
new
__SrsAmf0String
(
value
);
}
__SrsAmf0String
::
__SrsAmf0String
(
const
char
*
_value
)
{
marker
=
RTMP_AMF0_String
;
if
(
_value
)
{
...
...
@@ -118,11 +129,11 @@ SrsAmf0String::SrsAmf0String(const char* _value)
}
}
SrsAmf0String
::~
SrsAmf0String
()
__SrsAmf0String
::~
__
SrsAmf0String
()
{
}
int
SrsAmf0String
::
size
()
int
__
SrsAmf0String
::
size
()
{
return
SrsAmf0Size
::
str
(
value
);
}
...
...
@@ -1035,8 +1046,8 @@ int srs_amf0_read_any(SrsStream* stream, SrsAmf0Any*& value)
if
((
ret
=
srs_amf0_read_string
(
stream
,
data
))
!=
ERROR_SUCCESS
)
{
return
ret
;
}
value
=
new
SrsAmf0String
();
srs_amf0_convert
<
SrsAmf0String
>
(
value
)
->
value
=
data
;
value
=
SrsAmf0Any
::
str
();
srs_amf0_convert
<
__SrsAmf0String
>
(
value
)
->
value
=
data
;
return
ret
;
}
case
RTMP_AMF0_Boolean
:
{
...
...
@@ -1109,7 +1120,7 @@ int srs_amf0_write_any(SrsStream* stream, SrsAmf0Any* value)
switch
(
value
->
marker
)
{
case
RTMP_AMF0_String
:
{
std
::
string
data
=
srs_amf0_convert
<
SrsAmf0String
>
(
value
)
->
value
;
std
::
string
data
=
srs_amf0_convert
<
__
SrsAmf0String
>
(
value
)
->
value
;
return
srs_amf0_write_string
(
stream
,
data
);
}
case
RTMP_AMF0_Boolean
:
{
...
...
trunk/src/rtmp/srs_protocol_amf0.hpp
查看文件 @
cae8228
...
...
@@ -47,10 +47,10 @@ class SrsAmf0Any
{
public
:
char
marker
;
public
:
SrsAmf0Any
();
virtual
~
SrsAmf0Any
();
public
:
virtual
bool
is_string
();
virtual
bool
is_boolean
();
virtual
bool
is_number
();
...
...
@@ -59,8 +59,12 @@ public:
virtual
bool
is_object
();
virtual
bool
is_object_eof
();
virtual
bool
is_ecma_array
();
public
:
virtual
std
::
string
to_str
();
public
:
virtual
int
size
()
=
0
;
public
:
static
SrsAmf0Any
*
str
(
const
char
*
value
=
NULL
);
};
/**
...
...
@@ -68,14 +72,15 @@ public:
* 2.4 String Type
* string-type = string-marker UTF-8
* @return default value is empty string.
* @remark: use SrsAmf0Any::str() to create it.
*/
class
SrsAmf0String
:
public
SrsAmf0Any
class
__
SrsAmf0String
:
public
SrsAmf0Any
{
public
:
std
::
string
value
;
SrsAmf0String
(
const
char
*
_value
=
NULL
);
virtual
~
SrsAmf0String
();
__SrsAmf0String
(
const
char
*
_value
);
virtual
~
__SrsAmf0String
();
virtual
int
size
();
};
...
...
trunk/src/rtmp/srs_protocol_rtmp.cpp
查看文件 @
cae8228
...
...
@@ -280,15 +280,15 @@ int SrsRtmpClient::connect_app(string app, string tc_url)
msg
->
set_packet
(
pkt
,
0
);
pkt
->
command_object
=
new
SrsAmf0Object
();
pkt
->
command_object
->
set
(
"app"
,
new
SrsAmf0String
(
app
.
c_str
()));
pkt
->
command_object
->
set
(
"swfUrl"
,
new
SrsAmf0String
());
pkt
->
command_object
->
set
(
"tcUrl"
,
new
SrsAmf0String
(
tc_url
.
c_str
()));
pkt
->
command_object
->
set
(
"app"
,
SrsAmf0Any
::
str
(
app
.
c_str
()));
pkt
->
command_object
->
set
(
"swfUrl"
,
SrsAmf0Any
::
str
());
pkt
->
command_object
->
set
(
"tcUrl"
,
SrsAmf0Any
::
str
(
tc_url
.
c_str
()));
pkt
->
command_object
->
set
(
"fpad"
,
new
SrsAmf0Boolean
(
false
));
pkt
->
command_object
->
set
(
"capabilities"
,
new
SrsAmf0Number
(
239
));
pkt
->
command_object
->
set
(
"audioCodecs"
,
new
SrsAmf0Number
(
3575
));
pkt
->
command_object
->
set
(
"videoCodecs"
,
new
SrsAmf0Number
(
252
));
pkt
->
command_object
->
set
(
"videoFunction"
,
new
SrsAmf0Number
(
1
));
pkt
->
command_object
->
set
(
"pageUrl"
,
new
SrsAmf0String
());
pkt
->
command_object
->
set
(
"pageUrl"
,
SrsAmf0Any
::
str
());
pkt
->
command_object
->
set
(
"objectEncoding"
,
new
SrsAmf0Number
(
0
));
if
((
ret
=
protocol
->
send_message
(
msg
))
!=
ERROR_SUCCESS
)
{
...
...
@@ -632,14 +632,14 @@ int SrsRtmpServer::connect_app(SrsRequest* req)
srs_error
(
"invalid request, must specifies the tcUrl. ret=%d"
,
ret
);
return
ret
;
}
req
->
tcUrl
=
srs_amf0_convert
<
SrsAmf0String
>
(
prop
)
->
value
;
req
->
tcUrl
=
prop
->
to_str
()
;
if
((
prop
=
pkt
->
command_object
->
ensure_property_string
(
"pageUrl"
))
!=
NULL
)
{
req
->
pageUrl
=
srs_amf0_convert
<
SrsAmf0String
>
(
prop
)
->
value
;
req
->
pageUrl
=
prop
->
to_str
()
;
}
if
((
prop
=
pkt
->
command_object
->
ensure_property_string
(
"swfUrl"
))
!=
NULL
)
{
req
->
swfUrl
=
srs_amf0_convert
<
SrsAmf0String
>
(
prop
)
->
value
;
req
->
swfUrl
=
prop
->
to_str
()
;
}
if
((
prop
=
pkt
->
command_object
->
ensure_property_number
(
"objectEncoding"
))
!=
NULL
)
{
...
...
@@ -698,31 +698,31 @@ int SrsRtmpServer::response_connect_app(SrsRequest *req, const char* server_ip)
SrsCommonMessage
*
msg
=
new
SrsCommonMessage
();
SrsConnectAppResPacket
*
pkt
=
new
SrsConnectAppResPacket
();
pkt
->
props
->
set
(
"fmsVer"
,
new
SrsAmf0String
(
"FMS/"
RTMP_SIG_FMS_VER
));
pkt
->
props
->
set
(
"fmsVer"
,
SrsAmf0Any
::
str
(
"FMS/"
RTMP_SIG_FMS_VER
));
pkt
->
props
->
set
(
"capabilities"
,
new
SrsAmf0Number
(
127
));
pkt
->
props
->
set
(
"mode"
,
new
SrsAmf0Number
(
1
));
pkt
->
info
->
set
(
StatusLevel
,
new
SrsAmf0String
(
StatusLevelStatus
));
pkt
->
info
->
set
(
StatusCode
,
new
SrsAmf0String
(
StatusCodeConnectSuccess
));
pkt
->
info
->
set
(
StatusDescription
,
new
SrsAmf0String
(
"Connection succeeded"
));
pkt
->
info
->
set
(
StatusLevel
,
SrsAmf0Any
::
str
(
StatusLevelStatus
));
pkt
->
info
->
set
(
StatusCode
,
SrsAmf0Any
::
str
(
StatusCodeConnectSuccess
));
pkt
->
info
->
set
(
StatusDescription
,
SrsAmf0Any
::
str
(
"Connection succeeded"
));
pkt
->
info
->
set
(
"objectEncoding"
,
new
SrsAmf0Number
(
req
->
objectEncoding
));
SrsAmf0EcmaArray
*
data
=
new
SrsAmf0EcmaArray
();
pkt
->
info
->
set
(
"data"
,
data
);
data
->
set
(
"version"
,
new
SrsAmf0String
(
RTMP_SIG_FMS_VER
));
data
->
set
(
"srs_sig"
,
new
SrsAmf0String
(
RTMP_SIG_SRS_KEY
));
data
->
set
(
"srs_server"
,
new
SrsAmf0String
(
RTMP_SIG_SRS_KEY
" "
RTMP_SIG_SRS_VERSION
" ("
RTMP_SIG_SRS_URL_SHORT
")"
));
data
->
set
(
"srs_license"
,
new
SrsAmf0String
(
RTMP_SIG_SRS_LICENSE
));
data
->
set
(
"srs_role"
,
new
SrsAmf0String
(
RTMP_SIG_SRS_ROLE
));
data
->
set
(
"srs_url"
,
new
SrsAmf0String
(
RTMP_SIG_SRS_URL
));
data
->
set
(
"srs_version"
,
new
SrsAmf0String
(
RTMP_SIG_SRS_VERSION
));
data
->
set
(
"srs_site"
,
new
SrsAmf0String
(
RTMP_SIG_SRS_WEB
));
data
->
set
(
"srs_email"
,
new
SrsAmf0String
(
RTMP_SIG_SRS_EMAIL
));
data
->
set
(
"srs_copyright"
,
new
SrsAmf0String
(
RTMP_SIG_SRS_COPYRIGHT
));
data
->
set
(
"srs_primary_authors"
,
new
SrsAmf0String
(
RTMP_SIG_SRS_PRIMARY_AUTHROS
));
data
->
set
(
"version"
,
SrsAmf0Any
::
str
(
RTMP_SIG_FMS_VER
));
data
->
set
(
"srs_sig"
,
SrsAmf0Any
::
str
(
RTMP_SIG_SRS_KEY
));
data
->
set
(
"srs_server"
,
SrsAmf0Any
::
str
(
RTMP_SIG_SRS_KEY
" "
RTMP_SIG_SRS_VERSION
" ("
RTMP_SIG_SRS_URL_SHORT
")"
));
data
->
set
(
"srs_license"
,
SrsAmf0Any
::
str
(
RTMP_SIG_SRS_LICENSE
));
data
->
set
(
"srs_role"
,
SrsAmf0Any
::
str
(
RTMP_SIG_SRS_ROLE
));
data
->
set
(
"srs_url"
,
SrsAmf0Any
::
str
(
RTMP_SIG_SRS_URL
));
data
->
set
(
"srs_version"
,
SrsAmf0Any
::
str
(
RTMP_SIG_SRS_VERSION
));
data
->
set
(
"srs_site"
,
SrsAmf0Any
::
str
(
RTMP_SIG_SRS_WEB
));
data
->
set
(
"srs_email"
,
SrsAmf0Any
::
str
(
RTMP_SIG_SRS_EMAIL
));
data
->
set
(
"srs_copyright"
,
SrsAmf0Any
::
str
(
RTMP_SIG_SRS_COPYRIGHT
));
data
->
set
(
"srs_primary_authors"
,
SrsAmf0Any
::
str
(
RTMP_SIG_SRS_PRIMARY_AUTHROS
));
if
(
server_ip
)
{
data
->
set
(
"srs_server_ip"
,
new
SrsAmf0String
(
server_ip
));
data
->
set
(
"srs_server_ip"
,
SrsAmf0Any
::
str
(
server_ip
));
}
msg
->
set_packet
(
pkt
,
0
);
...
...
@@ -742,9 +742,9 @@ void SrsRtmpServer::response_connect_reject(SrsRequest *req, const char* desc)
SrsConnectAppResPacket
*
pkt
=
new
SrsConnectAppResPacket
();
pkt
->
command_name
=
"_error"
;
pkt
->
props
->
set
(
StatusLevel
,
new
SrsAmf0String
(
StatusLevelError
));
pkt
->
props
->
set
(
StatusCode
,
new
SrsAmf0String
(
StatusCodeConnectRejected
));
pkt
->
props
->
set
(
StatusDescription
,
new
SrsAmf0String
(
desc
));
pkt
->
props
->
set
(
StatusLevel
,
SrsAmf0Any
::
str
(
StatusLevelError
));
pkt
->
props
->
set
(
StatusCode
,
SrsAmf0Any
::
str
(
StatusCodeConnectRejected
));
pkt
->
props
->
set
(
StatusDescription
,
SrsAmf0Any
::
str
(
desc
));
//pkt->props->set("objectEncoding", new SrsAmf0Number(req->objectEncoding));
SrsCommonMessage
*
msg
=
(
new
SrsCommonMessage
())
->
set_packet
(
pkt
,
0
);
...
...
@@ -864,11 +864,11 @@ int SrsRtmpServer::start_play(int stream_id)
SrsCommonMessage
*
msg
=
new
SrsCommonMessage
();
SrsOnStatusCallPacket
*
pkt
=
new
SrsOnStatusCallPacket
();
pkt
->
data
->
set
(
StatusLevel
,
new
SrsAmf0String
(
StatusLevelStatus
));
pkt
->
data
->
set
(
StatusCode
,
new
SrsAmf0String
(
StatusCodeStreamReset
));
pkt
->
data
->
set
(
StatusDescription
,
new
SrsAmf0String
(
"Playing and resetting stream."
));
pkt
->
data
->
set
(
StatusDetails
,
new
SrsAmf0String
(
"stream"
));
pkt
->
data
->
set
(
StatusClientId
,
new
SrsAmf0String
(
RTMP_SIG_CLIENT_ID
));
pkt
->
data
->
set
(
StatusLevel
,
SrsAmf0Any
::
str
(
StatusLevelStatus
));
pkt
->
data
->
set
(
StatusCode
,
SrsAmf0Any
::
str
(
StatusCodeStreamReset
));
pkt
->
data
->
set
(
StatusDescription
,
SrsAmf0Any
::
str
(
"Playing and resetting stream."
));
pkt
->
data
->
set
(
StatusDetails
,
SrsAmf0Any
::
str
(
"stream"
));
pkt
->
data
->
set
(
StatusClientId
,
SrsAmf0Any
::
str
(
RTMP_SIG_CLIENT_ID
));
msg
->
set_packet
(
pkt
,
stream_id
);
...
...
@@ -884,11 +884,11 @@ int SrsRtmpServer::start_play(int stream_id)
SrsCommonMessage
*
msg
=
new
SrsCommonMessage
();
SrsOnStatusCallPacket
*
pkt
=
new
SrsOnStatusCallPacket
();
pkt
->
data
->
set
(
StatusLevel
,
new
SrsAmf0String
(
StatusLevelStatus
));
pkt
->
data
->
set
(
StatusCode
,
new
SrsAmf0String
(
StatusCodeStreamStart
));
pkt
->
data
->
set
(
StatusDescription
,
new
SrsAmf0String
(
"Started playing stream."
));
pkt
->
data
->
set
(
StatusDetails
,
new
SrsAmf0String
(
"stream"
));
pkt
->
data
->
set
(
StatusClientId
,
new
SrsAmf0String
(
RTMP_SIG_CLIENT_ID
));
pkt
->
data
->
set
(
StatusLevel
,
SrsAmf0Any
::
str
(
StatusLevelStatus
));
pkt
->
data
->
set
(
StatusCode
,
SrsAmf0Any
::
str
(
StatusCodeStreamStart
));
pkt
->
data
->
set
(
StatusDescription
,
SrsAmf0Any
::
str
(
"Started playing stream."
));
pkt
->
data
->
set
(
StatusDetails
,
SrsAmf0Any
::
str
(
"stream"
));
pkt
->
data
->
set
(
StatusClientId
,
SrsAmf0Any
::
str
(
RTMP_SIG_CLIENT_ID
));
msg
->
set_packet
(
pkt
,
stream_id
);
...
...
@@ -918,7 +918,7 @@ int SrsRtmpServer::start_play(int stream_id)
SrsCommonMessage
*
msg
=
new
SrsCommonMessage
();
SrsOnStatusDataPacket
*
pkt
=
new
SrsOnStatusDataPacket
();
pkt
->
data
->
set
(
StatusCode
,
new
SrsAmf0String
(
StatusCodeDataStart
));
pkt
->
data
->
set
(
StatusCode
,
SrsAmf0Any
::
str
(
StatusCodeDataStart
));
msg
->
set_packet
(
pkt
,
stream_id
);
...
...
@@ -944,9 +944,9 @@ int SrsRtmpServer::on_play_client_pause(int stream_id, bool is_pause)
SrsCommonMessage
*
msg
=
new
SrsCommonMessage
();
SrsOnStatusCallPacket
*
pkt
=
new
SrsOnStatusCallPacket
();
pkt
->
data
->
set
(
StatusLevel
,
new
SrsAmf0String
(
StatusLevelStatus
));
pkt
->
data
->
set
(
StatusCode
,
new
SrsAmf0String
(
StatusCodeStreamPause
));
pkt
->
data
->
set
(
StatusDescription
,
new
SrsAmf0String
(
"Paused stream."
));
pkt
->
data
->
set
(
StatusLevel
,
SrsAmf0Any
::
str
(
StatusLevelStatus
));
pkt
->
data
->
set
(
StatusCode
,
SrsAmf0Any
::
str
(
StatusCodeStreamPause
));
pkt
->
data
->
set
(
StatusDescription
,
SrsAmf0Any
::
str
(
"Paused stream."
));
msg
->
set_packet
(
pkt
,
stream_id
);
...
...
@@ -977,9 +977,9 @@ int SrsRtmpServer::on_play_client_pause(int stream_id, bool is_pause)
SrsCommonMessage
*
msg
=
new
SrsCommonMessage
();
SrsOnStatusCallPacket
*
pkt
=
new
SrsOnStatusCallPacket
();
pkt
->
data
->
set
(
StatusLevel
,
new
SrsAmf0String
(
StatusLevelStatus
));
pkt
->
data
->
set
(
StatusCode
,
new
SrsAmf0String
(
StatusCodeStreamUnpause
));
pkt
->
data
->
set
(
StatusDescription
,
new
SrsAmf0String
(
"Unpaused stream."
));
pkt
->
data
->
set
(
StatusLevel
,
SrsAmf0Any
::
str
(
StatusLevelStatus
));
pkt
->
data
->
set
(
StatusCode
,
SrsAmf0Any
::
str
(
StatusCodeStreamUnpause
));
pkt
->
data
->
set
(
StatusDescription
,
SrsAmf0Any
::
str
(
"Unpaused stream."
));
msg
->
set_packet
(
pkt
,
stream_id
);
...
...
@@ -1087,8 +1087,8 @@ int SrsRtmpServer::start_fmle_publish(int stream_id)
SrsOnStatusCallPacket
*
pkt
=
new
SrsOnStatusCallPacket
();
pkt
->
command_name
=
RTMP_AMF0_COMMAND_ON_FC_PUBLISH
;
pkt
->
data
->
set
(
StatusCode
,
new
SrsAmf0String
(
StatusCodePublishStart
));
pkt
->
data
->
set
(
StatusDescription
,
new
SrsAmf0String
(
"Started publishing stream."
));
pkt
->
data
->
set
(
StatusCode
,
SrsAmf0Any
::
str
(
StatusCodePublishStart
));
pkt
->
data
->
set
(
StatusDescription
,
SrsAmf0Any
::
str
(
"Started publishing stream."
));
msg
->
set_packet
(
pkt
,
stream_id
);
...
...
@@ -1103,10 +1103,10 @@ int SrsRtmpServer::start_fmle_publish(int stream_id)
SrsCommonMessage
*
msg
=
new
SrsCommonMessage
();
SrsOnStatusCallPacket
*
pkt
=
new
SrsOnStatusCallPacket
();
pkt
->
data
->
set
(
StatusLevel
,
new
SrsAmf0String
(
StatusLevelStatus
));
pkt
->
data
->
set
(
StatusCode
,
new
SrsAmf0String
(
StatusCodePublishStart
));
pkt
->
data
->
set
(
StatusDescription
,
new
SrsAmf0String
(
"Started publishing stream."
));
pkt
->
data
->
set
(
StatusClientId
,
new
SrsAmf0String
(
RTMP_SIG_CLIENT_ID
));
pkt
->
data
->
set
(
StatusLevel
,
SrsAmf0Any
::
str
(
StatusLevelStatus
));
pkt
->
data
->
set
(
StatusCode
,
SrsAmf0Any
::
str
(
StatusCodePublishStart
));
pkt
->
data
->
set
(
StatusDescription
,
SrsAmf0Any
::
str
(
"Started publishing stream."
));
pkt
->
data
->
set
(
StatusClientId
,
SrsAmf0Any
::
str
(
RTMP_SIG_CLIENT_ID
));
msg
->
set_packet
(
pkt
,
stream_id
);
...
...
@@ -1132,8 +1132,8 @@ int SrsRtmpServer::fmle_unpublish(int stream_id, double unpublish_tid)
SrsOnStatusCallPacket
*
pkt
=
new
SrsOnStatusCallPacket
();
pkt
->
command_name
=
RTMP_AMF0_COMMAND_ON_FC_UNPUBLISH
;
pkt
->
data
->
set
(
StatusCode
,
new
SrsAmf0String
(
StatusCodeUnpublishSuccess
));
pkt
->
data
->
set
(
StatusDescription
,
new
SrsAmf0String
(
"Stop publishing stream."
));
pkt
->
data
->
set
(
StatusCode
,
SrsAmf0Any
::
str
(
StatusCodeUnpublishSuccess
));
pkt
->
data
->
set
(
StatusDescription
,
SrsAmf0Any
::
str
(
"Stop publishing stream."
));
msg
->
set_packet
(
pkt
,
stream_id
);
...
...
@@ -1161,10 +1161,10 @@ int SrsRtmpServer::fmle_unpublish(int stream_id, double unpublish_tid)
SrsCommonMessage
*
msg
=
new
SrsCommonMessage
();
SrsOnStatusCallPacket
*
pkt
=
new
SrsOnStatusCallPacket
();
pkt
->
data
->
set
(
StatusLevel
,
new
SrsAmf0String
(
StatusLevelStatus
));
pkt
->
data
->
set
(
StatusCode
,
new
SrsAmf0String
(
StatusCodeUnpublishSuccess
));
pkt
->
data
->
set
(
StatusDescription
,
new
SrsAmf0String
(
"Stream is now unpublished"
));
pkt
->
data
->
set
(
StatusClientId
,
new
SrsAmf0String
(
RTMP_SIG_CLIENT_ID
));
pkt
->
data
->
set
(
StatusLevel
,
SrsAmf0Any
::
str
(
StatusLevelStatus
));
pkt
->
data
->
set
(
StatusCode
,
SrsAmf0Any
::
str
(
StatusCodeUnpublishSuccess
));
pkt
->
data
->
set
(
StatusDescription
,
SrsAmf0Any
::
str
(
"Stream is now unpublished"
));
pkt
->
data
->
set
(
StatusClientId
,
SrsAmf0Any
::
str
(
RTMP_SIG_CLIENT_ID
));
msg
->
set_packet
(
pkt
,
stream_id
);
...
...
@@ -1189,10 +1189,10 @@ int SrsRtmpServer::start_flash_publish(int stream_id)
SrsCommonMessage
*
msg
=
new
SrsCommonMessage
();
SrsOnStatusCallPacket
*
pkt
=
new
SrsOnStatusCallPacket
();
pkt
->
data
->
set
(
StatusLevel
,
new
SrsAmf0String
(
StatusLevelStatus
));
pkt
->
data
->
set
(
StatusCode
,
new
SrsAmf0String
(
StatusCodePublishStart
));
pkt
->
data
->
set
(
StatusDescription
,
new
SrsAmf0String
(
"Started publishing stream."
));
pkt
->
data
->
set
(
StatusClientId
,
new
SrsAmf0String
(
RTMP_SIG_CLIENT_ID
));
pkt
->
data
->
set
(
StatusLevel
,
SrsAmf0Any
::
str
(
StatusLevelStatus
));
pkt
->
data
->
set
(
StatusCode
,
SrsAmf0Any
::
str
(
StatusCodePublishStart
));
pkt
->
data
->
set
(
StatusDescription
,
SrsAmf0Any
::
str
(
"Started publishing stream."
));
pkt
->
data
->
set
(
StatusClientId
,
SrsAmf0Any
::
str
(
RTMP_SIG_CLIENT_ID
));
msg
->
set_packet
(
pkt
,
stream_id
);
...
...
trunk/src/utest/srs_utest_amf0.cpp
查看文件 @
cae8228
...
...
@@ -52,7 +52,7 @@ VOID TEST(AMF0Test, Size)
SrsAmf0Object
o
;
size
+=
SrsAmf0Size
::
utf8
(
"name"
)
+
SrsAmf0Size
::
str
(
"winlin"
);
o
.
set
(
"name"
,
new
SrsAmf0String
(
"winlin"
));
o
.
set
(
"name"
,
SrsAmf0Any
::
str
(
"winlin"
));
EXPECT_EQ
(
size
,
SrsAmf0Size
::
object
(
&
o
));
}
...
...
@@ -106,7 +106,7 @@ VOID TEST(AMF0Test, Size)
SrsAmf0EcmaArray
o
;
size
+=
SrsAmf0Size
::
utf8
(
"name"
)
+
SrsAmf0Size
::
str
(
"winlin"
);
o
.
set
(
"name"
,
new
SrsAmf0String
(
"winlin"
));
o
.
set
(
"name"
,
SrsAmf0Any
::
str
(
"winlin"
));
EXPECT_EQ
(
size
,
SrsAmf0Size
::
array
(
&
o
));
}
...
...
@@ -153,10 +153,10 @@ VOID TEST(AMF0Test, Size)
SrsAmf0Object
o
;
size
+=
SrsAmf0Size
::
utf8
(
"name"
)
+
SrsAmf0Size
::
str
(
"winlin"
);
o
.
set
(
"name"
,
new
SrsAmf0String
(
"winlin"
));
o
.
set
(
"name"
,
SrsAmf0Any
::
str
(
"winlin"
));
SrsAmf0EcmaArray
*
args
=
new
SrsAmf0EcmaArray
();
args
->
set
(
"p0"
,
new
SrsAmf0String
(
"function"
));
args
->
set
(
"p0"
,
SrsAmf0Any
::
str
(
"function"
));
size
+=
SrsAmf0Size
::
utf8
(
"args"
)
+
SrsAmf0Size
::
array
(
args
);
o
.
set
(
"args"
,
args
);
...
...
@@ -167,10 +167,10 @@ VOID TEST(AMF0Test, Size)
SrsAmf0Object
o
;
size
+=
SrsAmf0Size
::
utf8
(
"name"
)
+
SrsAmf0Size
::
str
(
"winlin"
);
o
.
set
(
"name"
,
new
SrsAmf0String
(
"winlin"
));
o
.
set
(
"name"
,
SrsAmf0Any
::
str
(
"winlin"
));
SrsAmf0EcmaArray
*
args
=
new
SrsAmf0EcmaArray
();
args
->
set
(
"p0"
,
new
SrsAmf0String
(
"function"
));
args
->
set
(
"p0"
,
SrsAmf0Any
::
str
(
"function"
));
size
+=
SrsAmf0Size
::
utf8
(
"args"
)
+
SrsAmf0Size
::
array
(
args
);
o
.
set
(
"args"
,
args
);
...
...
@@ -188,10 +188,10 @@ VOID TEST(AMF0Test, Size)
SrsAmf0EcmaArray
o
;
size
+=
SrsAmf0Size
::
utf8
(
"name"
)
+
SrsAmf0Size
::
str
(
"winlin"
);
o
.
set
(
"name"
,
new
SrsAmf0String
(
"winlin"
));
o
.
set
(
"name"
,
SrsAmf0Any
::
str
(
"winlin"
));
SrsAmf0Object
*
args
=
new
SrsAmf0Object
();
args
->
set
(
"p0"
,
new
SrsAmf0String
(
"function"
));
args
->
set
(
"p0"
,
SrsAmf0Any
::
str
(
"function"
));
size
+=
SrsAmf0Size
::
utf8
(
"args"
)
+
SrsAmf0Size
::
object
(
args
);
o
.
set
(
"args"
,
args
);
...
...
@@ -202,10 +202,10 @@ VOID TEST(AMF0Test, Size)
SrsAmf0EcmaArray
o
;
size
+=
SrsAmf0Size
::
utf8
(
"name"
)
+
SrsAmf0Size
::
str
(
"winlin"
);
o
.
set
(
"name"
,
new
SrsAmf0String
(
"winlin"
));
o
.
set
(
"name"
,
SrsAmf0Any
::
str
(
"winlin"
));
SrsAmf0Object
*
args
=
new
SrsAmf0Object
();
args
->
set
(
"p0"
,
new
SrsAmf0String
(
"function"
));
args
->
set
(
"p0"
,
SrsAmf0Any
::
str
(
"function"
));
size
+=
SrsAmf0Size
::
utf8
(
"args"
)
+
SrsAmf0Size
::
object
(
args
);
o
.
set
(
"args"
,
args
);
...
...
@@ -223,10 +223,10 @@ VOID TEST(AMF0Test, Size)
SrsAmf0Object
o
;
size
+=
SrsAmf0Size
::
utf8
(
"name"
)
+
SrsAmf0Size
::
str
(
"winlin"
);
o
.
set
(
"name"
,
new
SrsAmf0String
(
"winlin"
));
o
.
set
(
"name"
,
SrsAmf0Any
::
str
(
"winlin"
));
SrsAmf0Object
*
args
=
new
SrsAmf0Object
();
args
->
set
(
"p0"
,
new
SrsAmf0String
(
"function"
));
args
->
set
(
"p0"
,
SrsAmf0Any
::
str
(
"function"
));
size
+=
SrsAmf0Size
::
utf8
(
"args"
)
+
SrsAmf0Size
::
object
(
args
);
o
.
set
(
"args"
,
args
);
...
...
@@ -244,10 +244,10 @@ VOID TEST(AMF0Test, Size)
SrsAmf0EcmaArray
o
;
size
+=
SrsAmf0Size
::
utf8
(
"name"
)
+
SrsAmf0Size
::
str
(
"winlin"
);
o
.
set
(
"name"
,
new
SrsAmf0String
(
"winlin"
));
o
.
set
(
"name"
,
SrsAmf0Any
::
str
(
"winlin"
));
SrsAmf0EcmaArray
*
args
=
new
SrsAmf0EcmaArray
();
args
->
set
(
"p0"
,
new
SrsAmf0String
(
"function"
));
args
->
set
(
"p0"
,
SrsAmf0Any
::
str
(
"function"
));
size
+=
SrsAmf0Size
::
utf8
(
"args"
)
+
SrsAmf0Size
::
array
(
args
);
o
.
set
(
"args"
,
args
);
...
...
请
注册
或
登录
后发表评论