mirror of
https://github.com/ossrs/srs.git
synced 2025-02-15 04:42:04 +00:00
fix bug of bwtc
This commit is contained in:
parent
644dfa1a6d
commit
7b3bc8f741
4 changed files with 39 additions and 22 deletions
|
@ -86,7 +86,7 @@ Supported operating systems and hardware:
|
||||||
## Summary
|
## Summary
|
||||||
01. Simple: also stable enough.<br/>
|
01. Simple: also stable enough.<br/>
|
||||||
02. [High-performance](https://github.com/winlinvip/simple-rtmp-server/wiki/Performance): single-thread, async socket, event/st-thread driven.<br/>
|
02. [High-performance](https://github.com/winlinvip/simple-rtmp-server/wiki/Performance): single-thread, async socket, event/st-thread driven.<br/>
|
||||||
03. With RTMP edge server, support origin server.<br/>
|
03. With RTMP edge server(plan), support origin server.<br/>
|
||||||
04. RTMP without vod streaming, live streaming only.<br/>
|
04. RTMP without vod streaming, live streaming only.<br/>
|
||||||
05. With multiple processes, support single process.<br/>
|
05. With multiple processes, support single process.<br/>
|
||||||
06. Support vhost, support \_\_defaultVhost\_\_.<br/>
|
06. Support vhost, support \_\_defaultVhost\_\_.<br/>
|
||||||
|
|
|
@ -32,6 +32,9 @@ SRS_ARM_UBUNTU12=RESERVED # armhf(v7cpu) built on ubuntu12
|
||||||
SRS_PREFIX=/usr/local/srs
|
SRS_PREFIX=/usr/local/srs
|
||||||
SRS_JOBS=1
|
SRS_JOBS=1
|
||||||
SRS_STATIC=RESERVED
|
SRS_STATIC=RESERVED
|
||||||
|
# private internal
|
||||||
|
# dev, open all features for dev, no gperf/prof/arm.
|
||||||
|
SRS_DEV=NO
|
||||||
|
|
||||||
#####################################################################################
|
#####################################################################################
|
||||||
# parse options
|
# parse options
|
||||||
|
@ -88,6 +91,7 @@ do
|
||||||
--jobs) SRS_JOBS=${value} ;;
|
--jobs) SRS_JOBS=${value} ;;
|
||||||
--prefix) SRS_PREFIX=${value} ;;
|
--prefix) SRS_PREFIX=${value} ;;
|
||||||
--static) SRS_STATIC=YES ;;
|
--static) SRS_STATIC=YES ;;
|
||||||
|
--dev) SRS_DEV=YES ;;
|
||||||
|
|
||||||
*)
|
*)
|
||||||
echo "$0: error: invalid option \"$option\""
|
echo "$0: error: invalid option \"$option\""
|
||||||
|
@ -116,6 +120,7 @@ if [ $SRS_ARM_UBUNTU12 = YES ]; then
|
||||||
if [ $SRS_GPERF_CP = RESERVED ]; then SRS_GPERF_CP=NO; fi
|
if [ $SRS_GPERF_CP = RESERVED ]; then SRS_GPERF_CP=NO; fi
|
||||||
if [ $SRS_GPROF = RESERVED ]; then SRS_GPROF=NO; fi
|
if [ $SRS_GPROF = RESERVED ]; then SRS_GPROF=NO; fi
|
||||||
if [ $SRS_ARM_UBUNTU12 = RESERVED ]; then SRS_ARM_UBUNTU12=NO; fi
|
if [ $SRS_ARM_UBUNTU12 = RESERVED ]; then SRS_ARM_UBUNTU12=NO; fi
|
||||||
|
if [ $SRS_DEV = RESERVED ]; then SRS_DEV=NO; fi
|
||||||
# for arm, always set to static link.
|
# for arm, always set to static link.
|
||||||
SRS_STATIC=YES
|
SRS_STATIC=YES
|
||||||
else
|
else
|
||||||
|
@ -135,6 +140,28 @@ else
|
||||||
if [ $SRS_GPROF = RESERVED ]; then SRS_GPROF=NO; fi
|
if [ $SRS_GPROF = RESERVED ]; then SRS_GPROF=NO; fi
|
||||||
if [ $SRS_ARM_UBUNTU12 = RESERVED ]; then SRS_ARM_UBUNTU12=NO; fi
|
if [ $SRS_ARM_UBUNTU12 = RESERVED ]; then SRS_ARM_UBUNTU12=NO; fi
|
||||||
if [ $SRS_STATIC = RESERVED ]; then SRS_STATIC=NO; fi
|
if [ $SRS_STATIC = RESERVED ]; then SRS_STATIC=NO; fi
|
||||||
|
if [ $SRS_DEV = RESERVED ]; then SRS_DEV=NO; fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# if dev specified, open features if possible.
|
||||||
|
if [ $SRS_DEV = YES ]; then
|
||||||
|
SRS_HLS=YES
|
||||||
|
SRS_NGINX=YES
|
||||||
|
SRS_SSL=YES
|
||||||
|
SRS_FFMPEG=YES
|
||||||
|
SRS_HTTP_CALLBACK=YES
|
||||||
|
SRS_LIBRTMP=YES
|
||||||
|
SRS_BWTC=YES
|
||||||
|
SRS_RESEARCH=YES
|
||||||
|
SRS_UTEST=YES
|
||||||
|
SRS_GPERF=NO
|
||||||
|
SRS_GPERF_MC=NO
|
||||||
|
SRS_GPERF_MP=NO
|
||||||
|
SRS_GPERF_CP=NO
|
||||||
|
SRS_GPROF=NO
|
||||||
|
SRS_ARM_UBUNTU12=NO
|
||||||
|
# for arm, always set to static link.
|
||||||
|
SRS_STATIC=NO
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# parse the jobs for make
|
# parse the jobs for make
|
||||||
|
@ -191,6 +218,7 @@ if [ $help = yes ]; then
|
||||||
--jobs[=N] Allow N jobs at once; infinite jobs with no arg.
|
--jobs[=N] Allow N jobs at once; infinite jobs with no arg.
|
||||||
used for make in the configure, for example, to make ffmpeg.
|
used for make in the configure, for example, to make ffmpeg.
|
||||||
--prefix=<path> the absolute install path for srs.
|
--prefix=<path> the absolute install path for srs.
|
||||||
|
--dev for dev, open all features, no gperf/gprof/arm.
|
||||||
|
|
||||||
END
|
END
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
// current release version
|
// current release version
|
||||||
#define VERSION_MAJOR "0"
|
#define VERSION_MAJOR "0"
|
||||||
#define VERSION_MINOR "9"
|
#define VERSION_MINOR "9"
|
||||||
#define VERSION_REVISION "30"
|
#define VERSION_REVISION "31"
|
||||||
#define RTMP_SIG_SRS_VERSION VERSION_MAJOR"."VERSION_MINOR"."VERSION_REVISION
|
#define RTMP_SIG_SRS_VERSION VERSION_MAJOR"."VERSION_MINOR"."VERSION_REVISION
|
||||||
// server info.
|
// server info.
|
||||||
#define RTMP_SIG_SRS_KEY "srs"
|
#define RTMP_SIG_SRS_KEY "srs"
|
||||||
|
|
|
@ -469,7 +469,7 @@ int SrsBandCheckClient::send_pub_data()
|
||||||
std::stringstream seq;
|
std::stringstream seq;
|
||||||
seq << i;
|
seq << i;
|
||||||
std::string play_data = "SrS band check data from client's publishing......";
|
std::string play_data = "SrS band check data from client's publishing......";
|
||||||
pkt->data->set(seq.str(), new SrsAmf0String(play_data.c_str()));
|
pkt->data->set(seq.str(), SrsAmf0Any::str(play_data.c_str()));
|
||||||
}
|
}
|
||||||
data_count += 100;
|
data_count += 100;
|
||||||
|
|
||||||
|
@ -545,8 +545,9 @@ int SrsBandCheckClient::expect_finished()
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
SrsAmf0Object* object;
|
SrsAmf0Object* object = SrsAmf0Any::object();
|
||||||
if ((ret = srs_amf0_read_object(stream, object)) != ERROR_SUCCESS) {
|
if ((ret = object->read(stream)) != ERROR_SUCCESS) {
|
||||||
|
srs_freep(object);
|
||||||
srs_error("amfo read object error. ret=%d", ret);
|
srs_error("amfo read object error. ret=%d", ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -556,36 +557,24 @@ int SrsBandCheckClient::expect_finished()
|
||||||
|
|
||||||
SrsAmf0Any* start_time_any = object->get_property("start_time");
|
SrsAmf0Any* start_time_any = object->get_property("start_time");
|
||||||
if (start_time_any && start_time_any->is_number()) {
|
if (start_time_any && start_time_any->is_number()) {
|
||||||
SrsAmf0Number* start_time_number = dynamic_cast<SrsAmf0Number*> (start_time_any);
|
start_time = start_time_any->to_number();
|
||||||
if (start_time_number) {
|
|
||||||
start_time = start_time_number->value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SrsAmf0Any* end_time_any = object->get_property("end_time");
|
SrsAmf0Any* end_time_any = object->get_property("end_time");
|
||||||
if (end_time_any && end_time_any->is_number()) {
|
if (end_time_any && end_time_any->is_number()) {
|
||||||
SrsAmf0Number* end_time_number = dynamic_cast<SrsAmf0Number*> (end_time_any);
|
end_time = end_time_any->to_number();
|
||||||
if (end_time_number) {
|
|
||||||
end_time = end_time_number->value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int play_kbps = 0;
|
int play_kbps = 0;
|
||||||
int pub_kbps = 0;
|
int pub_kbps = 0;
|
||||||
SrsAmf0Any* play_kbp_any = object->get_property("play_kbps");
|
SrsAmf0Any* play_kbp_any = object->get_property("play_kbps");
|
||||||
if (play_kbp_any && play_kbp_any->is_number()) {
|
if (play_kbp_any && play_kbp_any->is_number()) {
|
||||||
SrsAmf0Number* play_kbps_number = dynamic_cast<SrsAmf0Number*> (play_kbp_any);
|
play_kbps = play_kbp_any->to_number();
|
||||||
if (play_kbps_number) {
|
|
||||||
play_kbps = play_kbps_number->value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SrsAmf0Any* pub_kbp_any = object->get_property("publish_kbps");
|
SrsAmf0Any* pub_kbp_any = object->get_property("publish_kbps");
|
||||||
if (pub_kbp_any && pub_kbp_any->is_number()) {
|
if (pub_kbp_any && pub_kbp_any->is_number()) {
|
||||||
SrsAmf0Number* pub_kbps_number = dynamic_cast<SrsAmf0Number*> (pub_kbp_any);
|
pub_kbps = pub_kbp_any->to_number();
|
||||||
if (pub_kbps_number) {
|
|
||||||
pub_kbps = pub_kbps_number->value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
float time_elapsed;
|
float time_elapsed;
|
||||||
|
|
Loading…
Reference in a new issue