diff --git a/.augment-guidelines b/.augment-guidelines
index fdc55b2ee7a..2b9fb3b5701 100644
--- a/.augment-guidelines
+++ b/.augment-guidelines
@@ -185,7 +185,7 @@ code_patterns:
public:
srs_error_t initialize();
};
- scope: "Applies ONLY to fields (member variables) in classes and structs - NOT to functions, methods, or parameters"
+ scope: "Applies ONLY to fields (member variables) in classes and structs - NOT to functions, methods, comments, error messages, or parameters"
exceptions: "Only applies to SRS-defined classes/structs - do NOT change 3rd party code like llhttp"
rationale: "Consistent naming convention across SRS codebase for better code readability and maintenance - underscore distinguishes member variables from local variables and parameters"
diff --git a/trunk/3rdparty/srs-bench/blackbox/hevc_test.go b/trunk/3rdparty/srs-bench/blackbox/hevc_test.go
index 2c969dbfd17..892c6643c16 100644
--- a/trunk/3rdparty/srs-bench/blackbox/hevc_test.go
+++ b/trunk/3rdparty/srs-bench/blackbox/hevc_test.go
@@ -709,6 +709,8 @@ func TestSlow_SrtPublish_RtmpPlay_HEVC_Basic(t *testing.T) {
v.dvrFile = path.Join(svr.WorkDir(), "objs", fmt.Sprintf("srs-ffprobe-%v.ts", streamID))
v.streamURL = fmt.Sprintf("rtmp://localhost:%v/live/%v", svr.RTMPPort(), streamID)
v.duration, v.timeout = duration, time.Duration(*srsFFprobeTimeout)*time.Millisecond
+ v.ffmpegCmdName = "ffmpeg7" // ffmpeg 5 don't support enhanced rtmp, so use ffmpeg 7 instead.
+ v.ffprobeCmdName = "ffprobe7"
})
wg.Add(1)
go func() {
@@ -807,6 +809,8 @@ func TestSlow_SrtPublish_HttpFlvPlay_HEVC_Basic(t *testing.T) {
v.dvrFile = path.Join(svr.WorkDir(), "objs", fmt.Sprintf("srs-ffprobe-%v.ts", streamID))
v.streamURL = fmt.Sprintf("http://localhost:%v/live/%v.flv", svr.HTTPPort(), streamID)
v.duration, v.timeout = duration, time.Duration(*srsFFprobeTimeout)*time.Millisecond
+ v.ffmpegCmdName = "ffmpeg7" // ffmpeg 5 don't support enhanced rtmp, so use ffmpeg 7 instead.
+ v.ffprobeCmdName = "ffprobe7"
})
wg.Add(1)
go func() {
diff --git a/trunk/3rdparty/srs-bench/blackbox/util.go b/trunk/3rdparty/srs-bench/blackbox/util.go
index 53a6e9d295b..d1c691e9704 100644
--- a/trunk/3rdparty/srs-bench/blackbox/util.go
+++ b/trunk/3rdparty/srs-bench/blackbox/util.go
@@ -666,6 +666,8 @@ type ffmpegClient struct {
// The backend service process.
process *backendService
+ // FFmpeg cmd name
+ ffmpegCmdName string
// FFmpeg cli args, without ffmpeg binary.
args []string
// Let the process quit, do not cancel the case.
@@ -678,6 +680,7 @@ func NewFFmpeg(opts ...func(v *ffmpegClient)) FFmpegClient {
v := &ffmpegClient{
process: newBackendService(),
cancelCaseWhenQuit: true,
+ ffmpegCmdName: *srsFFmpeg,
}
// Do cleanup.
@@ -702,7 +705,7 @@ func (v *ffmpegClient) ReadyCtx() context.Context {
func (v *ffmpegClient) Run(ctx context.Context, cancel context.CancelFunc) error {
logger.Tf(ctx, "Starting FFmpeg by %v", strings.Join(v.args, " "))
- v.process.name = *srsFFmpeg
+ v.process.name = v.ffmpegCmdName
v.process.args = v.args
v.process.env = os.Environ()
v.process.duration = v.ffmpegDuration
@@ -746,6 +749,10 @@ type ffprobeClient struct {
// The timeout to wait for task to done.
timeout time.Duration
+ // the FFprobe cmd name
+ ffprobeCmdName string
+ // the ffmpeg cmd name
+ ffmpegCmdName string
// Whether do DVR by FFmpeg, if using SRS DVR, please set to false.
dvrByFFmpeg bool
// The stream to DVR for probing. Ignore if not DVR by ffmpeg
@@ -764,8 +771,10 @@ type ffprobeClient struct {
func NewFFprobe(opts ...func(v *ffprobeClient)) FFprobeClient {
v := &ffprobeClient{
- metadata: &ffprobeObject{},
- dvrByFFmpeg: true,
+ metadata: &ffprobeObject{},
+ dvrByFFmpeg: true,
+ ffprobeCmdName: *srsFFprobe,
+ ffmpegCmdName: *srsFFmpeg,
}
v.doneCtx, v.doneCancel = context.WithCancel(context.Background())
@@ -842,7 +851,7 @@ func (v *ffprobeClient) doDVR(ctx context.Context) error {
}
process := newBackendService()
- process.name = *srsFFmpeg
+ process.name = v.ffmpegCmdName
process.args = []string{
"-t", fmt.Sprintf("%v", int64(v.duration/time.Second)),
"-i", v.streamURL, "-c", "copy", "-y", v.dvrFile,
@@ -869,7 +878,7 @@ func (v *ffprobeClient) doDVR(ctx context.Context) error {
func (v *ffprobeClient) doProbe(ctx context.Context, cancel context.CancelFunc) error {
process := newBackendService()
- process.name = *srsFFprobe
+ process.name = v.ffprobeCmdName
process.args = []string{
"-show_error", "-show_private_data", "-v", "quiet", "-find_stream_info",
"-analyzeduration", fmt.Sprintf("%v", int64(v.duration/time.Microsecond)),
diff --git a/trunk/doc/CHANGELOG.md b/trunk/doc/CHANGELOG.md
index fd4565d2b2b..d31d80308d5 100644
--- a/trunk/doc/CHANGELOG.md
+++ b/trunk/doc/CHANGELOG.md
@@ -7,6 +7,8 @@ The changelog for SRS.
## SRS 7.0 Changelog
+* v7.0, 2025-09-09, Merge [#4446](https://github.com/ossrs/srs/pull/4446): SRT2RTMP: fix srt bridge hevc to rtmp error. v7.0.84 (#4446)
+* v7.0, 2025-09-09, Merge [#4482](https://github.com/ossrs/srs/pull/4482): AI: Fix naming issue for protocol module. v7.0.83 (#4482)
* v7.0, 2025-09-07, Merge [#4479](https://github.com/ossrs/srs/pull/4479): AI: Fix naming problem in kernel module. v7.0.82 (#4479)
* v7.0, 2025-09-06, Merge [#4478](https://github.com/ossrs/srs/pull/4478): AI: Add more utests for kernel module. v7.0.81 (#4478)
* v7.0, 2025-09-06, Merge [#4475](https://github.com/ossrs/srs/pull/4475): AI: Support anonymous coroutine with code block. v7.0.80 (#4475)
diff --git a/trunk/src/app/srs_app_config.cpp b/trunk/src/app/srs_app_config.cpp
index 07abb27aef6..393b1e3ef5c 100644
--- a/trunk/src/app/srs_app_config.cpp
+++ b/trunk/src/app/srs_app_config.cpp
@@ -355,7 +355,7 @@ bool srs_config_apply_filter(SrsConfDirective *dvr_apply, ISrsRequest *req)
return true;
}
- string id = req->app + "/" + req->stream;
+ string id = req->app_ + "/" + req->stream_;
if (std::find(args.begin(), args.end(), id) != args.end()) {
return true;
}
diff --git a/trunk/src/app/srs_app_coworkers.cpp b/trunk/src/app/srs_app_coworkers.cpp
index 3b4501c4239..7ef1150fca1 100644
--- a/trunk/src/app/srs_app_coworkers.cpp
+++ b/trunk/src/app/srs_app_coworkers.cpp
@@ -98,7 +98,7 @@ SrsJsonAny *SrsCoWorkers::dumps(string vhost, string coworker, string app, strin
return SrsJsonAny::object()
->set("ip", SrsJsonAny::str(service_ip.c_str()))
->set("port", SrsJsonAny::integer(listen_port))
- ->set("vhost", SrsJsonAny::str(r->vhost.c_str()))
+ ->set("vhost", SrsJsonAny::str(r->vhost_.c_str()))
->set("api", SrsJsonAny::str(backend.c_str()))
->set("routers", routers);
}
diff --git a/trunk/src/app/srs_app_dash.cpp b/trunk/src/app/srs_app_dash.cpp
index 04ae7ab9c19..318dcc5cc44 100644
--- a/trunk/src/app/srs_app_dash.cpp
+++ b/trunk/src/app/srs_app_dash.cpp
@@ -91,7 +91,7 @@ srs_error_t SrsFragmentedMp4::initialize(ISrsRequest *r, bool video, int64_t tim
(uint32_t)sequence_number, file_home.c_str(), file_name.c_str());
}
- string home = _srs_config->get_dash_path(r->vhost);
+ string home = _srs_config->get_dash_path(r->vhost_);
set_path(home + "/" + file_home + "/" + file_name);
// Set number of the fragment, use in mpd SegmentTemplate@startNumber later.
set_number(sequence_number);
@@ -177,7 +177,7 @@ SrsMpdWriter::~SrsMpdWriter()
void SrsMpdWriter::dispose()
{
if (req) {
- string mpd_path = srs_path_build_stream(mpd_file, req->vhost, req->app, req->stream);
+ string mpd_path = srs_path_build_stream(mpd_file, req->vhost_, req->app_, req->stream_);
string full_path = home + "/" + mpd_path;
if (unlink(full_path.c_str()) < 0) {
srs_warn("ignore remove mpd failed, %s", full_path.c_str());
@@ -201,15 +201,15 @@ srs_error_t SrsMpdWriter::on_publish()
{
ISrsRequest *r = req;
- fragment = _srs_config->get_dash_fragment(r->vhost);
- update_period = _srs_config->get_dash_update_period(r->vhost);
- timeshit = _srs_config->get_dash_timeshift(r->vhost);
- home = _srs_config->get_dash_path(r->vhost);
- mpd_file = _srs_config->get_dash_mpd_file(r->vhost);
+ fragment = _srs_config->get_dash_fragment(r->vhost_);
+ update_period = _srs_config->get_dash_update_period(r->vhost_);
+ timeshit = _srs_config->get_dash_timeshift(r->vhost_);
+ home = _srs_config->get_dash_path(r->vhost_);
+ mpd_file = _srs_config->get_dash_mpd_file(r->vhost_);
- string mpd_path = srs_path_build_stream(mpd_file, req->vhost, req->app, req->stream);
- fragment_home = srs_path_filepath_dir(mpd_path) + "/" + req->stream;
- window_size_ = _srs_config->get_dash_window_size(r->vhost);
+ string mpd_path = srs_path_build_stream(mpd_file, req->vhost_, req->app_, req->stream_);
+ fragment_home = srs_path_filepath_dir(mpd_path) + "/" + req->stream_;
+ window_size_ = _srs_config->get_dash_window_size(r->vhost_);
srs_trace("DASH: Config fragment=%dms, period=%dms, window=%d, timeshit=%dms, home=%s, mpd=%s",
srsu2msi(fragment), srsu2msi(update_period), window_size_, srsu2msi(timeshit), home.c_str(), mpd_file.c_str());
@@ -230,11 +230,11 @@ srs_error_t SrsMpdWriter::write(SrsFormat *format, SrsFragmentWindow *afragments
return err;
}
- string mpd_path = srs_path_build_stream(mpd_file, req->vhost, req->app, req->stream);
+ string mpd_path = srs_path_build_stream(mpd_file, req->vhost_, req->app_, req->stream_);
string full_path = home + "/" + mpd_path;
string full_home = srs_path_filepath_dir(full_path);
- fragment_home = srs_path_filepath_dir(mpd_path) + "/" + req->stream;
+ fragment_home = srs_path_filepath_dir(mpd_path) + "/" + req->stream_;
if ((err = srs_os_mkdir_all(full_home)) != srs_success) {
return srs_error_wrap(err, "Create MPD home failed, home=%s", full_home.c_str());
@@ -254,7 +254,7 @@ srs_error_t SrsMpdWriter::write(SrsFormat *format, SrsFragmentWindow *afragments
<< " publishTime=\"" << srs_time_to_utc_format_str(srs_time_now_cached()) << "\" " << endl
<< " minBufferTime=\"PT" << srs_fmt_sprintf("%.3f", 2 * last_duration) << "S\" >" << endl;
- ss << " " << req->stream << "/" << "" << endl;
+ ss << " " << req->stream_ << "/" << "" << endl;
ss << " " << endl;
@@ -425,8 +425,8 @@ srs_error_t SrsDashController::on_publish()
ISrsRequest *r = req;
- fragment = _srs_config->get_dash_fragment(r->vhost);
- home = _srs_config->get_dash_path(r->vhost);
+ fragment = _srs_config->get_dash_fragment(r->vhost_);
+ home = _srs_config->get_dash_path(r->vhost_);
if ((err = mpd->on_publish()) != srs_success) {
return srs_error_wrap(err, "mpd");
@@ -531,8 +531,8 @@ srs_error_t SrsDashController::on_audio(SrsMediaPacket *shared_audio, SrsFormat
return srs_error_wrap(err, "Write audio to fragment failed");
}
- srs_utime_t fragment = _srs_config->get_dash_fragment(req->vhost);
- int window_size = _srs_config->get_dash_window_size(req->vhost);
+ srs_utime_t fragment = _srs_config->get_dash_fragment(req->vhost_);
+ int window_size = _srs_config->get_dash_window_size(req->vhost_);
int dash_window = 2 * window_size * fragment;
if (afragments->size() > window_size) {
int w = 0;
@@ -545,7 +545,7 @@ srs_error_t SrsDashController::on_audio(SrsMediaPacket *shared_audio, SrsFormat
afragments->shrink(dash_window);
}
- bool dash_cleanup = _srs_config->get_dash_cleanup(req->vhost);
+ bool dash_cleanup = _srs_config->get_dash_cleanup(req->vhost_);
// remove the m4s file.
afragments->clear_expired(dash_cleanup);
@@ -604,8 +604,8 @@ srs_error_t SrsDashController::on_video(SrsMediaPacket *shared_video, SrsFormat
return srs_error_wrap(err, "Write video to fragment failed");
}
- srs_utime_t fragment = _srs_config->get_dash_fragment(req->vhost);
- int window_size = _srs_config->get_dash_window_size(req->vhost);
+ srs_utime_t fragment = _srs_config->get_dash_fragment(req->vhost_);
+ int window_size = _srs_config->get_dash_window_size(req->vhost_);
int dash_window = 2 * window_size * fragment;
if (vfragments->size() > window_size) {
int w = 0;
@@ -618,7 +618,7 @@ srs_error_t SrsDashController::on_video(SrsMediaPacket *shared_video, SrsFormat
vfragments->shrink(dash_window);
}
- bool dash_cleanup = _srs_config->get_dash_cleanup(req->vhost);
+ bool dash_cleanup = _srs_config->get_dash_cleanup(req->vhost_);
// remove the m4s file.
vfragments->clear_expired(dash_cleanup);
@@ -650,7 +650,7 @@ srs_error_t SrsDashController::refresh_init_mp4(SrsMediaPacket *msg, SrsFormat *
return err;
}
- string full_home = home + "/" + req->app + "/" + req->stream;
+ string full_home = home + "/" + req->app_ + "/" + req->stream_;
if ((err = srs_os_mkdir_all(full_home)) != srs_success) {
return srs_error_wrap(err, "Create media home failed, home=%s", full_home.c_str());
}
@@ -703,7 +703,7 @@ void SrsDash::dispose()
}
// Ignore when dash_dispose disabled.
- srs_utime_t dash_dispose = _srs_config->get_dash_dispose(req->vhost);
+ srs_utime_t dash_dispose = _srs_config->get_dash_dispose(req->vhost_);
if (!dash_dispose) {
return;
}
@@ -723,7 +723,7 @@ srs_error_t SrsDash::cycle()
return err;
}
- srs_utime_t dash_dispose = _srs_config->get_dash_dispose(req->vhost);
+ srs_utime_t dash_dispose = _srs_config->get_dash_dispose(req->vhost_);
if (dash_dispose <= 0) {
return err;
}
@@ -746,7 +746,7 @@ srs_error_t SrsDash::cycle()
srs_utime_t SrsDash::cleanup_delay()
{
// We use larger timeout to cleanup the HLS, after disposed it if required.
- return _srs_config->get_dash_dispose(req->vhost) * 1.1;
+ return _srs_config->get_dash_dispose(req->vhost_) * 1.1;
}
// CRITICAL: This method is called AFTER the source has been added to the source pool
@@ -778,7 +778,7 @@ srs_error_t SrsDash::on_publish()
return err;
}
- if (!_srs_config->get_dash_enabled(req->vhost)) {
+ if (!_srs_config->get_dash_enabled(req->vhost_)) {
return err;
}
enabled = true;
diff --git a/trunk/src/app/srs_app_dvr.cpp b/trunk/src/app/srs_app_dvr.cpp
index 6bd4e221988..0bcb5317722 100644
--- a/trunk/src/app/srs_app_dvr.cpp
+++ b/trunk/src/app/srs_app_dvr.cpp
@@ -62,8 +62,8 @@ srs_error_t SrsDvrSegmenter::initialize(SrsDvrPlan *p, ISrsRequest *r)
req = r;
plan = p;
- jitter_algorithm = (SrsRtmpJitterAlgorithm)_srs_config->get_dvr_time_jitter(req->vhost);
- wait_keyframe = _srs_config->get_dvr_wait_keyframe(req->vhost);
+ jitter_algorithm = (SrsRtmpJitterAlgorithm)_srs_config->get_dvr_time_jitter(req->vhost_);
+ wait_keyframe = _srs_config->get_dvr_wait_keyframe(req->vhost_);
return srs_success;
}
@@ -113,7 +113,7 @@ srs_error_t SrsDvrSegmenter::open()
return srs_error_wrap(err, "open encoder");
}
- srs_trace("dvr stream %s to file %s", req->stream.c_str(), path.c_str());
+ srs_trace("dvr stream %s to file %s", req->stream_.c_str(), path.c_str());
return err;
}
@@ -200,7 +200,7 @@ string SrsDvrSegmenter::generate_path()
{
// the path in config, for example,
// /data/[vhost]/[app]/[stream]/[2006]/[01]/[02]/[15].[04].[05].[999].flv
- std::string path_config = _srs_config->get_dvr_path(req->vhost);
+ std::string path_config = _srs_config->get_dvr_path(req->vhost_);
// add [stream].[timestamp].flv as filename for dir
if (!srs_strings_ends_with(path_config, ".flv", ".mp4")) {
@@ -209,7 +209,7 @@ string SrsDvrSegmenter::generate_path()
// the flv file path
std::string flv_path = path_config;
- flv_path = srs_path_build_stream(flv_path, req->vhost, req->app, req->stream);
+ flv_path = srs_path_build_stream(flv_path, req->vhost_, req->app_, req->stream_);
flv_path = srs_path_build_timestamp(flv_path);
return flv_path;
@@ -525,7 +525,7 @@ srs_error_t SrsDvrAsyncCallOnDvr::call()
{
srs_error_t err = srs_success;
- if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost_)) {
return err;
}
@@ -535,7 +535,7 @@ srs_error_t SrsDvrAsyncCallOnDvr::call()
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_dvr(req->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_dvr(req->vhost_);
if (conf) {
hooks = conf->args;
}
@@ -554,7 +554,7 @@ srs_error_t SrsDvrAsyncCallOnDvr::call()
string SrsDvrAsyncCallOnDvr::to_string()
{
std::stringstream ss;
- ss << "vhost=" << req->vhost << ", file=" << path;
+ ss << "vhost=" << req->vhost_ << ", file=" << path;
return ss.str();
}
@@ -706,7 +706,7 @@ srs_error_t SrsDvrSessionPlan::on_publish(ISrsRequest *r)
return err;
}
- if (!_srs_config->get_dvr_enabled(req->vhost)) {
+ if (!_srs_config->get_dvr_enabled(req->vhost_)) {
return err;
}
@@ -763,9 +763,9 @@ srs_error_t SrsDvrSegmentPlan::initialize(SrsOriginHub *h, SrsDvrSegmenter *s, I
return srs_error_wrap(err, "segment plan");
}
- wait_keyframe = _srs_config->get_dvr_wait_keyframe(req->vhost);
+ wait_keyframe = _srs_config->get_dvr_wait_keyframe(req->vhost_);
- cduration = _srs_config->get_dvr_duration(req->vhost);
+ cduration = _srs_config->get_dvr_duration(req->vhost_);
return srs_success;
}
@@ -783,7 +783,7 @@ srs_error_t SrsDvrSegmentPlan::on_publish(ISrsRequest *r)
return err;
}
- if (!_srs_config->get_dvr_enabled(req->vhost)) {
+ if (!_srs_config->get_dvr_enabled(req->vhost_)) {
return err;
}
@@ -934,15 +934,15 @@ srs_error_t SrsDvr::initialize(SrsOriginHub *h, ISrsRequest *r)
req = r->copy();
hub = h;
- SrsConfDirective *conf = _srs_config->get_dvr_apply(r->vhost);
+ SrsConfDirective *conf = _srs_config->get_dvr_apply(r->vhost_);
actived = srs_config_apply_filter(conf, r);
srs_freep(plan);
- if ((err = SrsDvrPlan::create_plan(r->vhost, &plan)) != srs_success) {
+ if ((err = SrsDvrPlan::create_plan(r->vhost_, &plan)) != srs_success) {
return srs_error_wrap(err, "create plan");
}
- std::string path = _srs_config->get_dvr_path(r->vhost);
+ std::string path = _srs_config->get_dvr_path(r->vhost_);
SrsDvrSegmenter *segmenter = NULL;
if (srs_strings_ends_with(path, ".mp4")) {
segmenter = new SrsDvrMp4Segmenter();
diff --git a/trunk/src/app/srs_app_edge.cpp b/trunk/src/app/srs_app_edge.cpp
index 0fdd8b0045e..8e3c8b63d22 100644
--- a/trunk/src/app/srs_app_edge.cpp
+++ b/trunk/src/app/srs_app_edge.cpp
@@ -70,12 +70,12 @@ srs_error_t SrsEdgeRtmpUpstream::connect(ISrsRequest *r, ISrsLbRoundRobin *lb)
std::string url;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_edge_origin(req->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_edge_origin(req->vhost_);
// when origin is error, for instance, server is shutdown,
// then user remove the vhost then reload, the conf is empty.
if (!conf) {
- return srs_error_new(ERROR_EDGE_VHOST_REMOVED, "vhost %s removed", req->vhost.c_str());
+ return srs_error_new(ERROR_EDGE_VHOST_REMOVED, "vhost %s removed", req->vhost_.c_str());
}
// select the origin.
@@ -98,10 +98,10 @@ srs_error_t SrsEdgeRtmpUpstream::connect(ISrsRequest *r, ISrsLbRoundRobin *lb)
selected_port = port;
// support vhost tranform for edge,
- std::string vhost = _srs_config->get_vhost_edge_transform_vhost(req->vhost);
- vhost = srs_strings_replace(vhost, "[vhost]", req->vhost);
+ std::string vhost = _srs_config->get_vhost_edge_transform_vhost(req->vhost_);
+ vhost = srs_strings_replace(vhost, "[vhost]", req->vhost_);
- url = srs_net_url_encode_rtmp_url(server, port, req->host, vhost, req->app, req->stream, req->param);
+ url = srs_net_url_encode_rtmp_url(server, port, req->host_, vhost, req->app_, req->stream_, req->param_);
}
srs_freep(sdk);
@@ -116,11 +116,11 @@ srs_error_t SrsEdgeRtmpUpstream::connect(ISrsRequest *r, ISrsLbRoundRobin *lb)
// For RTMP client, we pass the vhost in tcUrl when connecting,
// so we publish without vhost in stream.
string stream;
- if ((err = sdk->play(_srs_config->get_chunk_size(req->vhost), false, &stream)) != srs_success) {
+ if ((err = sdk->play(_srs_config->get_chunk_size(req->vhost_), false, &stream)) != srs_success) {
return srs_error_wrap(err, "edge pull %s stream failed", url.c_str());
}
- srs_trace("edge-pull publish url %s, stream=%s%s as %s", url.c_str(), req->stream.c_str(), req->param.c_str(), stream.c_str());
+ srs_trace("edge-pull publish url %s, stream=%s%s as %s", url.c_str(), req->stream_.c_str(), req->param_.c_str(), stream.c_str());
return err;
}
@@ -192,12 +192,12 @@ srs_error_t SrsEdgeFlvUpstream::do_connect(ISrsRequest *r, ISrsLbRoundRobin *lb,
ISrsRequest *req = r;
if (redirect_depth == 0) {
- SrsConfDirective *conf = _srs_config->get_vhost_edge_origin(req->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_edge_origin(req->vhost_);
// when origin is error, for instance, server is shutdown,
// then user remove the vhost then reload, the conf is empty.
if (!conf) {
- return srs_error_new(ERROR_EDGE_VHOST_REMOVED, "vhost %s removed", req->vhost.c_str());
+ return srs_error_new(ERROR_EDGE_VHOST_REMOVED, "vhost %s removed", req->vhost_.c_str());
}
// select the origin.
@@ -213,20 +213,20 @@ srs_error_t SrsEdgeFlvUpstream::do_connect(ISrsRequest *r, ISrsLbRoundRobin *lb,
selected_port = port;
} else {
// If HTTP redirect, use the server in location.
- schema_ = req->schema;
- selected_ip = req->host;
- selected_port = req->port;
+ schema_ = req->schema_;
+ selected_ip = req->host_;
+ selected_port = req->port_;
}
srs_freep(sdk_);
sdk_ = new SrsHttpClient();
- string path = "/" + req->app + "/" + req->stream;
- if (!srs_strings_ends_with(req->stream, ".flv")) {
+ string path = "/" + req->app_ + "/" + req->stream_;
+ if (!srs_strings_ends_with(req->stream_, ".flv")) {
path += ".flv";
}
- if (!req->param.empty()) {
- path += req->param;
+ if (!req->param_.empty()) {
+ path += req->param_;
}
string url = schema_ + "://" + selected_ip + ":" + srs_strconv_format_int(selected_port);
@@ -267,12 +267,12 @@ srs_error_t SrsEdgeFlvUpstream::do_connect(ISrsRequest *r, ISrsLbRoundRobin *lb,
string schema, host, vhost, param;
srs_net_url_parse_tcurl(tcUrl, schema, host, vhost, app, stream_name, port, param);
- r->schema = schema;
- r->host = host;
- r->port = port;
- r->app = app;
- r->stream = stream_name;
- r->param = param;
+ r->schema_ = schema;
+ r->host_ = host;
+ r->port_ = port;
+ r->app_ = app;
+ r->stream_ = stream_name;
+ r->param_ = param;
}
return do_connect(r, lb, redirect_depth + 1);
}
@@ -519,12 +519,12 @@ srs_error_t SrsEdgeIngester::do_cycle()
}
// Use protocol in config.
- string edge_protocol = _srs_config->get_vhost_edge_protocol(req->vhost);
+ string edge_protocol = _srs_config->get_vhost_edge_protocol(req->vhost_);
// If follow client protocol, change to protocol of client.
- bool follow_client = _srs_config->get_vhost_edge_follow_client(req->vhost);
- if (follow_client && !req->protocol.empty()) {
- edge_protocol = req->protocol;
+ bool follow_client = _srs_config->get_vhost_edge_follow_client(req->vhost_);
+ if (follow_client && !req->protocol_.empty()) {
+ edge_protocol = req->protocol_;
}
// Create object by protocol.
@@ -670,12 +670,12 @@ srs_error_t SrsEdgeIngester::process_publish_message(SrsRtmpCommonMessage *msg,
// RTMP 302 redirect
if (dynamic_cast(pkt.get())) {
SrsCallPacket *call = dynamic_cast(pkt.get());
- if (!call->arguments->is_object()) {
+ if (!call->arguments_->is_object()) {
return err;
}
SrsAmf0Any *prop = NULL;
- SrsAmf0Object *evt = call->arguments->to_object();
+ SrsAmf0Object *evt = call->arguments_->to_object();
if ((prop = evt->ensure_property_string("level")) == NULL) {
return err;
@@ -758,7 +758,7 @@ srs_error_t SrsEdgeForwarder::start()
std::string url;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_edge_origin(req->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_edge_origin(req->vhost_);
srs_assert(conf);
// select the origin.
@@ -767,10 +767,10 @@ srs_error_t SrsEdgeForwarder::start()
srs_net_split_hostport(server, server, port);
// support vhost tranform for edge,
- std::string vhost = _srs_config->get_vhost_edge_transform_vhost(req->vhost);
- vhost = srs_strings_replace(vhost, "[vhost]", req->vhost);
+ std::string vhost = _srs_config->get_vhost_edge_transform_vhost(req->vhost_);
+ vhost = srs_strings_replace(vhost, "[vhost]", req->vhost_);
- url = srs_net_url_encode_rtmp_url(server, port, req->host, vhost, req->app, req->stream, req->param);
+ url = srs_net_url_encode_rtmp_url(server, port, req->host_, vhost, req->app_, req->stream_, req->param_);
}
// We must stop the coroutine before disposing the sdk.
@@ -790,7 +790,7 @@ srs_error_t SrsEdgeForwarder::start()
// For RTMP client, we pass the vhost in tcUrl when connecting,
// so we publish without vhost in stream.
string stream;
- if ((err = sdk->publish(_srs_config->get_chunk_size(req->vhost), false, &stream)) != srs_success) {
+ if ((err = sdk->publish(_srs_config->get_chunk_size(req->vhost_), false, &stream)) != srs_success) {
return srs_error_wrap(err, "sdk publish");
}
@@ -799,7 +799,7 @@ srs_error_t SrsEdgeForwarder::start()
return srs_error_wrap(err, "coroutine");
}
- srs_trace("edge-fwr publish url %s, stream=%s%s as %s", url.c_str(), req->stream.c_str(), req->param.c_str(), stream.c_str());
+ srs_trace("edge-fwr publish url %s, stream=%s%s as %s", url.c_str(), req->stream_.c_str(), req->param_.c_str(), stream.c_str());
return err;
}
@@ -881,9 +881,9 @@ srs_error_t SrsEdgeForwarder::do_cycle()
}
// forward all messages.
- // each msg in msgs.msgs must be free, for the SrsMessageArray never free them.
+ // each msg in msgs.msgs_ must be free, for the SrsMessageArray never free them.
int count = 0;
- if ((err = queue->dump_packets(msgs.max, msgs.msgs, count)) != srs_success) {
+ if ((err = queue->dump_packets(msgs.max_, msgs.msgs_, count)) != srs_success) {
return srs_error_wrap(err, "queue dumps packets");
}
@@ -901,7 +901,7 @@ srs_error_t SrsEdgeForwarder::do_cycle()
}
// sendout messages, all messages are freed by send_and_free_messages().
- if ((err = sdk->send_and_free_messages(msgs.msgs, count)) != srs_success) {
+ if ((err = sdk->send_and_free_messages(msgs.msgs_, count)) != srs_success) {
return srs_error_wrap(err, "send messages");
}
}
diff --git a/trunk/src/app/srs_app_encoder.cpp b/trunk/src/app/srs_app_encoder.cpp
index 0d6f75c788f..b1d38756f52 100644
--- a/trunk/src/app/srs_app_encoder.cpp
+++ b/trunk/src/app/srs_app_encoder.cpp
@@ -164,22 +164,22 @@ srs_error_t SrsEncoder::parse_scope_engines(ISrsRequest *req)
// parse vhost scope engines
std::string scope = "";
- if ((conf = _srs_config->get_transcode(req->vhost, scope)) != NULL) {
+ if ((conf = _srs_config->get_transcode(req->vhost_, scope)) != NULL) {
if ((err = parse_ffmpeg(req, conf)) != srs_success) {
return srs_error_wrap(err, "parse ffmpeg");
}
}
// parse app scope engines
- scope = req->app;
- if ((conf = _srs_config->get_transcode(req->vhost, scope)) != NULL) {
+ scope = req->app_;
+ if ((conf = _srs_config->get_transcode(req->vhost_, scope)) != NULL) {
if ((err = parse_ffmpeg(req, conf)) != srs_success) {
return srs_error_wrap(err, "parse ffmpeg");
}
}
// parse stream scope engines
scope += "/";
- scope += req->stream;
- if ((conf = _srs_config->get_transcode(req->vhost, scope)) != NULL) {
+ scope += req->stream_;
+ if ((conf = _srs_config->get_transcode(req->vhost_, scope)) != NULL) {
if ((err = parse_ffmpeg(req, conf)) != srs_success) {
return srs_error_wrap(err, "parse ffmpeg");
}
@@ -244,29 +244,29 @@ srs_error_t SrsEncoder::initialize_ffmpeg(SrsFFMPEG *ffmpeg, ISrsRequest *req, S
input = "rtmp://";
input += SRS_CONSTS_LOCALHOST;
input += ":";
- input += srs_strconv_format_int(req->port);
+ input += srs_strconv_format_int(req->port_);
input += "/";
- input += req->app;
+ input += req->app_;
input += "/";
- input += req->stream;
+ input += req->stream_;
input += "?vhost=";
- input += req->vhost;
+ input += req->vhost_;
// stream name: vhost/app/stream for print
- input_stream_name = req->vhost;
+ input_stream_name = req->vhost_;
input_stream_name += "/";
- input_stream_name += req->app;
+ input_stream_name += req->app_;
input_stream_name += "/";
- input_stream_name += req->stream;
+ input_stream_name += req->stream_;
std::string output = _srs_config->get_engine_output(engine);
// output stream, to other/self server
// ie. rtmp://localhost:1935/live/livestream_sd
- output = srs_strings_replace(output, "[vhost]", req->vhost);
- output = srs_strings_replace(output, "[port]", srs_strconv_format_int(req->port));
- output = srs_strings_replace(output, "[app]", req->app);
- output = srs_strings_replace(output, "[stream]", req->stream);
- output = srs_strings_replace(output, "[param]", req->param);
+ output = srs_strings_replace(output, "[vhost]", req->vhost_);
+ output = srs_strings_replace(output, "[port]", srs_strconv_format_int(req->port_));
+ output = srs_strings_replace(output, "[app]", req->app_);
+ output = srs_strings_replace(output, "[stream]", req->stream_);
+ output = srs_strings_replace(output, "[param]", req->param_);
output = srs_strings_replace(output, "[engine]", engine->arg0());
output = srs_path_build_timestamp(output);
@@ -277,11 +277,11 @@ srs_error_t SrsEncoder::initialize_ffmpeg(SrsFFMPEG *ffmpeg, ISrsRequest *req, S
log_file += "/";
log_file += "ffmpeg-encoder";
log_file += "-";
- log_file += req->vhost;
+ log_file += req->vhost_;
log_file += "-";
- log_file += req->app;
+ log_file += req->app_;
log_file += "-";
- log_file += req->stream;
+ log_file += req->stream_;
if (!engine->args.empty()) {
log_file += "-";
log_file += engine->arg0();
diff --git a/trunk/src/app/srs_app_forward.cpp b/trunk/src/app/srs_app_forward.cpp
index eeb1ef39ba7..347b015748e 100644
--- a/trunk/src/app/srs_app_forward.cpp
+++ b/trunk/src/app/srs_app_forward.cpp
@@ -209,7 +209,7 @@ srs_error_t SrsForwarder::do_cycle()
srs_net_split_hostport(ep_forward, server, port);
// generate url
- url = srs_net_url_encode_rtmp_url(server, port, req->host, req->vhost, req->app, req->stream, req->param);
+ url = srs_net_url_encode_rtmp_url(server, port, req->host_, req->vhost_, req->app_, req->stream_, req->param_);
}
srs_freep(sdk);
@@ -224,7 +224,7 @@ srs_error_t SrsForwarder::do_cycle()
// For RTMP client, we pass the vhost in tcUrl when connecting,
// so we publish without vhost in stream.
string stream;
- if ((err = sdk->publish(_srs_config->get_chunk_size(req->vhost), false, &stream)) != srs_success) {
+ if ((err = sdk->publish(_srs_config->get_chunk_size(req->vhost_), false, &stream)) != srs_success) {
return srs_error_wrap(err, "sdk publish");
}
@@ -236,7 +236,7 @@ srs_error_t SrsForwarder::do_cycle()
return srs_error_wrap(err, "forward");
}
- srs_trace("forward publish url %s, stream=%s%s as %s", url.c_str(), req->stream.c_str(), req->param.c_str(), stream.c_str());
+ srs_trace("forward publish url %s, stream=%s%s as %s", url.c_str(), req->stream_.c_str(), req->param_.c_str(), stream.c_str());
return err;
}
@@ -286,9 +286,9 @@ srs_error_t SrsForwarder::forward()
}
// forward all messages.
- // each msg in msgs.msgs must be free, for the SrsMessageArray never free them.
+ // each msg in msgs.msgs_ must be free, for the SrsMessageArray never free them.
int count = 0;
- if ((err = queue->dump_packets(msgs.max, msgs.msgs, count)) != srs_success) {
+ if ((err = queue->dump_packets(msgs.max_, msgs.msgs_, count)) != srs_success) {
return srs_error_wrap(err, "dump packets");
}
@@ -303,7 +303,7 @@ srs_error_t SrsForwarder::forward()
}
// sendout messages, all messages are freed by send_and_free_messages().
- if ((err = sdk->send_and_free_messages(msgs.msgs, count)) != srs_success) {
+ if ((err = sdk->send_and_free_messages(msgs.msgs_, count)) != srs_success) {
return srs_error_wrap(err, "send messages");
}
}
diff --git a/trunk/src/app/srs_app_gb28181.cpp b/trunk/src/app/srs_app_gb28181.cpp
index 6eabd570ddf..cbbe4a382dc 100644
--- a/trunk/src/app/srs_app_gb28181.cpp
+++ b/trunk/src/app/srs_app_gb28181.cpp
@@ -1180,7 +1180,7 @@ srs_error_t SrsGbMuxer::on_ts_audio(SrsTsMessage *msg, SrsBuffer *avs)
}
aac_specific_config_ = sh;
- codec.aac_packet_type = 0;
+ codec.aac_packet_type_ = 0;
if ((err = write_audio_raw_frame((char *)sh.data(), (int)sh.length(), &codec, dts)) != srs_success) {
return srs_error_wrap(err, "write raw audio frame");
@@ -1188,7 +1188,7 @@ srs_error_t SrsGbMuxer::on_ts_audio(SrsTsMessage *msg, SrsBuffer *avs)
}
// audio raw data.
- codec.aac_packet_type = 1;
+ codec.aac_packet_type_ = 1;
if ((err = write_audio_raw_frame(frame, frame_size, &codec, dts)) != srs_success) {
return srs_error_wrap(err, "write audio raw frame");
}
diff --git a/trunk/src/app/srs_app_hls.cpp b/trunk/src/app/srs_app_hls.cpp
index 70bcffec135..f68bcbe34c3 100644
--- a/trunk/src/app/srs_app_hls.cpp
+++ b/trunk/src/app/srs_app_hls.cpp
@@ -275,7 +275,7 @@ srs_error_t SrsDvrAsyncCallOnHls::call()
{
srs_error_t err = srs_success;
- if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost_)) {
return err;
}
@@ -285,7 +285,7 @@ srs_error_t SrsDvrAsyncCallOnHls::call()
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_hls(req->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_hls(req->vhost_);
if (!conf) {
return err;
@@ -325,7 +325,7 @@ srs_error_t SrsDvrAsyncCallOnHlsNotify::call()
{
srs_error_t err = srs_success;
- if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost_)) {
return err;
}
@@ -335,7 +335,7 @@ srs_error_t SrsDvrAsyncCallOnHlsNotify::call()
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_hls_notify(req->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_hls_notify(req->vhost_);
if (!conf) {
return err;
@@ -344,7 +344,7 @@ srs_error_t SrsDvrAsyncCallOnHlsNotify::call()
hooks = conf->args;
}
- int nb_notify = _srs_config->get_vhost_hls_nb_notify(req->vhost);
+ int nb_notify = _srs_config->get_vhost_hls_nb_notify(req->vhost_);
for (int i = 0; i < (int)hooks.size(); i++) {
std::string url = hooks.at(i);
if ((err = _srs_hooks->on_hls_notify(cid, url, req, ts_url, nb_notify)) != srs_success) {
@@ -494,9 +494,9 @@ srs_error_t SrsHlsFmp4Muxer::write_init_mp4(SrsFormat *format, bool has_video, b
{
srs_error_t err = srs_success;
- std::string vhost = req_->vhost;
- std::string stream = req_->stream;
- std::string app = req_->app;
+ std::string vhost = req_->vhost_;
+ std::string stream = req_->stream_;
+ std::string app = req_->app_;
// Get init.mp4 file template from configuration
std::string init_file = _srs_config->get_hls_init_file(vhost);
@@ -645,9 +645,9 @@ srs_error_t SrsHlsFmp4Muxer::update_config(ISrsRequest *r)
srs_freep(req_);
req_ = r->copy();
- std::string vhost = req_->vhost;
- std::string stream = req_->stream;
- std::string app = req_->app;
+ std::string vhost = req_->vhost_;
+ std::string stream = req_->stream_;
+ std::string app = req_->app_;
hls_fragment_ = _srs_config->get_hls_fragment(vhost);
double hls_td_ratio = _srs_config->get_hls_td_ratio(vhost);
@@ -722,7 +722,7 @@ srs_error_t SrsHlsFmp4Muxer::segment_open(srs_utime_t basetime)
// generate filename.
std::string m4s_file = hls_m4s_file_;
- m4s_file = srs_path_build_stream(m4s_file, req_->vhost, req_->app, req_->stream);
+ m4s_file = srs_path_build_stream(m4s_file, req_->vhost_, req_->app_, req_->stream_);
if (hls_ts_floor_) {
// accept the floor ts for the first piece.
int64_t current_floor_ts = srs_time_now_realtime() / hls_fragment_;
@@ -903,7 +903,7 @@ srs_error_t SrsHlsFmp4Muxer::write_hls_key()
return srs_error_wrap(err, "rand iv failed.");
}
- string key_file = srs_path_build_stream(hls_key_file_, req_->vhost, req_->app, req_->stream);
+ string key_file = srs_path_build_stream(hls_key_file_, req_->vhost_, req_->app_, req_->stream_);
key_file = srs_strings_replace(key_file, "[seq]", srs_strconv_format_int(current_->sequence_no));
string key_url = hls_key_file_path_ + "/" + key_file;
@@ -1016,7 +1016,7 @@ srs_error_t SrsHlsFmp4Muxer::_refresh_m3u8(std::string m3u8_file)
srs_hex_encode_to_string(hexiv, segment->iv, 16);
hexiv[32] = '\0';
- string key_file = srs_path_build_stream(hls_key_file_, req_->vhost, req_->app, req_->stream);
+ string key_file = srs_path_build_stream(hls_key_file_, req_->vhost_, req_->app_, req_->stream_);
key_file = srs_strings_replace(key_file, "[seq]", srs_strconv_format_int(segment->sequence_no));
string key_path = key_file;
@@ -1236,11 +1236,11 @@ srs_error_t SrsHlsMuxer::update_config(ISrsRequest *r, string entry_prefix,
hls_key_url = key_url;
// generate the m3u8 dir and path.
- m3u8_url = srs_path_build_stream(m3u8_file, req->vhost, req->app, req->stream);
+ m3u8_url = srs_path_build_stream(m3u8_file, req->vhost_, req->app_, req->stream_);
m3u8 = path + "/" + m3u8_url;
// when update config, reset the history target duration.
- max_td = fragment * _srs_config->get_hls_td_ratio(r->vhost);
+ max_td = fragment * _srs_config->get_hls_td_ratio(r->vhost_);
// create m3u8 dir once.
m3u8_dir = srs_path_filepath_dir(m3u8);
@@ -1249,7 +1249,7 @@ srs_error_t SrsHlsMuxer::update_config(ISrsRequest *r, string entry_prefix,
}
if (hls_keys && (hls_path != hls_key_file_path)) {
- string key_file = srs_path_build_stream(hls_key_file, req->vhost, req->app, req->stream);
+ string key_file = srs_path_build_stream(hls_key_file, req->vhost_, req->app_, req->stream_);
string key_url = hls_key_file_path + "/" + key_file;
string key_dir = srs_path_filepath_dir(key_url);
if ((err = srs_os_mkdir_all(key_dir)) != srs_success) {
@@ -1382,7 +1382,7 @@ srs_error_t SrsHlsMuxer::recover_hls()
// new segment.
SrsHlsSegment *seg = new SrsHlsSegment(context, default_acodec, default_vcodec, writer);
seg->sequence_no = _sequence_no++;
- seg->set_path(hls_path + "/" + req->app + "/" + ts_url);
+ seg->set_path(hls_path + "/" + req->app_ + "/" + ts_url);
seg->uri = ts_url;
seg->set_sequence_header(discon);
@@ -1448,7 +1448,7 @@ srs_error_t SrsHlsMuxer::segment_open()
// generate filename.
std::string ts_file = hls_ts_file;
- ts_file = srs_path_build_stream(ts_file, req->vhost, req->app, req->stream);
+ ts_file = srs_path_build_stream(ts_file, req->vhost_, req->app_, req->stream_);
if (hls_ts_floor) {
// accept the floor ts for the first piece.
int64_t current_floor_ts = srs_time_now_realtime() / hls_fragment;
@@ -1741,7 +1741,7 @@ srs_error_t SrsHlsMuxer::write_hls_key()
return srs_error_wrap(err, "rand iv failed.");
}
- string key_file = srs_path_build_stream(hls_key_file, req->vhost, req->app, req->stream);
+ string key_file = srs_path_build_stream(hls_key_file, req->vhost_, req->app_, req->stream_);
key_file = srs_strings_replace(key_file, "[seq]", srs_strconv_format_int(current->sequence_no));
string key_url = hls_key_file_path + "/" + key_file;
@@ -1852,7 +1852,7 @@ srs_error_t SrsHlsMuxer::_refresh_m3u8(string m3u8_file)
srs_hex_encode_to_string(hexiv, segment->iv, 16);
hexiv[32] = '\0';
- string key_file = srs_path_build_stream(hls_key_file, req->vhost, req->app, req->stream);
+ string key_file = srs_path_build_stream(hls_key_file, req->vhost_, req->app_, req->stream_);
key_file = srs_strings_replace(key_file, "[seq]", srs_strconv_format_int(segment->sequence_no));
string key_path = key_file;
@@ -1957,9 +1957,9 @@ srs_error_t SrsHlsController::on_publish(ISrsRequest *req)
{
srs_error_t err = srs_success;
- std::string vhost = req->vhost;
- std::string stream = req->stream;
- std::string app = req->app;
+ std::string vhost = req->vhost_;
+ std::string stream = req->stream_;
+ std::string app = req->app_;
srs_utime_t hls_fragment = _srs_config->get_hls_fragment(vhost);
double hls_td_ratio = _srs_config->get_hls_td_ratio(vhost);
@@ -2011,7 +2011,7 @@ srs_error_t SrsHlsController::on_publish(ISrsRequest *req)
// This config item is used in SrsHls, we just log its value here.
// If enabled, directly turn FLV timestamp to TS DTS.
// @remark It'll be reloaded automatically, because the origin hub will republish while reloading.
- hls_dts_directly = _srs_config->get_vhost_hls_dts_directly(req->vhost);
+ hls_dts_directly = _srs_config->get_vhost_hls_dts_directly(req->vhost_);
srs_trace("hls: win=%dms, frag=%dms, prefix=%s, path=%s, m3u8=%s, ts=%s, tdr=%.2f, aof=%.2f, floor=%d, clean=%d, waitk=%d, dispose=%dms, dts_directly=%d",
srsu2msi(hls_window), srsu2msi(hls_fragment), entry_prefix.c_str(), path.c_str(), m3u8_file.c_str(), ts_file.c_str(),
@@ -2268,9 +2268,9 @@ srs_error_t SrsHlsMp4Controller::on_publish(ISrsRequest *req)
srs_error_t err = srs_success;
req_ = req;
- std::string vhost = req->vhost;
- std::string stream = req->stream;
- std::string app = req->app;
+ std::string vhost = req->vhost_;
+ std::string stream = req->stream_;
+ std::string app = req->app_;
// get the hls m3u8 ts list entry prefix config
std::string entry_prefix = _srs_config->get_hls_entry_prefix(vhost);
@@ -2483,7 +2483,7 @@ void SrsHls::dispose()
// Ignore when hls_dispose disabled.
// @see https://github.com/ossrs/srs/issues/865
- srs_utime_t hls_dispose = _srs_config->get_hls_dispose(req->vhost);
+ srs_utime_t hls_dispose = _srs_config->get_hls_dispose(req->vhost_);
if (!hls_dispose) {
return;
}
@@ -2512,7 +2512,7 @@ srs_error_t SrsHls::cycle()
return err;
// If not unpublishing and not reloading, try to dispose HLS stream.
- srs_utime_t hls_dispose = _srs_config->get_hls_dispose(req->vhost);
+ srs_utime_t hls_dispose = _srs_config->get_hls_dispose(req->vhost_);
if (hls_dispose <= 0) {
return err;
}
@@ -2535,7 +2535,7 @@ srs_error_t SrsHls::cycle()
srs_utime_t SrsHls::cleanup_delay()
{
// We use larger timeout to cleanup the HLS, after disposed it if required.
- return _srs_config->get_hls_dispose(req->vhost) * 1.1;
+ return _srs_config->get_hls_dispose(req->vhost_) * 1.1;
}
// CRITICAL: This method is called AFTER the source has been added to the source pool
@@ -2551,7 +2551,7 @@ srs_error_t SrsHls::initialize(SrsOriginHub *h, ISrsRequest *r)
hub = h;
req = r;
- bool is_fmp4_enabled = _srs_config->get_hls_use_fmp4(r->vhost);
+ bool is_fmp4_enabled = _srs_config->get_hls_use_fmp4(r->vhost_);
if (!controller) {
if (is_fmp4_enabled) {
@@ -2580,7 +2580,7 @@ srs_error_t SrsHls::on_publish()
return err;
}
- if (!_srs_config->get_hls_enabled(req->vhost)) {
+ if (!_srs_config->get_hls_enabled(req->vhost_)) {
return err;
}
diff --git a/trunk/src/app/srs_app_http_hooks.cpp b/trunk/src/app/srs_app_http_hooks.cpp
index aa021214a23..6bbdc9f0cdf 100644
--- a/trunk/src/app/srs_app_http_hooks.cpp
+++ b/trunk/src/app/srs_app_http_hooks.cpp
@@ -64,13 +64,13 @@ srs_error_t SrsHttpHooks::on_connect(string url, ISrsRequest *req)
obj->set("service_id", SrsJsonAny::str(stat->service_id().c_str()));
obj->set("action", SrsJsonAny::str("on_connect"));
obj->set("client_id", SrsJsonAny::str(cid.c_str()));
- obj->set("ip", SrsJsonAny::str(req->ip.c_str()));
- obj->set("vhost", SrsJsonAny::str(req->vhost.c_str()));
- obj->set("app", SrsJsonAny::str(req->app.c_str()));
- obj->set("stream", SrsJsonAny::str(req->stream.c_str()));
- obj->set("param", SrsJsonAny::str(req->param.c_str()));
- obj->set("tcUrl", SrsJsonAny::str(req->tcUrl.c_str()));
- obj->set("pageUrl", SrsJsonAny::str(req->pageUrl.c_str()));
+ obj->set("ip", SrsJsonAny::str(req->ip_.c_str()));
+ obj->set("vhost", SrsJsonAny::str(req->vhost_.c_str()));
+ obj->set("app", SrsJsonAny::str(req->app_.c_str()));
+ obj->set("stream", SrsJsonAny::str(req->stream_.c_str()));
+ obj->set("param", SrsJsonAny::str(req->param_.c_str()));
+ obj->set("tcUrl", SrsJsonAny::str(req->tcUrl_.c_str()));
+ obj->set("pageUrl", SrsJsonAny::str(req->pageUrl_.c_str()));
std::string data = obj->dumps();
std::string res;
@@ -100,9 +100,9 @@ void SrsHttpHooks::on_close(string url, ISrsRequest *req, int64_t send_bytes, in
obj->set("service_id", SrsJsonAny::str(stat->service_id().c_str()));
obj->set("action", SrsJsonAny::str("on_close"));
obj->set("client_id", SrsJsonAny::str(cid.c_str()));
- obj->set("ip", SrsJsonAny::str(req->ip.c_str()));
- obj->set("vhost", SrsJsonAny::str(req->vhost.c_str()));
- obj->set("app", SrsJsonAny::str(req->app.c_str()));
+ obj->set("ip", SrsJsonAny::str(req->ip_.c_str()));
+ obj->set("vhost", SrsJsonAny::str(req->vhost_.c_str()));
+ obj->set("app", SrsJsonAny::str(req->app_.c_str()));
obj->set("send_bytes", SrsJsonAny::integer(send_bytes));
obj->set("recv_bytes", SrsJsonAny::integer(recv_bytes));
@@ -137,12 +137,12 @@ srs_error_t SrsHttpHooks::on_publish(string url, ISrsRequest *req)
obj->set("service_id", SrsJsonAny::str(stat->service_id().c_str()));
obj->set("action", SrsJsonAny::str("on_publish"));
obj->set("client_id", SrsJsonAny::str(cid.c_str()));
- obj->set("ip", SrsJsonAny::str(req->ip.c_str()));
- obj->set("vhost", SrsJsonAny::str(req->vhost.c_str()));
- obj->set("app", SrsJsonAny::str(req->app.c_str()));
- obj->set("tcUrl", SrsJsonAny::str(req->tcUrl.c_str()));
- obj->set("stream", SrsJsonAny::str(req->stream.c_str()));
- obj->set("param", SrsJsonAny::str(req->param.c_str()));
+ obj->set("ip", SrsJsonAny::str(req->ip_.c_str()));
+ obj->set("vhost", SrsJsonAny::str(req->vhost_.c_str()));
+ obj->set("app", SrsJsonAny::str(req->app_.c_str()));
+ obj->set("tcUrl", SrsJsonAny::str(req->tcUrl_.c_str()));
+ obj->set("stream", SrsJsonAny::str(req->stream_.c_str()));
+ obj->set("param", SrsJsonAny::str(req->param_.c_str()));
obj->set("stream_url", SrsJsonAny::str(req->get_stream_url().c_str()));
SrsStatisticStream *stream = stat->find_stream_by_url(req->get_stream_url());
@@ -178,12 +178,12 @@ void SrsHttpHooks::on_unpublish(string url, ISrsRequest *req)
obj->set("service_id", SrsJsonAny::str(stat->service_id().c_str()));
obj->set("action", SrsJsonAny::str("on_unpublish"));
obj->set("client_id", SrsJsonAny::str(cid.c_str()));
- obj->set("ip", SrsJsonAny::str(req->ip.c_str()));
- obj->set("vhost", SrsJsonAny::str(req->vhost.c_str()));
- obj->set("app", SrsJsonAny::str(req->app.c_str()));
- obj->set("tcUrl", SrsJsonAny::str(req->tcUrl.c_str()));
- obj->set("stream", SrsJsonAny::str(req->stream.c_str()));
- obj->set("param", SrsJsonAny::str(req->param.c_str()));
+ obj->set("ip", SrsJsonAny::str(req->ip_.c_str()));
+ obj->set("vhost", SrsJsonAny::str(req->vhost_.c_str()));
+ obj->set("app", SrsJsonAny::str(req->app_.c_str()));
+ obj->set("tcUrl", SrsJsonAny::str(req->tcUrl_.c_str()));
+ obj->set("stream", SrsJsonAny::str(req->stream_.c_str()));
+ obj->set("param", SrsJsonAny::str(req->param_.c_str()));
obj->set("stream_url", SrsJsonAny::str(req->get_stream_url().c_str()));
SrsStatisticStream *stream = stat->find_stream_by_url(req->get_stream_url());
@@ -222,13 +222,13 @@ srs_error_t SrsHttpHooks::on_play(string url, ISrsRequest *req)
obj->set("service_id", SrsJsonAny::str(stat->service_id().c_str()));
obj->set("action", SrsJsonAny::str("on_play"));
obj->set("client_id", SrsJsonAny::str(cid.c_str()));
- obj->set("ip", SrsJsonAny::str(req->ip.c_str()));
- obj->set("vhost", SrsJsonAny::str(req->vhost.c_str()));
- obj->set("app", SrsJsonAny::str(req->app.c_str()));
- obj->set("stream", SrsJsonAny::str(req->stream.c_str()));
- obj->set("tcUrl", SrsJsonAny::str(req->tcUrl.c_str()));
- obj->set("param", SrsJsonAny::str(req->param.c_str()));
- obj->set("pageUrl", SrsJsonAny::str(req->pageUrl.c_str()));
+ obj->set("ip", SrsJsonAny::str(req->ip_.c_str()));
+ obj->set("vhost", SrsJsonAny::str(req->vhost_.c_str()));
+ obj->set("app", SrsJsonAny::str(req->app_.c_str()));
+ obj->set("stream", SrsJsonAny::str(req->stream_.c_str()));
+ obj->set("tcUrl", SrsJsonAny::str(req->tcUrl_.c_str()));
+ obj->set("param", SrsJsonAny::str(req->param_.c_str()));
+ obj->set("pageUrl", SrsJsonAny::str(req->pageUrl_.c_str()));
obj->set("stream_url", SrsJsonAny::str(req->get_stream_url().c_str()));
SrsStatisticStream *stream = stat->find_stream_by_url(req->get_stream_url());
@@ -264,12 +264,12 @@ void SrsHttpHooks::on_stop(string url, ISrsRequest *req)
obj->set("service_id", SrsJsonAny::str(stat->service_id().c_str()));
obj->set("action", SrsJsonAny::str("on_stop"));
obj->set("client_id", SrsJsonAny::str(cid.c_str()));
- obj->set("ip", SrsJsonAny::str(req->ip.c_str()));
- obj->set("vhost", SrsJsonAny::str(req->vhost.c_str()));
- obj->set("app", SrsJsonAny::str(req->app.c_str()));
- obj->set("tcUrl", SrsJsonAny::str(req->tcUrl.c_str()));
- obj->set("stream", SrsJsonAny::str(req->stream.c_str()));
- obj->set("param", SrsJsonAny::str(req->param.c_str()));
+ obj->set("ip", SrsJsonAny::str(req->ip_.c_str()));
+ obj->set("vhost", SrsJsonAny::str(req->vhost_.c_str()));
+ obj->set("app", SrsJsonAny::str(req->app_.c_str()));
+ obj->set("tcUrl", SrsJsonAny::str(req->tcUrl_.c_str()));
+ obj->set("stream", SrsJsonAny::str(req->stream_.c_str()));
+ obj->set("param", SrsJsonAny::str(req->param_.c_str()));
obj->set("stream_url", SrsJsonAny::str(req->get_stream_url().c_str()));
SrsStatisticStream *stream = stat->find_stream_by_url(req->get_stream_url());
@@ -310,12 +310,12 @@ srs_error_t SrsHttpHooks::on_dvr(SrsContextId c, string url, ISrsRequest *req, s
obj->set("service_id", SrsJsonAny::str(stat->service_id().c_str()));
obj->set("action", SrsJsonAny::str("on_dvr"));
obj->set("client_id", SrsJsonAny::str(cid.c_str()));
- obj->set("ip", SrsJsonAny::str(req->ip.c_str()));
- obj->set("vhost", SrsJsonAny::str(req->vhost.c_str()));
- obj->set("app", SrsJsonAny::str(req->app.c_str()));
- obj->set("tcUrl", SrsJsonAny::str(req->tcUrl.c_str()));
- obj->set("stream", SrsJsonAny::str(req->stream.c_str()));
- obj->set("param", SrsJsonAny::str(req->param.c_str()));
+ obj->set("ip", SrsJsonAny::str(req->ip_.c_str()));
+ obj->set("vhost", SrsJsonAny::str(req->vhost_.c_str()));
+ obj->set("app", SrsJsonAny::str(req->app_.c_str()));
+ obj->set("tcUrl", SrsJsonAny::str(req->tcUrl_.c_str()));
+ obj->set("stream", SrsJsonAny::str(req->stream_.c_str()));
+ obj->set("param", SrsJsonAny::str(req->param_.c_str()));
obj->set("cwd", SrsJsonAny::str(cwd.c_str()));
obj->set("file", SrsJsonAny::str(file.c_str()));
@@ -361,12 +361,12 @@ srs_error_t SrsHttpHooks::on_hls(SrsContextId c, string url, ISrsRequest *req, s
obj->set("service_id", SrsJsonAny::str(stat->service_id().c_str()));
obj->set("action", SrsJsonAny::str("on_hls"));
obj->set("client_id", SrsJsonAny::str(cid.c_str()));
- obj->set("ip", SrsJsonAny::str(req->ip.c_str()));
- obj->set("vhost", SrsJsonAny::str(req->vhost.c_str()));
- obj->set("app", SrsJsonAny::str(req->app.c_str()));
- obj->set("tcUrl", SrsJsonAny::str(req->tcUrl.c_str()));
- obj->set("stream", SrsJsonAny::str(req->stream.c_str()));
- obj->set("param", SrsJsonAny::str(req->param.c_str()));
+ obj->set("ip", SrsJsonAny::str(req->ip_.c_str()));
+ obj->set("vhost", SrsJsonAny::str(req->vhost_.c_str()));
+ obj->set("app", SrsJsonAny::str(req->app_.c_str()));
+ obj->set("tcUrl", SrsJsonAny::str(req->tcUrl_.c_str()));
+ obj->set("stream", SrsJsonAny::str(req->stream_.c_str()));
+ obj->set("param", SrsJsonAny::str(req->param_.c_str()));
obj->set("duration", SrsJsonAny::number(srsu2ms(duration) / 1000.0));
obj->set("cwd", SrsJsonAny::str(cwd.c_str()));
obj->set("file", SrsJsonAny::str(file.c_str()));
@@ -411,10 +411,10 @@ srs_error_t SrsHttpHooks::on_hls_notify(SrsContextId c, std::string url, ISrsReq
url = srs_strings_replace(url, "[server_id]", stat->server_id().c_str());
url = srs_strings_replace(url, "[service_id]", stat->service_id().c_str());
- url = srs_strings_replace(url, "[app]", req->app);
- url = srs_strings_replace(url, "[stream]", req->stream);
+ url = srs_strings_replace(url, "[app]", req->app_);
+ url = srs_strings_replace(url, "[stream]", req->stream_);
url = srs_strings_replace(url, "[ts_url]", ts_url);
- url = srs_strings_replace(url, "[param]", req->param);
+ url = srs_strings_replace(url, "[param]", req->param_);
int64_t starttime = srsu2ms(srs_time_now_realtime());
@@ -533,12 +533,12 @@ srs_error_t SrsHttpHooks::on_forward_backend(string url, ISrsRequest *req, std::
obj->set("server_id", SrsJsonAny::str(stat->server_id().c_str()));
obj->set("service_id", SrsJsonAny::str(stat->service_id().c_str()));
obj->set("client_id", SrsJsonAny::str(cid.c_str()));
- obj->set("ip", SrsJsonAny::str(req->ip.c_str()));
- obj->set("vhost", SrsJsonAny::str(req->vhost.c_str()));
- obj->set("app", SrsJsonAny::str(req->app.c_str()));
- obj->set("tcUrl", SrsJsonAny::str(req->tcUrl.c_str()));
- obj->set("stream", SrsJsonAny::str(req->stream.c_str()));
- obj->set("param", SrsJsonAny::str(req->param.c_str()));
+ obj->set("ip", SrsJsonAny::str(req->ip_.c_str()));
+ obj->set("vhost", SrsJsonAny::str(req->vhost_.c_str()));
+ obj->set("app", SrsJsonAny::str(req->app_.c_str()));
+ obj->set("tcUrl", SrsJsonAny::str(req->tcUrl_.c_str()));
+ obj->set("stream", SrsJsonAny::str(req->stream_.c_str()));
+ obj->set("param", SrsJsonAny::str(req->param_.c_str()));
std::string data = obj->dumps();
std::string res;
diff --git a/trunk/src/app/srs_app_http_static.cpp b/trunk/src/app/srs_app_http_static.cpp
index 45c5bc3147c..521f9f4a8f5 100644
--- a/trunk/src/app/srs_app_http_static.cpp
+++ b/trunk/src/app/srs_app_http_static.cpp
@@ -85,14 +85,14 @@ srs_error_t SrsHlsStream::serve_m3u8_ctx(ISrsHttpResponseWriter *w, ISrsHttpMess
string ctx = r->query_get(SRS_CONTEXT_IN_HLS);
// If HLS stream is disabled, use SrsHttpFileServer to serve HLS, which is normal file server.
- if (!_srs_config->get_hls_ctx_enabled(req->vhost)) {
+ if (!_srs_config->get_hls_ctx_enabled(req->vhost_)) {
*served = false;
return srs_success;
}
// Correct the app and stream by path, which is created from template.
// @remark Be careful that the stream has extension now, might cause identify fail.
- req->stream = srs_path_filepath_base(r->path());
+ req->stream_ = srs_path_filepath_base(r->path());
// Served by us.
*served = true;
@@ -100,7 +100,7 @@ srs_error_t SrsHlsStream::serve_m3u8_ctx(ISrsHttpResponseWriter *w, ISrsHttpMess
// Already exists context, response with rebuilt m3u8 content.
if (!ctx.empty() && ctx_is_exist(ctx)) {
// If HLS stream is disabled, use SrsHttpFileServer to serve HLS, which is normal file server.
- if (!_srs_config->get_hls_ts_ctx_enabled(req->vhost)) {
+ if (!_srs_config->get_hls_ts_ctx_enabled(req->vhost_)) {
*served = false;
return srs_success;
}
@@ -167,7 +167,7 @@ srs_error_t SrsHlsStream::serve_new_session(ISrsHttpResponseWriter *w, ISrsHttpM
return srs_error_wrap(err, "stat on client");
}
- if ((err = security_->check(SrsHlsPlay, req->ip, req)) != srs_success) {
+ if ((err = security_->check(SrsHlsPlay, req->ip_, req)) != srs_success) {
return srs_error_wrap(err, "HLS: security check");
}
@@ -312,7 +312,7 @@ srs_error_t SrsHlsStream::http_hooks_on_play(ISrsRequest *req)
{
srs_error_t err = srs_success;
- if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost_)) {
return err;
}
@@ -322,7 +322,7 @@ srs_error_t SrsHlsStream::http_hooks_on_play(ISrsRequest *req)
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_play(req->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_play(req->vhost_);
if (!conf) {
return err;
@@ -343,7 +343,7 @@ srs_error_t SrsHlsStream::http_hooks_on_play(ISrsRequest *req)
void SrsHlsStream::http_hooks_on_stop(ISrsRequest *req)
{
- if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost_)) {
return;
}
@@ -353,7 +353,7 @@ void SrsHlsStream::http_hooks_on_stop(ISrsRequest *req)
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_stop(req->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_stop(req->vhost_);
if (!conf) {
srs_info("ignore the empty http callback: on_stop");
@@ -380,7 +380,7 @@ srs_error_t SrsHlsStream::on_timer(srs_utime_t interval)
string ctx = it->first;
SrsHlsVirtualConn *info = it->second;
- srs_utime_t hls_window = _srs_config->get_hls_window(info->req->vhost);
+ srs_utime_t hls_window = _srs_config->get_hls_window(info->req->vhost_);
if (info->request_time + (2 * hls_window) < srs_time_now_cached()) {
SrsContextRestore(_srs_context->get_id());
_srs_context->set_id(SrsContextId().set_value(ctx));
@@ -555,9 +555,9 @@ srs_error_t SrsVodStream::serve_m3u8_ctx(ISrsHttpResponseWriter *w, ISrsHttpMess
SrsUniquePtr req(hr->to_request(hr->host())->as_http());
// discovery vhost, resolve the vhost from config
- SrsConfDirective *parsed_vhost = _srs_config->get_vhost(req->vhost);
+ SrsConfDirective *parsed_vhost = _srs_config->get_vhost(req->vhost_);
if (parsed_vhost) {
- req->vhost = parsed_vhost->arg0();
+ req->vhost_ = parsed_vhost->arg0();
}
// Try to serve by HLS streaming.
diff --git a/trunk/src/app/srs_app_http_stream.cpp b/trunk/src/app/srs_app_http_stream.cpp
index 80d62300d6e..d4d0f985528 100644
--- a/trunk/src/app/srs_app_http_stream.cpp
+++ b/trunk/src/app/srs_app_http_stream.cpp
@@ -47,7 +47,7 @@ SrsBufferCache::SrsBufferCache(SrsServer *s, ISrsRequest *r)
trd = new SrsSTCoroutine("http-stream", this);
// TODO: FIXME: support reload.
- fast_cache = _srs_config->get_vhost_http_remux_fast_cache(req->vhost);
+ fast_cache = _srs_config->get_vhost_http_remux_fast_cache(req->vhost_);
server_ = s;
}
@@ -188,7 +188,7 @@ srs_error_t SrsBufferCache::cycle()
// free the messages.
for (int i = 0; i < count; i++) {
- SrsMediaPacket *msg = msgs.msgs[i];
+ SrsMediaPacket *msg = msgs.msgs_[i];
queue->enqueue(msg);
}
}
@@ -655,12 +655,12 @@ srs_error_t SrsLiveStream::serve_http_impl(ISrsHttpResponseWriter *w, ISrsHttpMe
// Correct the app and stream by path, which is created from template.
// @remark Be careful that the stream has extension now, might cause identify fail.
- req->stream = srs_path_filepath_base(r->path());
+ req->stream_ = srs_path_filepath_base(r->path());
// remove the extension of stream if have. for instance, test.flv -> test
- req->stream = srs_path_filepath_filename(req->stream);
+ req->stream_ = srs_path_filepath_filename(req->stream_);
// update client ip
- req->ip = hc->remote_ip();
+ req->ip_ = hc->remote_ip();
// We must do stat the client before hooks, because hooks depends on it.
SrsStatistic *stat = SrsStatistic::instance();
@@ -668,7 +668,7 @@ srs_error_t SrsLiveStream::serve_http_impl(ISrsHttpResponseWriter *w, ISrsHttpMe
return srs_error_wrap(err, "stat on client");
}
- if ((err = security_->check(SrsFlvPlay, req->ip, req)) != srs_success) {
+ if ((err = security_->check(SrsFlvPlay, req->ip_, req)) != srs_success) {
return srs_error_wrap(err, "flv: security check");
}
@@ -689,8 +689,8 @@ srs_error_t SrsLiveStream::serve_http_impl(ISrsHttpResponseWriter *w, ISrsHttpMe
}
srs_assert(live_source.get() != NULL);
- bool enabled_cache = _srs_config->get_gop_cache(req->vhost);
- int gcmf = _srs_config->get_gop_cache_max_frames(req->vhost);
+ bool enabled_cache = _srs_config->get_gop_cache(req->vhost_);
+ int gcmf = _srs_config->get_gop_cache_max_frames(req->vhost_);
live_source->set_cache(enabled_cache);
live_source->set_gop_cache_max_frames(gcmf);
@@ -740,10 +740,10 @@ srs_error_t SrsLiveStream::do_serve_http(SrsLiveSource *source, SrsLiveConsumer
ISrsBufferEncoder *enc_raw = NULL;
srs_assert(entry);
- bool drop_if_not_match = _srs_config->get_vhost_http_remux_drop_if_not_match(req->vhost);
- bool has_audio = _srs_config->get_vhost_http_remux_has_audio(req->vhost);
- bool has_video = _srs_config->get_vhost_http_remux_has_video(req->vhost);
- bool guess_has_av = _srs_config->get_vhost_http_remux_guess_has_av(req->vhost);
+ bool drop_if_not_match = _srs_config->get_vhost_http_remux_drop_if_not_match(req->vhost_);
+ bool has_audio = _srs_config->get_vhost_http_remux_has_audio(req->vhost_);
+ bool has_video = _srs_config->get_vhost_http_remux_has_video(req->vhost_);
+ bool guess_has_av = _srs_config->get_vhost_http_remux_guess_has_av(req->vhost_);
if (srs_strings_ends_with(entry->pattern, ".flv")) {
w->header()->set_content_type("video/x-flv");
@@ -816,9 +816,9 @@ srs_error_t SrsLiveStream::do_serve_http(SrsLiveSource *source, SrsLiveConsumer
return srs_error_wrap(err, "start recv thread");
}
- srs_utime_t mw_sleep = _srs_config->get_mw_sleep(req->vhost);
+ srs_utime_t mw_sleep = _srs_config->get_mw_sleep(req->vhost_);
srs_trace("FLV %s, encoder=%s, mw_sleep=%dms, cache=%d, msgs=%d, dinm=%d, guess_av=%d/%d/%d",
- entry->pattern.c_str(), enc_desc.c_str(), srsu2msi(mw_sleep), enc->has_cache(), msgs.max, drop_if_not_match,
+ entry->pattern.c_str(), enc_desc.c_str(), srsu2msi(mw_sleep), enc->has_cache(), msgs.max_, drop_if_not_match,
has_audio, has_video, guess_has_av);
// TODO: free and erase the disabled entry after all related connections is closed.
@@ -853,16 +853,16 @@ srs_error_t SrsLiveStream::do_serve_http(SrsLiveSource *source, SrsLiveConsumer
// sendout all messages.
if (ffe) {
- err = ffe->write_tags(msgs.msgs, count);
+ err = ffe->write_tags(msgs.msgs_, count);
} else {
- err = streaming_send_messages(enc.get(), msgs.msgs, count);
+ err = streaming_send_messages(enc.get(), msgs.msgs_, count);
}
// TODO: FIXME: Update the stat.
// free the messages.
for (int i = 0; i < count; i++) {
- SrsMediaPacket *msg = msgs.msgs[i];
+ SrsMediaPacket *msg = msgs.msgs_[i];
srs_freep(msg);
}
@@ -881,13 +881,13 @@ srs_error_t SrsLiveStream::http_hooks_on_play(ISrsHttpMessage *r)
{
srs_error_t err = srs_success;
- if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost_)) {
return err;
}
// Create request to report for the specified connection.
SrsHttpMessage *hr = dynamic_cast(r);
- SrsUniquePtr nreq(hr->to_request(req->vhost));
+ SrsUniquePtr nreq(hr->to_request(req->vhost_));
// the http hooks will cause context switch,
// so we must copy all hooks for the on_connect may freed.
@@ -895,7 +895,7 @@ srs_error_t SrsLiveStream::http_hooks_on_play(ISrsHttpMessage *r)
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_play(nreq->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_play(nreq->vhost_);
if (!conf) {
return err;
@@ -916,13 +916,13 @@ srs_error_t SrsLiveStream::http_hooks_on_play(ISrsHttpMessage *r)
void SrsLiveStream::http_hooks_on_stop(ISrsHttpMessage *r)
{
- if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost_)) {
return;
}
// Create request to report for the specified connection.
SrsHttpMessage *hr = dynamic_cast(r);
- SrsUniquePtr nreq(hr->to_request(req->vhost));
+ SrsUniquePtr nreq(hr->to_request(req->vhost_));
// the http hooks will cause context switch,
// so we must copy all hooks for the on_connect may freed.
@@ -930,7 +930,7 @@ void SrsLiveStream::http_hooks_on_stop(ISrsHttpMessage *r)
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_stop(nreq->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_stop(nreq->vhost_);
if (!conf) {
srs_info("ignore the empty http callback: on_stop");
@@ -1077,18 +1077,18 @@ srs_error_t SrsHttpStreamServer::http_mount(ISrsRequest *r)
// create stream from template when not found.
if (streamHandlers.find(sid) == streamHandlers.end()) {
- if (templateHandlers.find(r->vhost) == templateHandlers.end()) {
+ if (templateHandlers.find(r->vhost_) == templateHandlers.end()) {
return err;
}
- SrsLiveEntry *tmpl = templateHandlers[r->vhost];
+ SrsLiveEntry *tmpl = templateHandlers[r->vhost_];
std::string mount = tmpl->mount;
// replace the vhost variable
- mount = srs_strings_replace(mount, "[vhost]", r->vhost);
- mount = srs_strings_replace(mount, "[app]", r->app);
- mount = srs_strings_replace(mount, "[stream]", r->stream);
+ mount = srs_strings_replace(mount, "[vhost]", r->vhost_);
+ mount = srs_strings_replace(mount, "[app]", r->app_);
+ mount = srs_strings_replace(mount, "[stream]", r->stream_);
// remove the default vhost mount
mount = srs_strings_replace(mount, SRS_CONSTS_RTMP_DEFAULT_VHOST "/", "/");
@@ -1256,7 +1256,7 @@ srs_error_t SrsHttpStreamServer::dynamic_match(ISrsHttpMessage *request, ISrsHtt
// only when the http entry is disabled, check the config whether http flv disable,
// for the http flv edge use match to trigger the edge ingester, we always mount it
// eventhough the origin does not exists the specified stream.
- if (!_srs_config->get_vhost_http_remux_enabled(r->vhost)) {
+ if (!_srs_config->get_vhost_http_remux_enabled(r->vhost_)) {
return srs_error_new(ERROR_HTTP_DYNAMIC_MATCH, "stream disabled");
}
}
diff --git a/trunk/src/app/srs_app_mpegts_udp.cpp b/trunk/src/app/srs_app_mpegts_udp.cpp
index 24301264873..adc15aa2b91 100644
--- a/trunk/src/app/srs_app_mpegts_udp.cpp
+++ b/trunk/src/app/srs_app_mpegts_udp.cpp
@@ -566,7 +566,7 @@ srs_error_t SrsMpegtsOverUdp::on_ts_audio(SrsTsMessage *msg, SrsBuffer *avs)
}
aac_specific_config = sh;
- codec.aac_packet_type = 0;
+ codec.aac_packet_type_ = 0;
if ((err = write_audio_raw_frame((char *)sh.data(), (int)sh.length(), &codec, dts)) != srs_success) {
return srs_error_wrap(err, "write raw audio frame");
@@ -574,7 +574,7 @@ srs_error_t SrsMpegtsOverUdp::on_ts_audio(SrsTsMessage *msg, SrsBuffer *avs)
}
// audio raw data.
- codec.aac_packet_type = 1;
+ codec.aac_packet_type_ = 1;
if ((err = write_audio_raw_frame(frame, frame_size, &codec, dts)) != srs_success) {
return srs_error_wrap(err, "write audio raw frame");
}
diff --git a/trunk/src/app/srs_app_ng_exec.cpp b/trunk/src/app/srs_app_ng_exec.cpp
index cb8a527cf62..b3895adad85 100644
--- a/trunk/src/app/srs_app_ng_exec.cpp
+++ b/trunk/src/app/srs_app_ng_exec.cpp
@@ -124,19 +124,19 @@ srs_error_t SrsNgExec::parse_exec_publish(ISrsRequest *req)
{
srs_error_t err = srs_success;
- if (!_srs_config->get_exec_enabled(req->vhost)) {
- srs_trace("ignore disabled exec for vhost=%s", req->vhost.c_str());
+ if (!_srs_config->get_exec_enabled(req->vhost_)) {
+ srs_trace("ignore disabled exec for vhost=%s", req->vhost_.c_str());
return err;
}
// stream name: vhost/app/stream for print
- input_stream_name = req->vhost;
+ input_stream_name = req->vhost_;
input_stream_name += "/";
- input_stream_name += req->app;
+ input_stream_name += req->app_;
input_stream_name += "/";
- input_stream_name += req->stream;
+ input_stream_name += req->stream_;
- std::vector eps = _srs_config->get_exec_publishs(req->vhost);
+ std::vector eps = _srs_config->get_exec_publishs(req->vhost_);
for (int i = 0; i < (int)eps.size(); i++) {
SrsConfDirective *ep = eps.at(i);
SrsProcess *process = new SrsProcess();
@@ -162,7 +162,7 @@ srs_error_t SrsNgExec::parse_exec_publish(ISrsRequest *req)
if ((err = process->initialize(binary, argv)) != srs_success) {
srs_freep(process);
- return srs_error_wrap(err, "initialize process failed, binary=%s, vhost=%s", binary.c_str(), req->vhost.c_str());
+ return srs_error_wrap(err, "initialize process failed, binary=%s, vhost=%s", binary.c_str(), req->vhost_.c_str());
}
exec_publishs.push_back(process);
@@ -197,19 +197,19 @@ string SrsNgExec::parse(ISrsRequest *req, string tmpl)
{
string output = tmpl;
- output = srs_strings_replace(output, "[vhost]", req->vhost);
- output = srs_strings_replace(output, "[port]", srs_strconv_format_int(req->port));
- output = srs_strings_replace(output, "[app]", req->app);
- output = srs_strings_replace(output, "[stream]", req->stream);
+ output = srs_strings_replace(output, "[vhost]", req->vhost_);
+ output = srs_strings_replace(output, "[port]", srs_strconv_format_int(req->port_));
+ output = srs_strings_replace(output, "[app]", req->app_);
+ output = srs_strings_replace(output, "[stream]", req->stream_);
- output = srs_strings_replace(output, "[tcUrl]", req->tcUrl);
- output = srs_strings_replace(output, "[swfUrl]", req->swfUrl);
- output = srs_strings_replace(output, "[pageUrl]", req->pageUrl);
+ output = srs_strings_replace(output, "[tcUrl]", req->tcUrl_);
+ output = srs_strings_replace(output, "[swfUrl]", req->swfUrl_);
+ output = srs_strings_replace(output, "[pageUrl]", req->pageUrl_);
output = srs_path_build_timestamp(output);
if (output.find("[url]") != string::npos) {
- string url = srs_net_url_encode_rtmp_url(req->host, req->port, req->host, req->vhost, req->app, req->stream, req->param);
+ string url = srs_net_url_encode_rtmp_url(req->host_, req->port_, req->host_, req->vhost_, req->app_, req->stream_, req->param_);
output = srs_strings_replace(output, "[url]", url);
}
diff --git a/trunk/src/app/srs_app_recv_thread.cpp b/trunk/src/app/srs_app_recv_thread.cpp
index 254a85e6eef..e3c2e9be9c3 100644
--- a/trunk/src/app/srs_app_recv_thread.cpp
+++ b/trunk/src/app/srs_app_recv_thread.cpp
@@ -276,10 +276,10 @@ SrsPublishRecvThread::SrsPublishRecvThread(SrsRtmpServer *rtmp_sdk, ISrsRequest
mr_fd = mr_sock_fd;
// the mr settings,
- mr = _srs_config->get_mr_enabled(req->vhost);
- mr_sleep = _srs_config->get_mr_sleep(req->vhost);
+ mr = _srs_config->get_mr_enabled(req->vhost_);
+ mr_sleep = _srs_config->get_mr_sleep(req->vhost_);
- realtime = _srs_config->get_realtime_enabled(req->vhost);
+ realtime = _srs_config->get_realtime_enabled(req->vhost_);
_srs_config->subscribe(this);
}
diff --git a/trunk/src/app/srs_app_rtc_api.cpp b/trunk/src/app/srs_app_rtc_api.cpp
index 8bb67fac0e0..a388df7c687 100644
--- a/trunk/src/app/srs_app_rtc_api.cpp
+++ b/trunk/src/app/srs_app_rtc_api.cpp
@@ -126,18 +126,18 @@ srs_error_t SrsGoApiRtcPlay::do_serve_http(ISrsHttpResponseWriter *w, ISrsHttpMe
// The RTC user config object.
SrsRtcUserConfig ruc;
- ruc.req_->ip = clientip;
+ ruc.req_->ip_ = clientip;
ruc.api_ = api;
- srs_net_url_parse_rtmp_url(streamurl, ruc.req_->tcUrl, ruc.req_->stream);
+ srs_net_url_parse_rtmp_url(streamurl, ruc.req_->tcUrl_, ruc.req_->stream_);
- srs_net_url_parse_tcurl(ruc.req_->tcUrl, ruc.req_->schema, ruc.req_->host, ruc.req_->vhost,
- ruc.req_->app, ruc.req_->stream, ruc.req_->port, ruc.req_->param);
+ srs_net_url_parse_tcurl(ruc.req_->tcUrl_, ruc.req_->schema_, ruc.req_->host_, ruc.req_->vhost_,
+ ruc.req_->app_, ruc.req_->stream_, ruc.req_->port_, ruc.req_->param_);
// discovery vhost, resolve the vhost from config
- SrsConfDirective *parsed_vhost = _srs_config->get_vhost(ruc.req_->vhost);
+ SrsConfDirective *parsed_vhost = _srs_config->get_vhost(ruc.req_->vhost_);
if (parsed_vhost) {
- ruc.req_->vhost = parsed_vhost->arg0();
+ ruc.req_->vhost_ = parsed_vhost->arg0();
}
// For client to specifies the candidate(EIP) of server.
@@ -152,8 +152,8 @@ srs_error_t SrsGoApiRtcPlay::do_serve_http(ISrsHttpResponseWriter *w, ISrsHttpMe
srs_trace(
"RTC play %s, api=%s, tid=%s, clientip=%s, app=%s, stream=%s, offer=%dB, eip=%s, codec=%s, srtp=%s, dtls=%s",
- streamurl.c_str(), api.c_str(), tid.c_str(), clientip.c_str(), ruc.req_->app.c_str(),
- ruc.req_->stream.c_str(), remote_sdp_str.length(),
+ streamurl.c_str(), api.c_str(), tid.c_str(), clientip.c_str(), ruc.req_->app_.c_str(),
+ ruc.req_->stream_.c_str(), remote_sdp_str.length(),
eip.c_str(), codec.c_str(), srtp.c_str(), dtls.c_str());
ruc.eip_ = eip;
@@ -200,18 +200,18 @@ srs_error_t SrsGoApiRtcPlay::serve_http(ISrsHttpResponseWriter *w, ISrsHttpMessa
SrsSdp local_sdp;
// Config for SDP and session.
- local_sdp.session_config_.dtls_role = _srs_config->get_rtc_dtls_role(ruc->req_->vhost);
- local_sdp.session_config_.dtls_version = _srs_config->get_rtc_dtls_version(ruc->req_->vhost);
+ local_sdp.session_config_.dtls_role = _srs_config->get_rtc_dtls_role(ruc->req_->vhost_);
+ local_sdp.session_config_.dtls_version = _srs_config->get_rtc_dtls_version(ruc->req_->vhost_);
// Whether enabled.
bool server_enabled = _srs_config->get_rtc_server_enabled();
- bool rtc_enabled = _srs_config->get_rtc_enabled(ruc->req_->vhost);
+ bool rtc_enabled = _srs_config->get_rtc_enabled(ruc->req_->vhost_);
if (server_enabled && !rtc_enabled) {
- srs_warn("RTC disabled in vhost %s", ruc->req_->vhost.c_str());
+ srs_warn("RTC disabled in vhost %s", ruc->req_->vhost_.c_str());
}
if (!server_enabled || !rtc_enabled) {
return srs_error_new(ERROR_RTC_DISABLED, "Disabled server=%d, rtc=%d, vhost=%s",
- server_enabled, rtc_enabled, ruc->req_->vhost.c_str());
+ server_enabled, rtc_enabled, ruc->req_->vhost_.c_str());
}
// Whether RTC stream is active.
@@ -222,14 +222,14 @@ srs_error_t SrsGoApiRtcPlay::serve_http(ISrsHttpResponseWriter *w, ISrsHttpMessa
}
// For RTMP to RTC, fail if disabled and RTMP is active, see https://github.com/ossrs/srs/issues/2728
- if (!is_rtc_stream_active && !_srs_config->get_rtc_from_rtmp(ruc->req_->vhost)) {
+ if (!is_rtc_stream_active && !_srs_config->get_rtc_from_rtmp(ruc->req_->vhost_)) {
SrsSharedPtr live_source = _srs_sources->fetch(ruc->req_);
if (live_source.get() && !live_source->inactive()) {
- return srs_error_new(ERROR_RTC_DISABLED, "Disabled rtmp_to_rtc of %s, see #2728", ruc->req_->vhost.c_str());
+ return srs_error_new(ERROR_RTC_DISABLED, "Disabled rtmp_to_rtc of %s, see #2728", ruc->req_->vhost_.c_str());
}
}
- if ((err = security_->check(SrsRtcConnPlay, ruc->req_->ip, ruc->req_)) != srs_success) {
+ if ((err = security_->check(SrsRtcConnPlay, ruc->req_->ip_, ruc->req_)) != srs_success) {
return srs_error_wrap(err, "RTC: security check");
}
@@ -297,7 +297,7 @@ srs_error_t SrsGoApiRtcPlay::http_hooks_on_play(ISrsRequest *req)
{
srs_error_t err = srs_success;
- if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost_)) {
return err;
}
@@ -307,7 +307,7 @@ srs_error_t SrsGoApiRtcPlay::http_hooks_on_play(ISrsRequest *req)
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_play(req->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_play(req->vhost_);
if (!conf) {
return err;
@@ -422,20 +422,20 @@ srs_error_t SrsGoApiRtcPublish::do_serve_http(ISrsHttpResponseWriter *w, ISrsHtt
// The RTC user config object.
SrsRtcUserConfig ruc;
- ruc.req_->ip = clientip;
+ ruc.req_->ip_ = clientip;
ruc.api_ = api;
- srs_net_url_parse_rtmp_url(streamurl, ruc.req_->tcUrl, ruc.req_->stream);
- srs_net_url_parse_tcurl(ruc.req_->tcUrl, ruc.req_->schema, ruc.req_->host, ruc.req_->vhost,
- ruc.req_->app, ruc.req_->stream, ruc.req_->port, ruc.req_->param);
+ srs_net_url_parse_rtmp_url(streamurl, ruc.req_->tcUrl_, ruc.req_->stream_);
+ srs_net_url_parse_tcurl(ruc.req_->tcUrl_, ruc.req_->schema_, ruc.req_->host_, ruc.req_->vhost_,
+ ruc.req_->app_, ruc.req_->stream_, ruc.req_->port_, ruc.req_->param_);
// Identify WebRTC publisher by param upstream=rtc
- ruc.req_->param = srs_strings_trim_start(ruc.req_->param + "&upstream=rtc", "&");
+ ruc.req_->param_ = srs_strings_trim_start(ruc.req_->param_ + "&upstream=rtc", "&");
// discovery vhost, resolve the vhost from config
- SrsConfDirective *parsed_vhost = _srs_config->get_vhost(ruc.req_->vhost);
+ SrsConfDirective *parsed_vhost = _srs_config->get_vhost(ruc.req_->vhost_);
if (parsed_vhost) {
- ruc.req_->vhost = parsed_vhost->arg0();
+ ruc.req_->vhost_ = parsed_vhost->arg0();
}
// For client to specifies the candidate(EIP) of server.
@@ -446,7 +446,7 @@ srs_error_t SrsGoApiRtcPublish::do_serve_http(ISrsHttpResponseWriter *w, ISrsHtt
string codec = r->query_get("codec");
srs_trace("RTC publish %s, api=%s, tid=%s, clientip=%s, app=%s, stream=%s, offer=%dB, eip=%s, codec=%s",
- streamurl.c_str(), api.c_str(), tid.c_str(), clientip.c_str(), ruc.req_->app.c_str(), ruc.req_->stream.c_str(),
+ streamurl.c_str(), api.c_str(), tid.c_str(), clientip.c_str(), ruc.req_->app_.c_str(), ruc.req_->stream_.c_str(),
remote_sdp_str.length(), eip.c_str(), codec.c_str());
ruc.eip_ = eip;
@@ -488,18 +488,18 @@ srs_error_t SrsGoApiRtcPublish::serve_http(ISrsHttpResponseWriter *w, ISrsHttpMe
// TODO: FIXME: move to create_session.
// Config for SDP and session.
- local_sdp.session_config_.dtls_role = _srs_config->get_rtc_dtls_role(ruc->req_->vhost);
- local_sdp.session_config_.dtls_version = _srs_config->get_rtc_dtls_version(ruc->req_->vhost);
+ local_sdp.session_config_.dtls_role = _srs_config->get_rtc_dtls_role(ruc->req_->vhost_);
+ local_sdp.session_config_.dtls_version = _srs_config->get_rtc_dtls_version(ruc->req_->vhost_);
// Whether enabled.
bool server_enabled = _srs_config->get_rtc_server_enabled();
- bool rtc_enabled = _srs_config->get_rtc_enabled(ruc->req_->vhost);
+ bool rtc_enabled = _srs_config->get_rtc_enabled(ruc->req_->vhost_);
if (server_enabled && !rtc_enabled) {
- srs_warn("RTC disabled in vhost %s", ruc->req_->vhost.c_str());
+ srs_warn("RTC disabled in vhost %s", ruc->req_->vhost_.c_str());
}
if (!server_enabled || !rtc_enabled) {
return srs_error_new(ERROR_RTC_DISABLED, "Disabled server=%d, rtc=%d, vhost=%s",
- server_enabled, rtc_enabled, ruc->req_->vhost.c_str());
+ server_enabled, rtc_enabled, ruc->req_->vhost_.c_str());
}
// TODO: FIXME: When server enabled, but vhost disabled, should report error.
@@ -509,7 +509,7 @@ srs_error_t SrsGoApiRtcPublish::serve_http(ISrsHttpResponseWriter *w, ISrsHttpMe
return srs_error_wrap(err, "create session");
}
- if ((err = security_->check(SrsRtcConnPublish, ruc->req_->ip, ruc->req_)) != srs_success) {
+ if ((err = security_->check(SrsRtcConnPublish, ruc->req_->ip_, ruc->req_)) != srs_success) {
return srs_error_wrap(err, "RTC: security check");
}
@@ -572,7 +572,7 @@ srs_error_t SrsGoApiRtcPublish::http_hooks_on_publish(ISrsRequest *req)
{
srs_error_t err = srs_success;
- if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost_)) {
return err;
}
@@ -582,7 +582,7 @@ srs_error_t SrsGoApiRtcPublish::http_hooks_on_publish(ISrsRequest *req)
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_publish(req->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_publish(req->vhost_);
if (!conf) {
return err;
}
@@ -657,7 +657,7 @@ srs_error_t SrsGoApiRtcWhip::serve_http(ISrsHttpResponseWriter *w, ISrsHttpMessa
w->header()->set("Content-Type", "application/sdp");
// The location for DELETE resource, not required by SRS, but required by WHIP.
w->header()->set("Location", srs_fmt_sprintf("/rtc/v1/whip/?action=delete&token=%s&app=%s&stream=%s&session=%s",
- ruc.token_.c_str(), ruc.req_->app.c_str(), ruc.req_->stream.c_str(), ruc.session_id_.c_str()));
+ ruc.token_.c_str(), ruc.req_->app_.c_str(), ruc.req_->stream_.c_str(), ruc.session_id_.c_str()));
w->header()->set_content_length((int64_t)sdp.length());
// Must be 201, see https://datatracker.ietf.org/doc/draft-ietf-wish-whip/
w->write_header(201);
@@ -703,12 +703,12 @@ srs_error_t SrsGoApiRtcWhip::do_serve_http(ISrsHttpResponseWriter *w, ISrsHttpMe
}
// The RTC user config object.
- ruc->req_->ip = clientip;
- ruc->req_->host = r->host();
- ruc->req_->vhost = ruc->req_->host;
- ruc->req_->app = app.empty() ? "live" : app;
- ruc->req_->stream = stream.empty() ? "livestream" : stream;
- ruc->req_->param = r->query();
+ ruc->req_->ip_ = clientip;
+ ruc->req_->host_ = r->host();
+ ruc->req_->vhost_ = ruc->req_->host_;
+ ruc->req_->app_ = app.empty() ? "live" : app;
+ ruc->req_->stream_ = stream.empty() ? "livestream" : stream;
+ ruc->req_->param_ = r->query();
ruc->req_->ice_ufrag_ = r->query_get("ice-ufrag");
ruc->req_->ice_pwd_ = r->query_get("ice-pwd");
@@ -720,9 +720,9 @@ srs_error_t SrsGoApiRtcWhip::do_serve_http(ISrsHttpResponseWriter *w, ISrsHttpMe
}
// discovery vhost, resolve the vhost from config
- SrsConfDirective *parsed_vhost = _srs_config->get_vhost(ruc->req_->vhost);
+ SrsConfDirective *parsed_vhost = _srs_config->get_vhost(ruc->req_->vhost_);
if (parsed_vhost) {
- ruc->req_->vhost = parsed_vhost->arg0();
+ ruc->req_->vhost_ = parsed_vhost->arg0();
}
// For client to specifies whether encrypt by SRTP.
@@ -730,9 +730,9 @@ srs_error_t SrsGoApiRtcWhip::do_serve_http(ISrsHttpResponseWriter *w, ISrsHttpMe
string dtls = r->query_get("dtls");
srs_trace("RTC whip %s %s, clientip=%s, app=%s, stream=%s, offer=%dB, eip=%s, codec=%s, srtp=%s, dtls=%s, ufrag=%s, pwd=%s, param=%s",
- action.c_str(), ruc->req_->get_stream_url().c_str(), clientip.c_str(), ruc->req_->app.c_str(), ruc->req_->stream.c_str(),
+ action.c_str(), ruc->req_->get_stream_url().c_str(), clientip.c_str(), ruc->req_->app_.c_str(), ruc->req_->stream_.c_str(),
remote_sdp_str.length(), eip.c_str(), codec.c_str(), srtp.c_str(), dtls.c_str(), ruc->req_->ice_ufrag_.c_str(),
- ruc->req_->ice_pwd_.c_str(), ruc->req_->param.c_str());
+ ruc->req_->ice_pwd_.c_str(), ruc->req_->param_.c_str());
ruc->eip_ = eip;
ruc->codec_ = codec;
diff --git a/trunk/src/app/srs_app_rtc_conn.cpp b/trunk/src/app/srs_app_rtc_conn.cpp
index db9d0953aca..1b05d32e569 100644
--- a/trunk/src/app/srs_app_rtc_conn.cpp
+++ b/trunk/src/app/srs_app_rtc_conn.cpp
@@ -381,7 +381,7 @@ srs_error_t SrsRtcAsyncCallOnStop::call()
{
srs_error_t err = srs_success;
- if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost_)) {
return err;
}
@@ -391,7 +391,7 @@ srs_error_t SrsRtcAsyncCallOnStop::call()
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_stop(req->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_stop(req->vhost_);
if (!conf) {
return err;
@@ -505,8 +505,8 @@ srs_error_t SrsRtcPlayStream::initialize(ISrsRequest *req, std::mapget_rtc_nack_enabled(req->vhost);
- nack_no_copy_ = _srs_config->get_rtc_nack_no_copy(req->vhost);
+ nack_enabled_ = _srs_config->get_rtc_nack_enabled(req->vhost_);
+ nack_no_copy_ = _srs_config->get_rtc_nack_no_copy(req->vhost_);
srs_trace("RTC player nack=%d, nnc=%d", nack_enabled_, nack_no_copy_);
// Setup tracks.
@@ -642,8 +642,8 @@ srs_error_t SrsRtcPlayStream::cycle()
return srs_error_wrap(err, "dumps consumer, url=%s", req_->get_stream_url().c_str());
}
- realtime = _srs_config->get_realtime_enabled(req_->vhost, true);
- mw_msgs = _srs_config->get_mw_msgs(req_->vhost, realtime, true);
+ realtime = _srs_config->get_realtime_enabled(req_->vhost_, true);
+ mw_msgs = _srs_config->get_mw_msgs(req_->vhost_, realtime, true);
// TODO: FIXME: Add cost in ms.
SrsContextId cid = source->source_id();
@@ -1042,7 +1042,7 @@ srs_error_t SrsRtcAsyncCallOnUnpublish::call()
{
srs_error_t err = srs_success;
- if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost_)) {
return err;
}
@@ -1052,7 +1052,7 @@ srs_error_t SrsRtcAsyncCallOnUnpublish::call()
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_unpublish(req->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_unpublish(req->vhost_);
if (!conf) {
return err;
@@ -1176,10 +1176,10 @@ srs_error_t SrsRtcPublishStream::initialize(ISrsRequest *r, SrsRtcSourceDescript
rtcp_twcc_.set_media_ssrc(media_ssrc);
}
- nack_enabled_ = _srs_config->get_rtc_nack_enabled(req_->vhost);
- nack_no_copy_ = _srs_config->get_rtc_nack_no_copy(req_->vhost);
- pt_to_drop_ = (uint16_t)_srs_config->get_rtc_drop_for_pt(req_->vhost);
- twcc_enabled_ = _srs_config->get_rtc_twcc_enabled(req_->vhost);
+ nack_enabled_ = _srs_config->get_rtc_nack_enabled(req_->vhost_);
+ nack_no_copy_ = _srs_config->get_rtc_nack_no_copy(req_->vhost_);
+ pt_to_drop_ = (uint16_t)_srs_config->get_rtc_drop_for_pt(req_->vhost_);
+ twcc_enabled_ = _srs_config->get_rtc_twcc_enabled(req_->vhost_);
// No TWCC when negotiate, disable it.
if (twcc_id <= 0) {
@@ -1213,7 +1213,7 @@ srs_error_t SrsRtcPublishStream::initialize(ISrsRequest *r, SrsRtcSourceDescript
// Check whether SRT stream is busy.
bool srt_server_enabled = _srs_config->get_srt_enabled();
- bool srt_enabled = _srs_config->get_srt_enabled(r->vhost);
+ bool srt_enabled = _srs_config->get_srt_enabled(r->vhost_);
if (srt_server_enabled && srt_enabled) {
SrsSharedPtr srt;
if ((err = _srs_srt_sources->fetch_or_create(r, srt)) != srs_success) {
@@ -1227,7 +1227,7 @@ srs_error_t SrsRtcPublishStream::initialize(ISrsRequest *r, SrsRtcSourceDescript
// Bridge to rtmp
#if defined(SRS_FFMPEG_FIT)
- bool rtc_to_rtmp = _srs_config->get_rtc_to_rtmp(req_->vhost);
+ bool rtc_to_rtmp = _srs_config->get_rtc_to_rtmp(req_->vhost_);
if (rtc_to_rtmp) {
if ((err = _srs_sources->fetch_or_create(r, live_source)) != srs_success) {
return srs_error_wrap(err, "create source");
@@ -2052,10 +2052,10 @@ srs_error_t SrsRtcConnection::initialize(ISrsRequest *r, bool dtls, bool srtp, s
}
// TODO: FIXME: Support reload.
- session_timeout = _srs_config->get_rtc_stun_timeout(req_->vhost);
+ session_timeout = _srs_config->get_rtc_stun_timeout(req_->vhost_);
last_stun_time = srs_time_now_cached();
- nack_enabled_ = _srs_config->get_rtc_nack_enabled(req_->vhost);
+ nack_enabled_ = _srs_config->get_rtc_nack_enabled(req_->vhost_);
srs_trace("RTC init session, user=%s, url=%s, encrypt=%u/%u, DTLS(role=%s, version=%s), timeout=%dms, nack=%d",
username.c_str(), r->get_stream_url().c_str(), dtls, srtp, cfg->dtls_role.c_str(), cfg->dtls_version.c_str(),
@@ -2564,7 +2564,7 @@ srs_error_t SrsRtcConnection::on_binding_request(SrsStunPacket *r, string &ice_p
++_srs_pps_sstuns->sugar_;
- bool strict_check = _srs_config->get_rtc_stun_strict_check(req_->vhost);
+ bool strict_check = _srs_config->get_rtc_stun_strict_check(req_->vhost_);
if (strict_check && r->get_ice_controlled()) {
// @see: https://tools.ietf.org/html/draft-ietf-ice-rfc5245bis-00#section-6.1.3.1
// TODO: Send 487 (Role Conflict) error response.
@@ -2679,8 +2679,8 @@ srs_error_t SrsRtcConnection::negotiate_publish_capability(SrsRtcUserConfig *ruc
ISrsRequest *req = ruc->req_;
const SrsSdp &remote_sdp = ruc->remote_sdp_;
- bool nack_enabled = _srs_config->get_rtc_nack_enabled(req->vhost);
- bool twcc_enabled = _srs_config->get_rtc_twcc_enabled(req->vhost);
+ bool nack_enabled = _srs_config->get_rtc_nack_enabled(req->vhost_);
+ bool twcc_enabled = _srs_config->get_rtc_twcc_enabled(req->vhost_);
// TODO: FIME: Should check packetization-mode=1 also.
bool has_42e01f = srs_sdp_has_h264_profile(remote_sdp, "42e01f");
@@ -2989,7 +2989,7 @@ srs_error_t SrsRtcConnection::generate_publish_local_sdp(ISrsRequest *req, SrsSd
local_sdp.session_name_ = "SRSPublishSession";
local_sdp.msid_semantic_ = "WMS";
- std::string stream_id = req->app + "/" + req->stream;
+ std::string stream_id = req->app_ + "/" + req->stream_;
local_sdp.msids_.push_back(stream_id);
local_sdp.group_policy_ = "BUNDLE";
@@ -3111,8 +3111,8 @@ srs_error_t SrsRtcConnection::negotiate_play_capability(SrsRtcUserConfig *ruc, s
ISrsRequest *req = ruc->req_;
const SrsSdp &remote_sdp = ruc->remote_sdp_;
- bool nack_enabled = _srs_config->get_rtc_nack_enabled(req->vhost);
- bool twcc_enabled = _srs_config->get_rtc_twcc_enabled(req->vhost);
+ bool nack_enabled = _srs_config->get_rtc_nack_enabled(req->vhost_);
+ bool twcc_enabled = _srs_config->get_rtc_twcc_enabled(req->vhost_);
SrsSharedPtr source;
if ((err = _srs_rtc_sources->fetch_or_create(req, source)) != srs_success) {
@@ -3367,7 +3367,7 @@ srs_error_t SrsRtcConnection::generate_play_local_sdp(ISrsRequest *req, SrsSdp &
local_sdp.session_name_ = "SRSPlaySession";
local_sdp.msid_semantic_ = "WMS";
- std::string stream_id = req->app + "/" + req->stream;
+ std::string stream_id = req->app_ + "/" + req->stream_;
local_sdp.msids_.push_back(stream_id);
local_sdp.group_policy_ = "BUNDLE";
diff --git a/trunk/src/app/srs_app_rtc_server.cpp b/trunk/src/app/srs_app_rtc_server.cpp
index a87d6e90dc7..bc5db2c1834 100644
--- a/trunk/src/app/srs_app_rtc_server.cpp
+++ b/trunk/src/app/srs_app_rtc_server.cpp
@@ -229,8 +229,8 @@ set discover_candidates(SrsRtcUserConfig *ruc)
}
// Try to discover from api of request, if api_as_candidates enabled.
- if ((err = api_server_as_candidates(ruc->req_->host, candidate_ips)) != srs_success) {
- srs_warn("ignore discovering ip from api %s, err %s", ruc->req_->host.c_str(), srs_error_summary(err).c_str());
+ if ((err = api_server_as_candidates(ruc->req_->host_, candidate_ips)) != srs_success) {
+ srs_warn("ignore discovering ip from api %s, err %s", ruc->req_->host_.c_str(), srs_error_summary(err).c_str());
srs_freep(err);
}
diff --git a/trunk/src/app/srs_app_rtc_source.cpp b/trunk/src/app/srs_app_rtc_source.cpp
index ed6418703ce..ebee70685a7 100644
--- a/trunk/src/app/srs_app_rtc_source.cpp
+++ b/trunk/src/app/srs_app_rtc_source.cpp
@@ -689,7 +689,7 @@ srs_error_t SrsRtcSource::on_publish()
}
// The PLI interval for RTC2RTMP.
- pli_for_rtmp_ = _srs_config->get_rtc_pli_for_rtmp(req->vhost);
+ pli_for_rtmp_ = _srs_config->get_rtc_pli_for_rtmp(req->vhost_);
// @see SrsRtcSource::on_timer()
_srs_shared_timer->timer100ms()->subscribe(this);
@@ -975,10 +975,10 @@ srs_error_t SrsRtcRtpBuilder::initialize(ISrsRequest *r)
}
// Setup the SPS/PPS parsing strategy.
- format->try_annexb_first_ = _srs_config->try_annexb_first(r->vhost);
+ format->try_annexb_first_ = _srs_config->try_annexb_first(r->vhost_);
- keep_bframe = _srs_config->get_rtc_keep_bframe(req->vhost);
- keep_avc_nalu_sei = _srs_config->get_rtc_keep_avc_nalu_sei(req->vhost);
+ keep_bframe = _srs_config->get_rtc_keep_bframe(req->vhost_);
+ keep_avc_nalu_sei = _srs_config->get_rtc_keep_avc_nalu_sei(req->vhost_);
merge_nalus = _srs_config->get_rtc_server_merge_nalus();
srs_trace("RTC bridge from RTMP, keep_bframe=%d, keep_avc_nalu_sei=%d, merge_nalus=%d",
keep_bframe, keep_avc_nalu_sei, merge_nalus);
@@ -1098,7 +1098,7 @@ srs_error_t SrsRtcRtpBuilder::init_codec(SrsAudioCodecId codec)
codec_ = new SrsAudioTranscoder();
// Initialize the codec according to the codec in stream.
- int bitrate = _srs_config->get_rtc_opus_bitrate(req->vhost); // The output bitrate in bps.
+ int bitrate = _srs_config->get_rtc_opus_bitrate(req->vhost_); // The output bitrate in bps.
if ((err = codec_->initialize(codec, SrsAudioCodecIdOpus, kAudioChannel, kAudioSamplerate, bitrate)) != srs_success) {
return srs_error_wrap(err, "init codec=%d", codec);
}
@@ -1767,10 +1767,10 @@ srs_error_t SrsRtcFrameBuilder::initialize(ISrsRequest *r, SrsAudioCodecId audio
srs_freep(audio_transcoder_);
audio_transcoder_ = new SrsAudioTranscoder();
- SrsAudioCodecId to = SrsAudioCodecIdAAC; // The output audio codec.
- int channels = 2; // The output audio channels.
- int sample_rate = 48000; // The output audio sample rate in HZ.
- int bitrate = _srs_config->get_rtc_aac_bitrate(r->vhost); // The output audio bitrate in bps.
+ SrsAudioCodecId to = SrsAudioCodecIdAAC; // The output audio codec.
+ int channels = 2; // The output audio channels.
+ int sample_rate = 48000; // The output audio sample rate in HZ.
+ int bitrate = _srs_config->get_rtc_aac_bitrate(r->vhost_); // The output audio bitrate in bps.
// TODO: FIXME:
// In the future, when we support enhanced-RTMP with Opus format,
diff --git a/trunk/src/app/srs_app_rtmp_conn.cpp b/trunk/src/app/srs_app_rtmp_conn.cpp
index 24dd9dad555..9bcc03f6ba1 100644
--- a/trunk/src/app/srs_app_rtmp_conn.cpp
+++ b/trunk/src/app/srs_app_rtmp_conn.cpp
@@ -74,7 +74,7 @@ srs_error_t SrsSimpleRtmpClient::connect_app()
srs_assert(_srs_config->get_stats_network() < (int)ips.size());
SrsIPAddress *local_ip = ips[_srs_config->get_stats_network()];
- bool debug_srs_upnode = _srs_config->get_debug_srs_upnode(req->vhost);
+ bool debug_srs_upnode = _srs_config->get_debug_srs_upnode(req_->vhost_);
return do_connect_app(local_ip->ip, debug_srs_upnode);
}
@@ -286,31 +286,31 @@ srs_error_t SrsRtmpConn::do_cycle()
}
// set client ip to request.
- req->ip = ip;
+ req->ip_ = ip;
srs_trace("connect app, tcUrl=%s, pageUrl=%s, swfUrl=%s, schema=%s, vhost=%s, port=%d, app=%s, args=%s",
- req->tcUrl.c_str(), req->pageUrl.c_str(), req->swfUrl.c_str(),
- req->schema.c_str(), req->vhost.c_str(), req->port,
- req->app.c_str(), (req->args ? "(obj)" : "null"));
+ req->tcUrl_.c_str(), req->pageUrl_.c_str(), req->swfUrl_.c_str(),
+ req->schema_.c_str(), req->vhost_.c_str(), req->port_,
+ req->app_.c_str(), (req->args_ ? "(obj)" : "null"));
// show client identity
- if (req->args) {
+ if (req->args_) {
std::string srs_version;
std::string srs_server_ip;
int srs_pid = 0;
int srs_id = 0;
SrsAmf0Any *prop = NULL;
- if ((prop = req->args->ensure_property_string("srs_version")) != NULL) {
+ if ((prop = req->args_->ensure_property_string("srs_version")) != NULL) {
srs_version = prop->to_str();
}
- if ((prop = req->args->ensure_property_string("srs_server_ip")) != NULL) {
+ if ((prop = req->args_->ensure_property_string("srs_server_ip")) != NULL) {
srs_server_ip = prop->to_str();
}
- if ((prop = req->args->ensure_property_number("srs_pid")) != NULL) {
+ if ((prop = req->args_->ensure_property_number("srs_pid")) != NULL) {
srs_pid = (int)prop->to_number();
}
- if ((prop = req->args->ensure_property_number("srs_id")) != NULL) {
+ if ((prop = req->args_->ensure_property_number("srs_id")) != NULL) {
srs_id = (int)prop->to_number();
}
@@ -349,12 +349,12 @@ srs_error_t SrsRtmpConn::service_cycle()
ISrsRequest *req = info->req;
- int out_ack_size = _srs_config->get_out_ack_size(req->vhost);
+ int out_ack_size = _srs_config->get_out_ack_size(req->vhost_);
if (out_ack_size && (err = rtmp->set_window_ack_size(out_ack_size)) != srs_success) {
return srs_error_wrap(err, "rtmp: set out window ack size");
}
- int in_ack_size = _srs_config->get_in_ack_size(req->vhost);
+ int in_ack_size = _srs_config->get_in_ack_size(req->vhost_);
if (in_ack_size && (err = rtmp->set_in_window_ack_size(in_ack_size)) != srs_success) {
return srs_error_wrap(err, "rtmp: set in window ack size");
}
@@ -369,7 +369,7 @@ srs_error_t SrsRtmpConn::service_cycle()
// set chunk size to larger.
// set the chunk size before any larger response greater than 128,
// to make OBS happy, @see https://github.com/ossrs/srs/issues/454
- int chunk_size = _srs_config->get_chunk_size(req->vhost);
+ int chunk_size = _srs_config->get_chunk_size(req->vhost_);
if ((err = rtmp->set_chunk_size(chunk_size)) != srs_success) {
return srs_error_wrap(err, "rtmp: set chunk size %d", chunk_size);
}
@@ -443,32 +443,32 @@ srs_error_t SrsRtmpConn::stream_service_cycle()
srs_error_t err = srs_success;
ISrsRequest *req = info->req;
- if ((err = rtmp->identify_client(info->res->stream_id, info->type, req->stream, req->duration)) != srs_success) {
+ if ((err = rtmp->identify_client(info->res->stream_id_, info->type, req->stream_, req->duration_)) != srs_success) {
return srs_error_wrap(err, "rtmp: identify client");
}
- srs_net_url_parse_tcurl(req->tcUrl, req->schema, req->host, req->vhost, req->app, req->stream, req->port, req->param);
+ srs_net_url_parse_tcurl(req->tcUrl_, req->schema_, req->host_, req->vhost_, req->app_, req->stream_, req->port_, req->param_);
// guess stream name
- if (req->stream.empty()) {
- string app = req->app, param = req->param;
- srs_net_url_guess_stream(req->app, req->param, req->stream);
- srs_trace("Guessing by app=%s, param=%s to app=%s, param=%s, stream=%s", app.c_str(), param.c_str(), req->app.c_str(), req->param.c_str(), req->stream.c_str());
+ if (req->stream_.empty()) {
+ string app = req->app_, param = req->param_;
+ srs_net_url_guess_stream(req->app_, req->param_, req->stream_);
+ srs_trace("Guessing by app=%s, param=%s to app=%s, param=%s, stream=%s", app.c_str(), param.c_str(), req->app_.c_str(), req->param_.c_str(), req->stream_.c_str());
}
req->strip();
srs_trace("client identified, type=%s, vhost=%s, app=%s, stream=%s, param=%s, duration=%dms",
- srs_client_type_string(info->type).c_str(), req->vhost.c_str(), req->app.c_str(), req->stream.c_str(), req->param.c_str(), srsu2msi(req->duration));
+ srs_client_type_string(info->type).c_str(), req->vhost_.c_str(), req->app_.c_str(), req->stream_.c_str(), req->param_.c_str(), srsu2msi(req->duration_));
// discovery vhost, resolve the vhost from config
- SrsConfDirective *parsed_vhost = _srs_config->get_vhost(req->vhost);
+ SrsConfDirective *parsed_vhost = _srs_config->get_vhost(req->vhost_);
if (parsed_vhost) {
- req->vhost = parsed_vhost->arg0();
+ req->vhost_ = parsed_vhost->arg0();
}
- if (req->schema.empty() || req->vhost.empty() || req->port == 0 || req->app.empty()) {
+ if (req->schema_.empty() || req->vhost_.empty() || req->port_ == 0 || req->app_.empty()) {
return srs_error_new(ERROR_RTMP_REQ_TCURL, "discovery tcUrl failed, tcUrl=%s, schema=%s, vhost=%s, port=%d, app=%s",
- req->tcUrl.c_str(), req->schema.c_str(), req->vhost.c_str(), req->port, req->app.c_str());
+ req->tcUrl_.c_str(), req->schema_.c_str(), req->vhost_.c_str(), req->port_, req->app_.c_str());
}
// check vhost, allow default vhost.
@@ -477,14 +477,14 @@ srs_error_t SrsRtmpConn::stream_service_cycle()
}
srs_trace("connected stream, tcUrl=%s, pageUrl=%s, swfUrl=%s, schema=%s, vhost=%s, port=%d, app=%s, stream=%s, param=%s, args=%s",
- req->tcUrl.c_str(), req->pageUrl.c_str(), req->swfUrl.c_str(), req->schema.c_str(), req->vhost.c_str(), req->port,
- req->app.c_str(), req->stream.c_str(), req->param.c_str(), (req->args ? "(obj)" : "null"));
+ req->tcUrl_.c_str(), req->pageUrl_.c_str(), req->swfUrl_.c_str(), req->schema_.c_str(), req->vhost_.c_str(), req->port_,
+ req->app_.c_str(), req->stream_.c_str(), req->param_.c_str(), (req->args_ ? "(obj)" : "null"));
// do token traverse before serve it.
// @see https://github.com/ossrs/srs/pull/239
if (true) {
- info->edge = _srs_config->get_vhost_is_edge(req->vhost);
- bool edge_traverse = _srs_config->get_vhost_edge_token_traverse(req->vhost);
+ info->edge = _srs_config->get_vhost_is_edge(req->vhost_);
+ bool edge_traverse = _srs_config->get_vhost_edge_token_traverse(req->vhost_);
if (info->edge && edge_traverse) {
if ((err = check_edge_token_traverse_auth()) != srs_success) {
return srs_error_wrap(err, "rtmp: check token traverse");
@@ -499,7 +499,7 @@ srs_error_t SrsRtmpConn::stream_service_cycle()
// Never allow the empty stream name, for HLS may write to a file with empty name.
// @see https://github.com/ossrs/srs/issues/834
- if (req->stream.empty()) {
+ if (req->stream_.empty()) {
return srs_error_new(ERROR_RTMP_STREAM_NAME_EMPTY, "rtmp: empty stream");
}
@@ -525,8 +525,8 @@ srs_error_t SrsRtmpConn::stream_service_cycle()
}
srs_assert(live_source.get() != NULL);
- bool enabled_cache = _srs_config->get_gop_cache(req->vhost);
- int gcmf = _srs_config->get_gop_cache_max_frames(req->vhost);
+ bool enabled_cache = _srs_config->get_gop_cache(req->vhost_);
+ int gcmf = _srs_config->get_gop_cache_max_frames(req->vhost_);
srs_trace("source url=%s, ip=%s, cache=%d/%d, is_edge=%d, source_id=%s/%s",
req->get_stream_url().c_str(), ip.c_str(), enabled_cache, gcmf, info->edge, live_source->source_id().c_str(),
live_source->pre_source_id().c_str());
@@ -536,7 +536,7 @@ srs_error_t SrsRtmpConn::stream_service_cycle()
switch (info->type) {
case SrsRtmpConnPlay: {
// response connection start play
- if ((err = rtmp->start_play(info->res->stream_id)) != srs_success) {
+ if ((err = rtmp->start_play(info->res->stream_id_)) != srs_success) {
return srs_error_wrap(err, "rtmp: start play");
}
@@ -564,7 +564,7 @@ srs_error_t SrsRtmpConn::stream_service_cycle()
return err;
}
case SrsRtmpConnFMLEPublish: {
- if ((err = rtmp->start_fmle_publish(info->res->stream_id)) != srs_success) {
+ if ((err = rtmp->start_fmle_publish(info->res->stream_id_)) != srs_success) {
return srs_error_wrap(err, "rtmp: start FMLE publish");
}
@@ -578,7 +578,7 @@ srs_error_t SrsRtmpConn::stream_service_cycle()
return publishing(live_source);
}
case SrsRtmpConnHaivisionPublish: {
- if ((err = rtmp->start_haivision_publish(info->res->stream_id)) != srs_success) {
+ if ((err = rtmp->start_haivision_publish(info->res->stream_id_)) != srs_success) {
return srs_error_wrap(err, "rtmp: start HAIVISION publish");
}
@@ -592,7 +592,7 @@ srs_error_t SrsRtmpConn::stream_service_cycle()
return publishing(live_source);
}
case SrsRtmpConnFlashPublish: {
- if ((err = rtmp->start_flash_publish(info->res->stream_id)) != srs_success) {
+ if ((err = rtmp->start_flash_publish(info->res->stream_id_)) != srs_success) {
return srs_error_wrap(err, "rtmp: start FLASH publish");
}
@@ -620,22 +620,22 @@ srs_error_t SrsRtmpConn::check_vhost(bool try_default_vhost)
ISrsRequest *req = info->req;
srs_assert(req != NULL);
- SrsConfDirective *vhost = _srs_config->get_vhost(req->vhost, try_default_vhost);
+ SrsConfDirective *vhost = _srs_config->get_vhost(req->vhost_, try_default_vhost);
if (vhost == NULL) {
- return srs_error_new(ERROR_RTMP_VHOST_NOT_FOUND, "rtmp: no vhost %s", req->vhost.c_str());
+ return srs_error_new(ERROR_RTMP_VHOST_NOT_FOUND, "rtmp: no vhost %s", req->vhost_.c_str());
}
- if (!_srs_config->get_vhost_enabled(req->vhost)) {
- return srs_error_new(ERROR_RTMP_VHOST_NOT_FOUND, "rtmp: vhost %s disabled", req->vhost.c_str());
+ if (!_srs_config->get_vhost_enabled(req->vhost_)) {
+ return srs_error_new(ERROR_RTMP_VHOST_NOT_FOUND, "rtmp: vhost %s disabled", req->vhost_.c_str());
}
- if (req->vhost != vhost->arg0()) {
- srs_trace("vhost change from %s to %s", req->vhost.c_str(), vhost->arg0().c_str());
- req->vhost = vhost->arg0();
+ if (req->vhost_ != vhost->arg0()) {
+ srs_trace("vhost change from %s to %s", req->vhost_.c_str(), vhost->arg0().c_str());
+ req->vhost_ = vhost->arg0();
}
- if (_srs_config->get_refer_enabled(req->vhost)) {
- if ((err = refer->check(req->pageUrl, _srs_config->get_refer_all(req->vhost))) != srs_success) {
+ if (_srs_config->get_refer_enabled(req->vhost_)) {
+ if ((err = refer->check(req->pageUrl_, _srs_config->get_refer_all(req->vhost_))) != srs_success) {
return srs_error_wrap(err, "rtmp: referer check");
}
}
@@ -653,23 +653,23 @@ srs_error_t SrsRtmpConn::playing(SrsSharedPtr source)
// Check page referer of player.
ISrsRequest *req = info->req;
- if (_srs_config->get_refer_enabled(req->vhost)) {
- if ((err = refer->check(req->pageUrl, _srs_config->get_refer_play(req->vhost))) != srs_success) {
+ if (_srs_config->get_refer_enabled(req->vhost_)) {
+ if ((err = refer->check(req->pageUrl_, _srs_config->get_refer_play(req->vhost_))) != srs_success) {
return srs_error_wrap(err, "rtmp: referer check");
}
}
// When origin cluster enabled, try to redirect to the origin which is active.
// A active origin is a server which is delivering stream.
- if (!info->edge && _srs_config->get_vhost_origin_cluster(req->vhost) && source->inactive()) {
- vector coworkers = _srs_config->get_vhost_coworkers(req->vhost);
+ if (!info->edge && _srs_config->get_vhost_origin_cluster(req->vhost_) && source->inactive()) {
+ vector coworkers = _srs_config->get_vhost_coworkers(req->vhost_);
for (int i = 0; i < (int)coworkers.size(); i++) {
// TODO: FIXME: User may config the server itself as coworker, we must identify and ignore it.
string host;
int port = 0;
string coworker = coworkers.at(i);
- string url = "http://" + coworker + "/api/v1/clusters?" + "vhost=" + req->vhost + "&ip=" + req->host + "&app=" + req->app + "&stream=" + req->stream + "&coworker=" + coworker;
+ string url = "http://" + coworker + "/api/v1/clusters?" + "vhost=" + req->vhost_ + "&ip=" + req->host_ + "&app=" + req->app_ + "&stream=" + req->stream_ + "&coworker=" + coworker;
if ((err = _srs_hooks->discover_co_workers(url, host, port)) != srs_success) {
// If failed to discovery stream in this coworker, we should request the next one util the last.
// @see https://github.com/ossrs/srs/issues/1223
@@ -679,9 +679,9 @@ srs_error_t SrsRtmpConn::playing(SrsSharedPtr source)
return srs_error_wrap(err, "discover coworkers, url=%s", url.c_str());
}
- string rurl = srs_net_url_encode_rtmp_url(host, port, req->host, req->vhost, req->app, req->stream, req->param);
+ string rurl = srs_net_url_encode_rtmp_url(host, port, req->host_, req->vhost_, req->app_, req->stream_, req->param_);
srs_trace("rtmp: redirect in cluster, from=%s:%d, target=%s:%d, url=%s, rurl=%s",
- req->host.c_str(), req->port, host.c_str(), port, url.c_str(), rurl.c_str());
+ req->host_.c_str(), req->port_, host.c_str(), port, url.c_str(), rurl.c_str());
// Ignore if host or port is invalid.
if (host.empty() || port == 0) {
@@ -747,18 +747,18 @@ srs_error_t SrsRtmpConn::do_playing(SrsSharedPtr source, SrsLiveC
SrsUniquePtr pprint(SrsPithyPrint::create_rtmp_play());
SrsMessageArray msgs(SRS_PERF_MW_MSGS);
- bool user_specified_duration_to_stop = (req->duration > 0);
+ bool user_specified_duration_to_stop = (req->duration_ > 0);
int64_t starttime = -1;
// setup the realtime.
- realtime = _srs_config->get_realtime_enabled(req->vhost);
+ realtime = _srs_config->get_realtime_enabled(req->vhost_);
// setup the mw config.
// when mw_sleep changed, resize the socket send buffer.
- mw_msgs = _srs_config->get_mw_msgs(req->vhost, realtime);
- mw_sleep = _srs_config->get_mw_sleep(req->vhost);
+ mw_msgs = _srs_config->get_mw_msgs(req->vhost_, realtime);
+ mw_sleep = _srs_config->get_mw_sleep(req->vhost_);
transport_->set_socket_buffer(mw_sleep);
// initialize the send_min_interval
- send_min_interval = _srs_config->get_send_min_interval(req->vhost);
+ send_min_interval = _srs_config->get_send_min_interval(req->vhost_);
srs_trace("start play smi=%dms, mw_sleep=%d, mw_msgs=%d, realtime=%d, tcp_nodelay=%d",
srsu2msi(send_min_interval), srsu2msi(mw_sleep), mw_msgs, realtime, tcp_nodelay);
@@ -825,7 +825,7 @@ srs_error_t SrsRtmpConn::do_playing(SrsSharedPtr source, SrsLiveC
// we start to collect the durations for each message.
if (user_specified_duration_to_stop) {
for (int i = 0; i < count; i++) {
- SrsMediaPacket *msg = msgs.msgs[i];
+ SrsMediaPacket *msg = msgs.msgs_[i];
// foreach msg, collect the duration.
// @remark: never use msg when sent it, for the protocol sdk will free it.
@@ -839,15 +839,15 @@ srs_error_t SrsRtmpConn::do_playing(SrsSharedPtr source, SrsLiveC
// sendout messages, all messages are freed by send_and_free_messages().
// no need to assert msg, for the rtmp will assert it.
- if (count > 0 && (err = rtmp->send_and_free_messages(msgs.msgs, count, info->res->stream_id)) != srs_success) {
+ if (count > 0 && (err = rtmp->send_and_free_messages(msgs.msgs_, count, info->res->stream_id_)) != srs_success) {
return srs_error_wrap(err, "rtmp: send %d messages", count);
}
// if duration specified, and exceed it, stop play live.
// @see: https://github.com/ossrs/srs/issues/45
if (user_specified_duration_to_stop) {
- if (duration >= req->duration) {
- return srs_error_new(ERROR_RTMP_DURATION_EXCEED, "rtmp: time %d up %d", srsu2msi(duration), srsu2msi(req->duration));
+ if (duration >= req->duration_) {
+ return srs_error_new(ERROR_RTMP_DURATION_EXCEED, "rtmp: time %d up %d", srsu2msi(duration), srsu2msi(req->duration_));
}
}
@@ -870,8 +870,8 @@ srs_error_t SrsRtmpConn::publishing(SrsSharedPtr source)
ISrsRequest *req = info->req;
- if (_srs_config->get_refer_enabled(req->vhost)) {
- if ((err = refer->check(req->pageUrl, _srs_config->get_refer_publish(req->vhost))) != srs_success) {
+ if (_srs_config->get_refer_enabled(req->vhost_)) {
+ if ((err = refer->check(req->pageUrl_, _srs_config->get_refer_publish(req->vhost_))) != srs_success) {
return srs_error_wrap(err, "rtmp: referer check");
}
}
@@ -921,16 +921,16 @@ srs_error_t SrsRtmpConn::do_publishing(SrsSharedPtr source, SrsPu
}
// initialize the publish timeout.
- publish_1stpkt_timeout = _srs_config->get_publish_1stpkt_timeout(req->vhost);
- publish_normal_timeout = _srs_config->get_publish_normal_timeout(req->vhost);
- srs_utime_t publish_kickoff_for_idle = _srs_config->get_publish_kickoff_for_idle(req->vhost);
+ publish_1stpkt_timeout = _srs_config->get_publish_1stpkt_timeout(req->vhost_);
+ publish_normal_timeout = _srs_config->get_publish_normal_timeout(req->vhost_);
+ srs_utime_t publish_kickoff_for_idle = _srs_config->get_publish_kickoff_for_idle(req->vhost_);
// set the sock options.
set_sock_options();
if (true) {
- bool mr = _srs_config->get_mr_enabled(req->vhost);
- srs_utime_t mr_sleep = _srs_config->get_mr_sleep(req->vhost);
+ bool mr = _srs_config->get_mr_enabled(req->vhost_);
+ srs_utime_t mr_sleep = _srs_config->get_mr_sleep(req->vhost_);
srs_trace("start publish mr=%d/%d, p1stpt=%d, pnt=%d, tcp_nodelay=%d", mr, srsu2msi(mr_sleep), srsu2msi(publish_1stpkt_timeout), srsu2msi(publish_normal_timeout), tcp_nodelay);
}
@@ -939,7 +939,7 @@ srs_error_t SrsRtmpConn::do_publishing(SrsSharedPtr source, SrsPu
#endif
// Response the start publishing message, let client start to publish messages.
- if ((err = rtmp->start_publishing(info->res->stream_id)) != srs_success) {
+ if ((err = rtmp->start_publishing(info->res->stream_id_)) != srs_success) {
return srs_error_wrap(err, "start publishing");
}
@@ -952,7 +952,7 @@ srs_error_t SrsRtmpConn::do_publishing(SrsSharedPtr source, SrsPu
// Kick off the publisher when idle for a period of timeout.
if (source->publisher_is_idle_for(publish_kickoff_for_idle)) {
- return srs_error_new(ERROR_KICKOFF_FOR_IDLE, "kicked for idle, url=%s, timeout=%ds", req->tcUrl.c_str(), srsu2si(publish_kickoff_for_idle));
+ return srs_error_new(ERROR_KICKOFF_FOR_IDLE, "kicked for idle, url=%s, timeout=%ds", req->tcUrl_.c_str(), srsu2si(publish_kickoff_for_idle));
}
pprint->elapse();
@@ -988,8 +988,8 @@ srs_error_t SrsRtmpConn::do_publishing(SrsSharedPtr source, SrsPu
// reportable
if (pprint->can_print()) {
kbps->sample();
- bool mr = _srs_config->get_mr_enabled(req->vhost);
- srs_utime_t mr_sleep = _srs_config->get_mr_sleep(req->vhost);
+ bool mr = _srs_config->get_mr_enabled(req->vhost_);
+ srs_utime_t mr_sleep = _srs_config->get_mr_sleep(req->vhost_);
srs_trace("<- " SRS_CONSTS_LOG_CLIENT_PUBLISH " time=%d, okbps=%d,%d,%d, ikbps=%d,%d,%d, mr=%d/%d, p1stpt=%d, pnt=%d",
(int)pprint->age(), kbps->get_send_kbps(), kbps->get_send_kbps_30s(), kbps->get_send_kbps_5m(),
kbps->get_recv_kbps(), kbps->get_recv_kbps_30s(), kbps->get_recv_kbps_5m(), mr, srsu2msi(mr_sleep),
@@ -1020,7 +1020,7 @@ srs_error_t SrsRtmpConn::acquire_publish(SrsSharedPtr source)
// Check whether RTC stream is busy.
SrsSharedPtr rtc;
bool rtc_server_enabled = _srs_config->get_rtc_server_enabled();
- bool rtc_enabled = _srs_config->get_rtc_enabled(req->vhost);
+ bool rtc_enabled = _srs_config->get_rtc_enabled(req->vhost_);
if (rtc_server_enabled && rtc_enabled && !info->edge) {
if ((err = _srs_rtc_sources->fetch_or_create(req, rtc)) != srs_success) {
return srs_error_wrap(err, "create source");
@@ -1033,7 +1033,7 @@ srs_error_t SrsRtmpConn::acquire_publish(SrsSharedPtr source)
// Check whether SRT stream is busy.
bool srt_server_enabled = _srs_config->get_srt_enabled();
- bool srt_enabled = _srs_config->get_srt_enabled(req->vhost);
+ bool srt_enabled = _srs_config->get_srt_enabled(req->vhost_);
if (srt_server_enabled && srt_enabled && !info->edge) {
SrsSharedPtr srt;
if ((err = _srs_srt_sources->fetch_or_create(req, srt)) != srs_success) {
@@ -1049,7 +1049,7 @@ srs_error_t SrsRtmpConn::acquire_publish(SrsSharedPtr source)
// RTSP only support viewer, so we don't need to check it.
SrsSharedPtr rtsp;
bool rtsp_server_enabled = _srs_config->get_rtsp_server_enabled();
- bool rtsp_enabled = _srs_config->get_rtsp_enabled(req->vhost);
+ bool rtsp_enabled = _srs_config->get_rtsp_enabled(req->vhost_);
if (rtsp_server_enabled && rtsp_enabled && !info->edge) {
if ((err = _srs_rtsp_sources->fetch_or_create(req, rtsp)) != srs_success) {
return srs_error_wrap(err, "create source");
@@ -1062,13 +1062,13 @@ srs_error_t SrsRtmpConn::acquire_publish(SrsSharedPtr source)
SrsCompositeBridge *bridge = new SrsCompositeBridge();
#if defined(SRS_FFMPEG_FIT)
- if (rtc.get() && _srs_config->get_rtc_from_rtmp(req->vhost)) {
+ if (rtc.get() && _srs_config->get_rtc_from_rtmp(req->vhost_)) {
bridge->append(new SrsFrameToRtcBridge(rtc));
}
#endif
#ifdef SRS_RTSP
- if (rtsp.get() && _srs_config->get_rtsp_from_rtmp(req->vhost)) {
+ if (rtsp.get() && _srs_config->get_rtsp_from_rtmp(req->vhost_)) {
bridge->append(new SrsFrameToRtspBridge(rtsp));
}
#endif
@@ -1126,7 +1126,7 @@ srs_error_t SrsRtmpConn::handle_publish_message(SrsSharedPtr &sou
// for fmle, drop others except the fmle start packet.
if (dynamic_cast(pkt.get())) {
SrsFMLEStartPacket *unpublish = dynamic_cast(pkt.get());
- if ((err = rtmp->fmle_unpublish(info->res->stream_id, unpublish->transaction_id)) != srs_success) {
+ if ((err = rtmp->fmle_unpublish(info->res->stream_id_, unpublish->transaction_id_)) != srs_success) {
return srs_error_wrap(err, "rtmp: republish");
}
return srs_error_new(ERROR_CONTROL_REPUBLISH, "rtmp: republish");
@@ -1232,10 +1232,10 @@ srs_error_t SrsRtmpConn::process_play_control_msg(SrsLiveConsumer *consumer, Srs
if (call) {
// only response it when transaction id not zero,
// for the zero means donot need response.
- if (call->transaction_id > 0) {
- SrsCallResPacket *res = new SrsCallResPacket(call->transaction_id);
- res->command_object = SrsAmf0Any::null();
- res->response = SrsAmf0Any::null();
+ if (call->transaction_id_ > 0) {
+ SrsCallResPacket *res = new SrsCallResPacket(call->transaction_id_);
+ res->command_object_ = SrsAmf0Any::null();
+ res->response_ = SrsAmf0Any::null();
if ((err = rtmp->send_and_free_packet(res, 0)) != srs_success) {
return srs_error_wrap(err, "rtmp: send packets");
}
@@ -1246,10 +1246,10 @@ srs_error_t SrsRtmpConn::process_play_control_msg(SrsLiveConsumer *consumer, Srs
// pause
SrsPausePacket *pause = dynamic_cast(pkt.get());
if (pause) {
- if ((err = rtmp->on_play_client_pause(info->res->stream_id, pause->is_pause)) != srs_success) {
+ if ((err = rtmp->on_play_client_pause(info->res->stream_id_, pause->is_pause_)) != srs_success) {
return srs_error_wrap(err, "rtmp: pause");
}
- if ((err = consumer->on_play_client_pause(pause->is_pause)) != srs_success) {
+ if ((err = consumer->on_play_client_pause(pause->is_pause_)) != srs_success) {
return srs_error_wrap(err, "rtmp: pause");
}
return err;
@@ -1263,7 +1263,7 @@ void SrsRtmpConn::set_sock_options()
{
ISrsRequest *req = info->req;
- bool nvalue = _srs_config->get_tcp_nodelay(req->vhost);
+ bool nvalue = _srs_config->get_tcp_nodelay(req->vhost_);
if (nvalue != tcp_nodelay) {
tcp_nodelay = nvalue;
@@ -1282,7 +1282,7 @@ srs_error_t SrsRtmpConn::check_edge_token_traverse_auth()
ISrsRequest *req = info->req;
srs_assert(req);
- vector args = _srs_config->get_vhost_edge_origin(req->vhost)->args;
+ vector args = _srs_config->get_vhost_edge_origin(req->vhost_)->args;
if (args.empty()) {
return err;
}
@@ -1297,7 +1297,7 @@ srs_error_t SrsRtmpConn::check_edge_token_traverse_auth()
SrsUniquePtr transport(new SrsTcpClient(server, port, SRS_EDGE_TOKEN_TRAVERSE_TIMEOUT));
if ((err = transport->connect()) != srs_success) {
- srs_warn("Illegal edge token, tcUrl=%s, %s", req->tcUrl.c_str(), srs_error_desc(err).c_str());
+ srs_warn("Illegal edge token, tcUrl=%s, %s", req->tcUrl_.c_str(), srs_error_desc(err).c_str());
srs_freep(err);
continue;
}
@@ -1325,11 +1325,11 @@ srs_error_t SrsRtmpConn::do_token_traverse_auth(SrsRtmpClient *client)
// for token tranverse, always take the debug info(which carries token).
SrsServerInfo si;
- if ((err = client->connect_app(req->app, req->tcUrl, req, true, &si)) != srs_success) {
+ if ((err = client->connect_app(req->app_, req->tcUrl_, req, true, &si)) != srs_success) {
return srs_error_wrap(err, "rtmp: connect tcUrl");
}
- srs_trace("edge token auth ok, tcUrl=%s", req->tcUrl.c_str());
+ srs_trace("edge token auth ok, tcUrl=%s", req->tcUrl_.c_str());
return err;
}
@@ -1350,7 +1350,7 @@ srs_error_t SrsRtmpConn::http_hooks_on_connect()
ISrsRequest *req = info->req;
- if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost_)) {
return err;
}
@@ -1360,7 +1360,7 @@ srs_error_t SrsRtmpConn::http_hooks_on_connect()
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_connect(req->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_connect(req->vhost_);
if (!conf) {
return err;
@@ -1383,7 +1383,7 @@ void SrsRtmpConn::http_hooks_on_close()
{
ISrsRequest *req = info->req;
- if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost_)) {
return;
}
@@ -1393,7 +1393,7 @@ void SrsRtmpConn::http_hooks_on_close()
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_close(req->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_close(req->vhost_);
if (!conf) {
return;
@@ -1414,7 +1414,7 @@ srs_error_t SrsRtmpConn::http_hooks_on_publish()
ISrsRequest *req = info->req;
- if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost_)) {
return err;
}
@@ -1424,7 +1424,7 @@ srs_error_t SrsRtmpConn::http_hooks_on_publish()
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_publish(req->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_publish(req->vhost_);
if (!conf) {
return err;
@@ -1447,7 +1447,7 @@ void SrsRtmpConn::http_hooks_on_unpublish()
{
ISrsRequest *req = info->req;
- if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost_)) {
return;
}
@@ -1457,7 +1457,7 @@ void SrsRtmpConn::http_hooks_on_unpublish()
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_unpublish(req->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_unpublish(req->vhost_);
if (!conf) {
return;
@@ -1478,7 +1478,7 @@ srs_error_t SrsRtmpConn::http_hooks_on_play()
ISrsRequest *req = info->req;
- if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost_)) {
return err;
}
@@ -1488,7 +1488,7 @@ srs_error_t SrsRtmpConn::http_hooks_on_play()
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_play(req->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_play(req->vhost_);
if (!conf) {
return err;
@@ -1511,7 +1511,7 @@ void SrsRtmpConn::http_hooks_on_stop()
{
ISrsRequest *req = info->req;
- if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost_)) {
return;
}
@@ -1521,7 +1521,7 @@ void SrsRtmpConn::http_hooks_on_stop()
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_stop(req->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_stop(req->vhost_);
if (!conf) {
return;
diff --git a/trunk/src/app/srs_app_rtsp_conn.cpp b/trunk/src/app/srs_app_rtsp_conn.cpp
index aa2fa8d2edb..77136425bc1 100644
--- a/trunk/src/app/srs_app_rtsp_conn.cpp
+++ b/trunk/src/app/srs_app_rtsp_conn.cpp
@@ -359,7 +359,7 @@ SrsRtspConnection::SrsRtspConnection(ISrsResourceManager *cm, ISrsProtocolReadWr
disposing_ = false;
request_ = new SrsRequest();
- request_->ip = cip;
+ request_->ip_ = cip;
ip_ = cip;
port_ = port;
rtsp_ = new SrsRtspStack(skt);
@@ -683,15 +683,15 @@ void SrsRtspConnection::alive()
srs_error_t SrsRtspConnection::do_describe(SrsRtspRequest *req, std::string &sdp)
{
srs_error_t err = srs_success;
- srs_net_url_parse_rtmp_url(req->uri, request_->tcUrl, request_->stream);
+ srs_net_url_parse_rtmp_url(req->uri, request_->tcUrl_, request_->stream_);
- srs_net_url_parse_tcurl(request_->tcUrl, request_->schema, request_->host, request_->vhost,
- request_->app, request_->stream, request_->port, request_->param);
+ srs_net_url_parse_tcurl(request_->tcUrl_, request_->schema_, request_->host_, request_->vhost_,
+ request_->app_, request_->stream_, request_->port_, request_->param_);
// discovery vhost, resolve the vhost from config
- SrsConfDirective *parsed_vhost = _srs_config->get_vhost(request_->vhost);
+ SrsConfDirective *parsed_vhost = _srs_config->get_vhost(request_->vhost_);
if (parsed_vhost) {
- request_->vhost = parsed_vhost->arg0();
+ request_->vhost_ = parsed_vhost->arg0();
}
if ((err = security_->check(SrsRtcConnPlay, ip_, request_)) != srs_success) {
@@ -854,7 +854,7 @@ srs_error_t SrsRtspConnection::http_hooks_on_play(ISrsRequest *req)
{
srs_error_t err = srs_success;
- if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req->vhost_)) {
return err;
}
@@ -864,7 +864,7 @@ srs_error_t SrsRtspConnection::http_hooks_on_play(ISrsRequest *req)
std::vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_play(req->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_play(req->vhost_);
if (!conf) {
return err;
diff --git a/trunk/src/app/srs_app_rtsp_source.cpp b/trunk/src/app/srs_app_rtsp_source.cpp
index 0009837fced..3fe0bf1972d 100644
--- a/trunk/src/app/srs_app_rtsp_source.cpp
+++ b/trunk/src/app/srs_app_rtsp_source.cpp
@@ -666,7 +666,7 @@ srs_error_t SrsRtspRtpBuilder::initialize(ISrsRequest *r)
}
// Setup the SPS/PPS parsing strategy.
- format->try_annexb_first_ = _srs_config->try_annexb_first(r->vhost);
+ format->try_annexb_first_ = _srs_config->try_annexb_first(r->vhost_);
srs_trace("RTSP bridge from RTMP, try_annexb_first=%d", format->try_annexb_first_);
diff --git a/trunk/src/app/srs_app_security.cpp b/trunk/src/app/srs_app_security.cpp
index 97e12c2d28c..c525c20425e 100644
--- a/trunk/src/app/srs_app_security.cpp
+++ b/trunk/src/app/srs_app_security.cpp
@@ -24,12 +24,12 @@ srs_error_t SrsSecurity::check(SrsRtmpConnType type, string ip, ISrsRequest *req
srs_error_t err = srs_success;
// allow all if security disabled.
- if (!_srs_config->get_security_enabled(req->vhost)) {
+ if (!_srs_config->get_security_enabled(req->vhost_)) {
return err; // OK
}
// rules to apply
- SrsConfDirective *rules = _srs_config->get_security_rules(req->vhost);
+ SrsConfDirective *rules = _srs_config->get_security_rules(req->vhost_);
return do_check(rules, type, ip, req);
}
diff --git a/trunk/src/app/srs_app_server.cpp b/trunk/src/app/srs_app_server.cpp
index 317b0faa71a..e934891c5ef 100644
--- a/trunk/src/app/srs_app_server.cpp
+++ b/trunk/src/app/srs_app_server.cpp
@@ -1342,7 +1342,7 @@ srs_error_t SrsServer::create_rtc_session(SrsRtcUserConfig *ruc, SrsSdp &local_s
// Security or system flow control check. For WebRTC, use 0 as fd and port, because for
// the WebRTC HTTP API, it's not useful information.
- if ((err = on_before_connection("RTC", (int)0, req->ip, 0)) != srs_success) {
+ if ((err = on_before_connection("RTC", (int)0, req->ip_, 0)) != srs_success) {
return srs_error_wrap(err, "check");
}
diff --git a/trunk/src/app/srs_app_source.cpp b/trunk/src/app/srs_app_source.cpp
index 133add7f060..900125e4577 100644
--- a/trunk/src/app/srs_app_source.cpp
+++ b/trunk/src/app/srs_app_source.cpp
@@ -494,10 +494,10 @@ srs_error_t SrsLiveConsumer::dump_packets(SrsMessageArray *msgs, int &count)
srs_error_t err = srs_success;
srs_assert(count >= 0);
- srs_assert(msgs->max > 0);
+ srs_assert(msgs->max_ > 0);
// the count used as input to reset the max if positive.
- int max = count ? srs_min(count, msgs->max) : msgs->max;
+ int max = count ? srs_min(count, msgs->max_) : msgs->max_;
// the count specifies the max acceptable count,
// here maybe 1+, and we must set to 0 when got nothing.
@@ -514,7 +514,7 @@ srs_error_t SrsLiveConsumer::dump_packets(SrsMessageArray *msgs, int &count)
}
// pump msgs from queue.
- if ((err = queue->dump_packets(max, msgs->msgs, count)) != srs_success) {
+ if ((err = queue->dump_packets(max, msgs->msgs_, count)) != srs_success) {
return srs_error_wrap(err, "dump packets");
}
@@ -978,7 +978,7 @@ srs_error_t SrsOriginHub::on_audio(SrsMediaPacket *shared_audio)
if ((err = hls->on_audio(msg, format)) != srs_success) {
// apply the error strategy for hls.
- std::string hls_error_strategy = _srs_config->get_hls_on_error(req_->vhost);
+ std::string hls_error_strategy = _srs_config->get_hls_on_error(req_->vhost_);
if (srs_config_hls_is_on_error_ignore(hls_error_strategy)) {
srs_warn("hls: ignore audio error %s", srs_error_desc(err).c_str());
hls->on_unpublish();
@@ -1069,7 +1069,7 @@ srs_error_t SrsOriginHub::on_video(SrsMediaPacket *shared_video, bool is_sequenc
if ((err = hls->on_video(msg, format)) != srs_success) {
// TODO: We should support more strategies.
// apply the error strategy for hls.
- std::string hls_error_strategy = _srs_config->get_hls_on_error(req_->vhost);
+ std::string hls_error_strategy = _srs_config->get_hls_on_error(req_->vhost_);
if (srs_config_hls_is_on_error_ignore(hls_error_strategy)) {
srs_warn("hls: ignore video error %s", srs_error_desc(err).c_str());
hls->on_unpublish();
@@ -1260,7 +1260,7 @@ srs_error_t SrsOriginHub::create_forwarders()
{
srs_error_t err = srs_success;
- if (!_srs_config->get_forward_enabled(req_->vhost)) {
+ if (!_srs_config->get_forward_enabled(req_->vhost_)) {
return err;
}
@@ -1277,7 +1277,7 @@ srs_error_t SrsOriginHub::create_forwarders()
}
// For destanition config
- SrsConfDirective *conf = _srs_config->get_forwards(req_->vhost);
+ SrsConfDirective *conf = _srs_config->get_forwards(req_->vhost_);
for (int i = 0; conf && i < (int)conf->args.size(); i++) {
std::string forward_server = conf->args.at(i);
@@ -1289,12 +1289,12 @@ srs_error_t SrsOriginHub::create_forwarders()
return srs_error_wrap(err, "init forwarder");
}
- srs_utime_t queue_size = _srs_config->get_queue_length(req_->vhost);
+ srs_utime_t queue_size = _srs_config->get_queue_length(req_->vhost_);
forwarder->set_queue_size(queue_size);
if ((err = forwarder->on_publish()) != srs_success) {
return srs_error_wrap(err, "start forwarder failed, vhost=%s, app=%s, stream=%s, forward-to=%s",
- req_->vhost.c_str(), req_->app.c_str(), req_->stream.c_str(), forward_server.c_str());
+ req_->vhost_.c_str(), req_->app_.c_str(), req_->stream_.c_str(), forward_server.c_str());
}
}
@@ -1308,7 +1308,7 @@ srs_error_t SrsOriginHub::create_backend_forwarders(bool &applied)
// default not configure backend service
applied = false;
- SrsConfDirective *conf = _srs_config->get_forward_backend(req_->vhost);
+ SrsConfDirective *conf = _srs_config->get_forward_backend(req_->vhost_);
if (!conf || conf->arg0().empty()) {
return err;
}
@@ -1332,27 +1332,27 @@ srs_error_t SrsOriginHub::create_backend_forwarders(bool &applied)
// create temp Request by url
SrsUniquePtr req(new SrsRequest());
- srs_net_url_parse_rtmp_url(url, req->tcUrl, req->stream);
- srs_net_url_parse_tcurl(req->tcUrl, req->schema, req->host, req->vhost, req->app, req->stream, req->port, req->param);
+ srs_net_url_parse_rtmp_url(url, req->tcUrl_, req->stream_);
+ srs_net_url_parse_tcurl(req->tcUrl_, req->schema_, req->host_, req->vhost_, req->app_, req->stream_, req->port_, req->param_);
// create forwarder
SrsForwarder *forwarder = new SrsForwarder(this);
forwarders.push_back(forwarder);
std::stringstream forward_server;
- forward_server << req->host << ":" << req->port;
+ forward_server << req->host_ << ":" << req->port_;
// initialize the forwarder with request.
if ((err = forwarder->initialize(req.get(), forward_server.str())) != srs_success) {
return srs_error_wrap(err, "init backend forwarder failed, forward-to=%s", forward_server.str().c_str());
}
- srs_utime_t queue_size = _srs_config->get_queue_length(req_->vhost);
+ srs_utime_t queue_size = _srs_config->get_queue_length(req_->vhost_);
forwarder->set_queue_size(queue_size);
if ((err = forwarder->on_publish()) != srs_success) {
return srs_error_wrap(err, "start backend forwarder failed, vhost=%s, app=%s, stream=%s, forward-to=%s",
- req_->vhost.c_str(), req_->app.c_str(), req_->stream.c_str(), forward_server.str().c_str());
+ req_->vhost_.c_str(), req_->app_.c_str(), req_->stream_.c_str(), forward_server.str().c_str());
}
}
@@ -1479,32 +1479,32 @@ srs_error_t SrsMetaCache::update_data(SrsMessageHeader *header, SrsOnMetaDataPac
SrsAmf0Any *prop = NULL;
// when exists the duration, remove it to make ExoPlayer happy.
- if (metadata->metadata->get_property("duration") != NULL) {
- metadata->metadata->remove("duration");
+ if (metadata->metadata_->get_property("duration") != NULL) {
+ metadata->metadata_->remove("duration");
}
// generate metadata info to print
std::stringstream ss;
- if ((prop = metadata->metadata->ensure_property_number("width")) != NULL) {
+ if ((prop = metadata->metadata_->ensure_property_number("width")) != NULL) {
ss << ", width=" << (int)prop->to_number();
}
- if ((prop = metadata->metadata->ensure_property_number("height")) != NULL) {
+ if ((prop = metadata->metadata_->ensure_property_number("height")) != NULL) {
ss << ", height=" << (int)prop->to_number();
}
- if ((prop = metadata->metadata->ensure_property_number("videocodecid")) != NULL) {
+ if ((prop = metadata->metadata_->ensure_property_number("videocodecid")) != NULL) {
ss << ", vcodec=" << (int)prop->to_number();
}
- if ((prop = metadata->metadata->ensure_property_number("audiocodecid")) != NULL) {
+ if ((prop = metadata->metadata_->ensure_property_number("audiocodecid")) != NULL) {
ss << ", acodec=" << (int)prop->to_number();
}
srs_trace("got metadata%s", ss.str().c_str());
// add server info to metadata
- metadata->metadata->set("server", SrsAmf0Any::str(RTMP_SIG_SRS_SERVER));
+ metadata->metadata_->set("server", SrsAmf0Any::str(RTMP_SIG_SRS_SERVER));
// version, for example, 1.0.0
// add version to metadata, please donot remove it, for debug.
- metadata->metadata->set("server_version", SrsAmf0Any::str(RTMP_SIG_SRS_VERSION));
+ metadata->metadata_->set("server_version", SrsAmf0Any::str(RTMP_SIG_SRS_VERSION));
// encode the metadata to payload
int size = 0;
@@ -1823,17 +1823,17 @@ srs_error_t SrsLiveSource::initialize(SrsSharedPtr wrapper, ISrsR
srs_assert(!req);
req = r->copy();
- atc = _srs_config->get_atc(req->vhost);
+ atc = _srs_config->get_atc(req->vhost_);
- jitter_algorithm = (SrsRtmpJitterAlgorithm)_srs_config->get_time_jitter(req->vhost);
- mix_correct = _srs_config->get_mix_correct(req->vhost);
+ jitter_algorithm = (SrsRtmpJitterAlgorithm)_srs_config->get_time_jitter(req->vhost_);
+ mix_correct = _srs_config->get_mix_correct(req->vhost_);
if ((err = format_->initialize()) != srs_success) {
return srs_error_wrap(err, "format initialize");
}
// Setup the SPS/PPS parsing strategy.
- format_->try_annexb_first_ = _srs_config->try_annexb_first(r->vhost);
+ format_->try_annexb_first_ = _srs_config->try_annexb_first(r->vhost_);
if ((err = play_edge->initialize(wrapper, req)) != srs_success) {
return srs_error_wrap(err, "edge(play)");
@@ -1842,7 +1842,7 @@ srs_error_t SrsLiveSource::initialize(SrsSharedPtr wrapper, ISrsR
return srs_error_wrap(err, "edge(publish)");
}
- srs_utime_t queue_size = _srs_config->get_queue_length(req->vhost);
+ srs_utime_t queue_size = _srs_config->get_queue_length(req->vhost_);
publish_edge->set_queue_size(queue_size);
if ((err = hub->initialize(wrapper, req)) != srs_success) {
@@ -1922,9 +1922,9 @@ srs_error_t SrsLiveSource::on_meta_data(SrsRtmpCommonMessage *msg, SrsOnMetaData
// if allow atc_auto and bravo-atc detected, open atc for vhost.
SrsAmf0Any *prop = NULL;
- atc = _srs_config->get_atc(req->vhost);
- if (_srs_config->get_atc_auto(req->vhost)) {
- if ((prop = metadata->metadata->get_property("bravo_atc")) != NULL) {
+ atc = _srs_config->get_atc(req->vhost_);
+ if (_srs_config->get_atc_auto(req->vhost_)) {
+ if ((prop = metadata->metadata_->get_property("bravo_atc")) != NULL) {
if (prop->is_string() && prop->to_str() == "true") {
atc = true;
}
@@ -1942,7 +1942,7 @@ srs_error_t SrsLiveSource::on_meta_data(SrsRtmpCommonMessage *msg, SrsOnMetaData
// when already got metadata, drop when reduce sequence header.
bool drop_for_reduce = false;
- if (meta->data() && _srs_config->get_reduce_sequence_header(req->vhost)) {
+ if (meta->data() && _srs_config->get_reduce_sequence_header(req->vhost_)) {
drop_for_reduce = true;
srs_warn("drop for reduce sh metadata, size=%d", msg->size());
}
@@ -2036,7 +2036,7 @@ srs_error_t SrsLiveSource::on_audio_imp(SrsMediaPacket *msg)
// whether consumer should drop for the duplicated sequence header.
bool drop_for_reduce = false;
- if (is_sequence_header && meta->previous_ash() && _srs_config->get_reduce_sequence_header(req->vhost)) {
+ if (is_sequence_header && meta->previous_ash() && _srs_config->get_reduce_sequence_header(req->vhost_)) {
if (meta->previous_ash()->size() == msg->size()) {
drop_for_reduce = srs_bytes_equal(meta->previous_ash()->payload(), msg->payload(), msg->size());
srs_warn("drop for reduce sh audio, size=%d", msg->size());
@@ -2136,7 +2136,7 @@ srs_error_t SrsLiveSource::on_video_imp(SrsMediaPacket *msg)
// user can disable the sps parse to workaround when parse sps failed.
// @see https://github.com/ossrs/srs/issues/474
if (is_sequence_header) {
- format_->avc_parse_sps_ = _srs_config->get_parse_sps(req->vhost);
+ format_->avc_parse_sps_ = _srs_config->get_parse_sps(req->vhost_);
}
if ((err = format_->on_video(msg)) != srs_success) {
@@ -2151,7 +2151,7 @@ srs_error_t SrsLiveSource::on_video_imp(SrsMediaPacket *msg)
// whether consumer should drop for the duplicated sequence header.
bool drop_for_reduce = false;
- if (is_sequence_header && meta->previous_vsh() && _srs_config->get_reduce_sequence_header(req->vhost)) {
+ if (is_sequence_header && meta->previous_vsh() && _srs_config->get_reduce_sequence_header(req->vhost_)) {
if (meta->previous_vsh()->size() == msg->size()) {
drop_for_reduce = srs_bytes_equal(meta->previous_vsh()->payload(), msg->payload(), msg->size());
srs_warn("drop for reduce sh video, size=%d", msg->size());
@@ -2404,7 +2404,7 @@ srs_error_t SrsLiveSource::create_consumer(SrsLiveConsumer *&consumer)
srs_error_t err = srs_success;
// for edge, when play edge stream, check the state
- if (_srs_config->get_vhost_is_edge(req->vhost)) {
+ if (_srs_config->get_vhost_is_edge(req->vhost_)) {
// notice edge to start for the first client.
if ((err = play_edge->on_client_play()) != srs_success) {
return srs_error_wrap(err, "play edge");
@@ -2425,7 +2425,7 @@ srs_error_t SrsLiveSource::consumer_dumps(SrsLiveConsumer *consumer, bool ds, bo
{
srs_error_t err = srs_success;
- srs_utime_t queue_size = _srs_config->get_queue_length(req->vhost);
+ srs_utime_t queue_size = _srs_config->get_queue_length(req->vhost_);
consumer->set_queue_size(queue_size);
// if atc, update the sequence header to gop cache time.
@@ -2482,7 +2482,7 @@ void SrsLiveSource::on_consumer_destroy(SrsLiveConsumer *consumer)
// For edge server, the stream die when the last player quit, because the edge stream is created by player
// activities, so it should die when all players quit.
- if (_srs_config->get_vhost_is_edge(req->vhost)) {
+ if (_srs_config->get_vhost_is_edge(req->vhost_)) {
stream_die_at_ = srs_time_now_cached();
}
diff --git a/trunk/src/app/srs_app_srt_conn.cpp b/trunk/src/app/srs_app_srt_conn.cpp
index baa7bf0b8f7..8ad8cd6f6b4 100644
--- a/trunk/src/app/srs_app_srt_conn.cpp
+++ b/trunk/src/app/srs_app_srt_conn.cpp
@@ -173,7 +173,7 @@ SrsMpegtsSrtConn::SrsMpegtsSrtConn(ISrsResourceManager *resource_manager, srs_sr
trd_ = new SrsSTCoroutine("ts-srt", this, _srs_context->get_id());
req_ = new SrsRequest();
- req_->ip = ip;
+ req_->ip_ = ip;
security_ = new SrsSecurity();
}
@@ -273,17 +273,17 @@ srs_error_t SrsMpegtsSrtConn::do_cycle()
}
// discovery vhost, resolve the vhost from config
- SrsConfDirective *parsed_vhost = _srs_config->get_vhost(req_->vhost);
+ SrsConfDirective *parsed_vhost = _srs_config->get_vhost(req_->vhost_);
if (parsed_vhost) {
- req_->vhost = parsed_vhost->arg0();
+ req_->vhost_ = parsed_vhost->arg0();
}
- if (!_srs_config->get_srt_enabled(req_->vhost)) {
- return srs_error_new(ERROR_SRT_CONN, "srt disabled, vhost=%s", req_->vhost.c_str());
+ if (!_srs_config->get_srt_enabled(req_->vhost_)) {
+ return srs_error_new(ERROR_SRT_CONN, "srt disabled, vhost=%s", req_->vhost_.c_str());
}
srs_trace("@srt, streamid=%s, stream_url=%s, vhost=%s, app=%s, stream=%s, param=%s",
- streamid.c_str(), req_->get_stream_url().c_str(), req_->vhost.c_str(), req_->app.c_str(), req_->stream.c_str(), req_->param.c_str());
+ streamid.c_str(), req_->get_stream_url().c_str(), req_->vhost_.c_str(), req_->app_.c_str(), req_->stream_.c_str(), req_->param_.c_str());
// Acquire stream publish token to prevent race conditions across all protocols.
SrsStreamPublishToken *publish_token_raw = NULL;
@@ -390,8 +390,8 @@ srs_error_t SrsMpegtsSrtConn::acquire_publish()
srs_assert(live_source.get() != NULL);
- bool enabled_cache = _srs_config->get_gop_cache(req_->vhost);
- int gcmf = _srs_config->get_gop_cache_max_frames(req_->vhost);
+ bool enabled_cache = _srs_config->get_gop_cache(req_->vhost_);
+ int gcmf = _srs_config->get_gop_cache_max_frames(req_->vhost_);
live_source->set_cache(enabled_cache);
live_source->set_gop_cache_max_frames(gcmf);
@@ -401,8 +401,8 @@ srs_error_t SrsMpegtsSrtConn::acquire_publish()
// Check whether RTC stream is busy.
SrsSharedPtr rtc;
bool rtc_server_enabled = _srs_config->get_rtc_server_enabled();
- bool rtc_enabled = _srs_config->get_rtc_enabled(req_->vhost);
- bool edge = _srs_config->get_vhost_is_edge(req_->vhost);
+ bool rtc_enabled = _srs_config->get_rtc_enabled(req_->vhost_);
+ bool edge = _srs_config->get_vhost_is_edge(req_->vhost_);
if (rtc_server_enabled && rtc_enabled && !edge) {
if ((err = _srs_rtc_sources->fetch_or_create(req_, rtc)) != srs_success) {
return srs_error_wrap(err, "create source");
@@ -413,13 +413,13 @@ srs_error_t SrsMpegtsSrtConn::acquire_publish()
}
}
- if (_srs_config->get_srt_to_rtmp(req_->vhost)) {
+ if (_srs_config->get_srt_to_rtmp(req_->vhost_)) {
// Bridge to RTMP and RTC streaming.
SrsCompositeBridge *bridge = new SrsCompositeBridge();
bridge->append(new SrsFrameToRtmpBridge(live_source));
#if defined(SRS_FFMPEG_FIT)
- if (rtc.get() && _srs_config->get_rtc_from_rtmp(req_->vhost)) {
+ if (rtc.get() && _srs_config->get_rtc_from_rtmp(req_->vhost_)) {
bridge->append(new SrsFrameToRtcBridge(rtc));
}
#endif
@@ -605,7 +605,7 @@ srs_error_t SrsMpegtsSrtConn::http_hooks_on_connect()
{
srs_error_t err = srs_success;
- if (!_srs_config->get_vhost_http_hooks_enabled(req_->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req_->vhost_)) {
return err;
}
@@ -615,7 +615,7 @@ srs_error_t SrsMpegtsSrtConn::http_hooks_on_connect()
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_connect(req_->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_connect(req_->vhost_);
if (!conf) {
return err;
@@ -636,7 +636,7 @@ srs_error_t SrsMpegtsSrtConn::http_hooks_on_connect()
void SrsMpegtsSrtConn::http_hooks_on_close()
{
- if (!_srs_config->get_vhost_http_hooks_enabled(req_->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req_->vhost_)) {
return;
}
@@ -646,7 +646,7 @@ void SrsMpegtsSrtConn::http_hooks_on_close()
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_close(req_->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_close(req_->vhost_);
if (!conf) {
return;
@@ -665,7 +665,7 @@ srs_error_t SrsMpegtsSrtConn::http_hooks_on_publish()
{
srs_error_t err = srs_success;
- if (!_srs_config->get_vhost_http_hooks_enabled(req_->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req_->vhost_)) {
return err;
}
@@ -675,7 +675,7 @@ srs_error_t SrsMpegtsSrtConn::http_hooks_on_publish()
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_publish(req_->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_publish(req_->vhost_);
if (!conf) {
return err;
@@ -696,7 +696,7 @@ srs_error_t SrsMpegtsSrtConn::http_hooks_on_publish()
void SrsMpegtsSrtConn::http_hooks_on_unpublish()
{
- if (!_srs_config->get_vhost_http_hooks_enabled(req_->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req_->vhost_)) {
return;
}
@@ -706,7 +706,7 @@ void SrsMpegtsSrtConn::http_hooks_on_unpublish()
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_unpublish(req_->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_unpublish(req_->vhost_);
if (!conf) {
return;
@@ -725,7 +725,7 @@ srs_error_t SrsMpegtsSrtConn::http_hooks_on_play()
{
srs_error_t err = srs_success;
- if (!_srs_config->get_vhost_http_hooks_enabled(req_->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req_->vhost_)) {
return err;
}
@@ -735,7 +735,7 @@ srs_error_t SrsMpegtsSrtConn::http_hooks_on_play()
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_play(req_->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_play(req_->vhost_);
if (!conf) {
return err;
@@ -756,7 +756,7 @@ srs_error_t SrsMpegtsSrtConn::http_hooks_on_play()
void SrsMpegtsSrtConn::http_hooks_on_stop()
{
- if (!_srs_config->get_vhost_http_hooks_enabled(req_->vhost)) {
+ if (!_srs_config->get_vhost_http_hooks_enabled(req_->vhost_)) {
return;
}
@@ -766,7 +766,7 @@ void SrsMpegtsSrtConn::http_hooks_on_stop()
vector hooks;
if (true) {
- SrsConfDirective *conf = _srs_config->get_vhost_on_stop(req_->vhost);
+ SrsConfDirective *conf = _srs_config->get_vhost_on_stop(req_->vhost_);
if (!conf) {
return;
diff --git a/trunk/src/app/srs_app_srt_source.cpp b/trunk/src/app/srs_app_srt_source.cpp
index 4098527a7bc..7843ac65dfe 100644
--- a/trunk/src/app/srs_app_srt_source.cpp
+++ b/trunk/src/app/srs_app_srt_source.cpp
@@ -671,6 +671,7 @@ srs_error_t SrsSrtFrameBuilder::check_vps_sps_pps_change(SrsTsMessage *msg)
// ts tbn to flv tbn.
uint32_t dts = (uint32_t)(msg->dts_ / 90);
+ uint32_t pts = (uint32_t)(msg->pts_ / 90);
std::string sh;
SrsUniquePtr hevc(new SrsRawHEVCStream());
@@ -682,8 +683,14 @@ srs_error_t SrsSrtFrameBuilder::check_vps_sps_pps_change(SrsTsMessage *msg)
// h265 packet to flv packet.
char *flv = NULL;
int nb_flv = 0;
- if ((err = hevc->mux_avc2flv(sh, SrsVideoAvcFrameTypeKeyFrame, SrsVideoAvcFrameTraitSequenceHeader, dts, dts, &flv, &nb_flv)) != srs_success) {
- return srs_error_wrap(err, "avc to flv");
+ if ((err = hevc->mux_avc2flv_enhanced(sh,
+ SrsVideoAvcFrameTypeKeyFrame,
+ SrsVideoHEVCFrameTraitPacketTypeSequenceStart,
+ dts,
+ pts,
+ &flv,
+ &nb_flv)) != srs_success) {
+ return srs_error_wrap(err, "hevc sh to flv");
}
SrsMessageHeader header;
@@ -713,8 +720,6 @@ srs_error_t SrsSrtFrameBuilder::on_hevc_frame(SrsTsMessage *msg, vectordts_ / 90);
- uint32_t pts = (uint32_t)(msg->pts_ / 90);
- int32_t cts = pts - dts;
// for IDR frame, the frame is keyframe.
SrsVideoAvcFrameType frame_type = SrsVideoAvcFrameTypeInterFrame;
@@ -736,16 +741,9 @@ srs_error_t SrsSrtFrameBuilder::on_hevc_frame(SrsTsMessage *msg, vectorvhost, url_subpath);
+ bool ret = srs_srt_streamid_info(streamid, mode, request->vhost_, url_subpath);
if (!ret) {
return ret;
}
@@ -123,25 +123,25 @@ bool srs_srt_streamid_to_request(const std::string &streamid, SrtMode &mode, ISr
size_t pos = url_subpath.find("/");
string stream_with_params = "";
if (pos == string::npos) {
- request->app = _srs_config->get_default_app_name();
+ request->app_ = _srs_config->get_default_app_name();
stream_with_params = url_subpath;
} else {
- request->app = url_subpath.substr(0, pos);
+ request->app_ = url_subpath.substr(0, pos);
stream_with_params = url_subpath.substr(pos + 1);
}
pos = stream_with_params.find("?");
if (pos == string::npos) {
- request->stream = stream_with_params;
+ request->stream_ = stream_with_params;
} else {
- request->stream = stream_with_params.substr(0, pos);
- request->param = stream_with_params.substr(pos + 1);
+ request->stream_ = stream_with_params.substr(0, pos);
+ request->param_ = stream_with_params.substr(pos + 1);
}
- request->host = srs_get_public_internet_address();
- if (request->vhost.empty())
- request->vhost = request->host;
- request->tcUrl = srs_net_url_encode_tcurl("srt", request->host, request->vhost, request->app, request->port);
+ request->host_ = srs_get_public_internet_address();
+ if (request->vhost_.empty())
+ request->vhost_ = request->host_;
+ request->tcUrl_ = srs_net_url_encode_tcurl("srt", request->host_, request->vhost_, request->app_, request->port_);
return ret;
}
diff --git a/trunk/src/app/srs_app_statistic.cpp b/trunk/src/app/srs_app_statistic.cpp
index f08b2b908ed..d7244ed5a57 100644
--- a/trunk/src/app/srs_app_statistic.cpp
+++ b/trunk/src/app/srs_app_statistic.cpp
@@ -225,12 +225,12 @@ srs_error_t SrsStatisticClient::dumps(SrsJsonObject *obj)
obj->set("id", SrsJsonAny::str(id.c_str()));
obj->set("vhost", SrsJsonAny::str(stream->vhost->id.c_str()));
obj->set("stream", SrsJsonAny::str(stream->id.c_str()));
- obj->set("ip", SrsJsonAny::str(req->ip.c_str()));
- obj->set("pageUrl", SrsJsonAny::str(req->pageUrl.c_str()));
- obj->set("swfUrl", SrsJsonAny::str(req->swfUrl.c_str()));
- obj->set("tcUrl", SrsJsonAny::str(req->tcUrl.c_str()));
+ obj->set("ip", SrsJsonAny::str(req->ip_.c_str()));
+ obj->set("pageUrl", SrsJsonAny::str(req->pageUrl_.c_str()));
+ obj->set("swfUrl", SrsJsonAny::str(req->swfUrl_.c_str()));
+ obj->set("tcUrl", SrsJsonAny::str(req->tcUrl_.c_str()));
obj->set("url", SrsJsonAny::str(req->get_stream_url().c_str()));
- obj->set("name", SrsJsonAny::str(req->stream.c_str()));
+ obj->set("name", SrsJsonAny::str(req->stream_.c_str()));
obj->set("type", SrsJsonAny::str(srs_client_type_string(type).c_str()));
obj->set("publish", SrsJsonAny::boolean(srs_client_type_is_publish(type)));
obj->set("alive", SrsJsonAny::number(srsu2ms(srs_time_now_cached() - create) / 1000.0));
@@ -739,15 +739,15 @@ SrsStatisticVhost *SrsStatistic::create_vhost(ISrsRequest *req)
SrsStatisticVhost *vhost = NULL;
// create vhost if not exists.
- if (rvhosts.find(req->vhost) == rvhosts.end()) {
+ if (rvhosts.find(req->vhost_) == rvhosts.end()) {
vhost = new SrsStatisticVhost();
- vhost->vhost = req->vhost;
- rvhosts[req->vhost] = vhost;
+ vhost->vhost = req->vhost_;
+ rvhosts[req->vhost_] = vhost;
vhosts[vhost->id] = vhost;
return vhost;
}
- vhost = rvhosts[req->vhost];
+ vhost = rvhosts[req->vhost_];
return vhost;
}
@@ -767,10 +767,10 @@ SrsStatisticStream *SrsStatistic::create_stream(SrsStatisticVhost *vhost, ISrsRe
if (rstreams.find(url) == rstreams.end()) {
stream = new SrsStatisticStream();
stream->vhost = vhost;
- stream->stream = req->stream;
- stream->app = req->app;
+ stream->stream = req->stream_;
+ stream->app = req->app_;
stream->url = url;
- stream->tcUrl = req->tcUrl;
+ stream->tcUrl = req->tcUrl_;
rstreams[url] = stream;
streams[stream->id] = stream;
return stream;
diff --git a/trunk/src/core/srs_core_version7.hpp b/trunk/src/core/srs_core_version7.hpp
index 6e0b5807ef8..0ff6df6ec15 100644
--- a/trunk/src/core/srs_core_version7.hpp
+++ b/trunk/src/core/srs_core_version7.hpp
@@ -9,6 +9,6 @@
#define VERSION_MAJOR 7
#define VERSION_MINOR 0
-#define VERSION_REVISION 82
+#define VERSION_REVISION 84
#endif
\ No newline at end of file
diff --git a/trunk/src/protocol/srs_protocol_amf0.cpp b/trunk/src/protocol/srs_protocol_amf0.cpp
index 14ef00ce19e..01af78cb0ce 100644
--- a/trunk/src/protocol/srs_protocol_amf0.cpp
+++ b/trunk/src/protocol/srs_protocol_amf0.cpp
@@ -46,7 +46,7 @@ using namespace srs_internal;
SrsAmf0Any::SrsAmf0Any()
{
- marker = RTMP_AMF0_Invalid;
+ marker_ = RTMP_AMF0_Invalid;
}
SrsAmf0Any::~SrsAmf0Any()
@@ -55,47 +55,47 @@ SrsAmf0Any::~SrsAmf0Any()
bool SrsAmf0Any::is_string()
{
- return marker == RTMP_AMF0_String;
+ return marker_ == RTMP_AMF0_String;
}
bool SrsAmf0Any::is_boolean()
{
- return marker == RTMP_AMF0_Boolean;
+ return marker_ == RTMP_AMF0_Boolean;
}
bool SrsAmf0Any::is_number()
{
- return marker == RTMP_AMF0_Number;
+ return marker_ == RTMP_AMF0_Number;
}
bool SrsAmf0Any::is_null()
{
- return marker == RTMP_AMF0_Null;
+ return marker_ == RTMP_AMF0_Null;
}
bool SrsAmf0Any::is_undefined()
{
- return marker == RTMP_AMF0_Undefined;
+ return marker_ == RTMP_AMF0_Undefined;
}
bool SrsAmf0Any::is_object()
{
- return marker == RTMP_AMF0_Object;
+ return marker_ == RTMP_AMF0_Object;
}
bool SrsAmf0Any::is_ecma_array()
{
- return marker == RTMP_AMF0_EcmaArray;
+ return marker_ == RTMP_AMF0_EcmaArray;
}
bool SrsAmf0Any::is_strict_array()
{
- return marker == RTMP_AMF0_StrictArray;
+ return marker_ == RTMP_AMF0_StrictArray;
}
bool SrsAmf0Any::is_date()
{
- return marker == RTMP_AMF0_Date;
+ return marker_ == RTMP_AMF0_Date;
}
bool SrsAmf0Any::is_complex_object()
@@ -107,28 +107,28 @@ string SrsAmf0Any::to_str()
{
SrsAmf0String *p = dynamic_cast(this);
srs_assert(p != NULL);
- return p->value;
+ return p->value_;
}
const char *SrsAmf0Any::to_str_raw()
{
SrsAmf0String *p = dynamic_cast(this);
srs_assert(p != NULL);
- return p->value.data();
+ return p->value_.data();
}
bool SrsAmf0Any::to_boolean()
{
SrsAmf0Boolean *p = dynamic_cast(this);
srs_assert(p != NULL);
- return p->value;
+ return p->value_;
}
double SrsAmf0Any::to_number()
{
SrsAmf0Number *p = dynamic_cast(this);
srs_assert(p != NULL);
- return p->value;
+ return p->value_;
}
int64_t SrsAmf0Any::to_date()
@@ -170,12 +170,12 @@ void SrsAmf0Any::set_number(double value)
{
SrsAmf0Number *p = dynamic_cast(this);
srs_assert(p != NULL);
- p->value = value;
+ p->value_ = value;
}
bool SrsAmf0Any::is_object_eof()
{
- return marker == RTMP_AMF0_ObjectEnd;
+ return marker_ == RTMP_AMF0_ObjectEnd;
}
void srs_fill_level_spaces(stringstream &ss, int level)
@@ -273,7 +273,7 @@ char *SrsAmf0Any::human_print(char **pdata, int *psize)
SrsJsonAny *SrsAmf0Any::to_json()
{
- switch (marker) {
+ switch (marker_) {
case RTMP_AMF0_String: {
return SrsJsonAny::str(to_str().c_str());
}
@@ -442,38 +442,38 @@ SrsUnSortedHashtable::~SrsUnSortedHashtable()
int SrsUnSortedHashtable::count()
{
- return (int)properties.size();
+ return (int)properties_.size();
}
void SrsUnSortedHashtable::clear()
{
std::vector::iterator it;
- for (it = properties.begin(); it != properties.end(); ++it) {
+ for (it = properties_.begin(); it != properties_.end(); ++it) {
SrsAmf0ObjectPropertyType &elem = *it;
SrsAmf0Any *any = elem.second;
srs_freep(any);
}
- properties.clear();
+ properties_.clear();
}
string SrsUnSortedHashtable::key_at(int index)
{
srs_assert(index < count());
- SrsAmf0ObjectPropertyType &elem = properties[index];
+ SrsAmf0ObjectPropertyType &elem = properties_[index];
return elem.first;
}
const char *SrsUnSortedHashtable::key_raw_at(int index)
{
srs_assert(index < count());
- SrsAmf0ObjectPropertyType &elem = properties[index];
+ SrsAmf0ObjectPropertyType &elem = properties_[index];
return elem.first.data();
}
SrsAmf0Any *SrsUnSortedHashtable::value_at(int index)
{
srs_assert(index < count());
- SrsAmf0ObjectPropertyType &elem = properties[index];
+ SrsAmf0ObjectPropertyType &elem = properties_[index];
return elem.second;
}
@@ -481,20 +481,20 @@ void SrsUnSortedHashtable::set(string key, SrsAmf0Any *value)
{
std::vector::iterator it;
- for (it = properties.begin(); it != properties.end(); ++it) {
+ for (it = properties_.begin(); it != properties_.end(); ++it) {
SrsAmf0ObjectPropertyType &elem = *it;
std::string name = elem.first;
SrsAmf0Any *any = elem.second;
if (key == name) {
srs_freep(any);
- it = properties.erase(it);
+ it = properties_.erase(it);
break;
}
}
if (value) {
- properties.push_back(std::make_pair(key, value));
+ properties_.push_back(std::make_pair(key, value));
}
}
@@ -502,7 +502,7 @@ SrsAmf0Any *SrsUnSortedHashtable::get_property(string name)
{
std::vector::iterator it;
- for (it = properties.begin(); it != properties.end(); ++it) {
+ for (it = properties_.begin(); it != properties_.end(); ++it) {
SrsAmf0ObjectPropertyType &elem = *it;
std::string key = elem.first;
SrsAmf0Any *any = elem.second;
@@ -548,14 +548,14 @@ void SrsUnSortedHashtable::remove(string name)
{
std::vector::iterator it;
- for (it = properties.begin(); it != properties.end();) {
+ for (it = properties_.begin(); it != properties_.end();) {
std::string key = it->first;
SrsAmf0Any *any = it->second;
if (key == name) {
srs_freep(any);
- it = properties.erase(it);
+ it = properties_.erase(it);
} else {
++it;
}
@@ -565,7 +565,7 @@ void SrsUnSortedHashtable::remove(string name)
void SrsUnSortedHashtable::copy(SrsUnSortedHashtable *src)
{
std::vector::iterator it;
- for (it = src->properties.begin(); it != src->properties.end(); ++it) {
+ for (it = src->properties_.begin(); it != src->properties_.end(); ++it) {
SrsAmf0ObjectPropertyType &elem = *it;
std::string key = elem.first;
SrsAmf0Any *any = elem.second;
@@ -575,7 +575,7 @@ void SrsUnSortedHashtable::copy(SrsUnSortedHashtable *src)
SrsAmf0ObjectEOF::SrsAmf0ObjectEOF()
{
- marker = RTMP_AMF0_ObjectEnd;
+ marker_ = RTMP_AMF0_ObjectEnd;
}
SrsAmf0ObjectEOF::~SrsAmf0ObjectEOF()
@@ -640,22 +640,22 @@ SrsAmf0Any *SrsAmf0ObjectEOF::copy()
SrsAmf0Object::SrsAmf0Object()
{
- properties = new SrsUnSortedHashtable();
- eof = new SrsAmf0ObjectEOF();
- marker = RTMP_AMF0_Object;
+ properties_ = new SrsUnSortedHashtable();
+ eof_ = new SrsAmf0ObjectEOF();
+ marker_ = RTMP_AMF0_Object;
}
SrsAmf0Object::~SrsAmf0Object()
{
- srs_freep(properties);
- srs_freep(eof);
+ srs_freep(properties_);
+ srs_freep(eof_);
}
int SrsAmf0Object::total_size()
{
int size = 1;
- for (int i = 0; i < properties->count(); i++) {
+ for (int i = 0; i < properties_->count(); i++) {
std::string name = key_at(i);
SrsAmf0Any *value = value_at(i);
@@ -724,7 +724,7 @@ srs_error_t SrsAmf0Object::write(SrsBuffer *stream)
stream->write_1bytes(RTMP_AMF0_Object);
// value
- for (int i = 0; i < properties->count(); i++) {
+ for (int i = 0; i < properties_->count(); i++) {
std::string name = this->key_at(i);
SrsAmf0Any *any = this->value_at(i);
@@ -737,7 +737,7 @@ srs_error_t SrsAmf0Object::write(SrsBuffer *stream)
}
}
- if ((err = eof->write(stream)) != srs_success) {
+ if ((err = eof_->write(stream)) != srs_success) {
return srs_error_wrap(err, "write EOF");
}
@@ -747,7 +747,7 @@ srs_error_t SrsAmf0Object::write(SrsBuffer *stream)
SrsAmf0Any *SrsAmf0Object::copy()
{
SrsAmf0Object *copy = new SrsAmf0Object();
- copy->properties->copy(properties);
+ copy->properties_->copy(properties_);
return copy;
}
@@ -755,7 +755,7 @@ SrsJsonAny *SrsAmf0Object::to_json()
{
SrsJsonObject *obj = SrsJsonAny::object();
- for (int i = 0; i < properties->count(); i++) {
+ for (int i = 0; i < properties_->count(); i++) {
std::string name = this->key_at(i);
SrsAmf0Any *any = this->value_at(i);
@@ -767,73 +767,73 @@ SrsJsonAny *SrsAmf0Object::to_json()
void SrsAmf0Object::clear()
{
- properties->clear();
+ properties_->clear();
}
int SrsAmf0Object::count()
{
- return properties->count();
+ return properties_->count();
}
string SrsAmf0Object::key_at(int index)
{
- return properties->key_at(index);
+ return properties_->key_at(index);
}
const char *SrsAmf0Object::key_raw_at(int index)
{
- return properties->key_raw_at(index);
+ return properties_->key_raw_at(index);
}
SrsAmf0Any *SrsAmf0Object::value_at(int index)
{
- return properties->value_at(index);
+ return properties_->value_at(index);
}
void SrsAmf0Object::set(string key, SrsAmf0Any *value)
{
- properties->set(key, value);
+ properties_->set(key, value);
}
SrsAmf0Any *SrsAmf0Object::get_property(string name)
{
- return properties->get_property(name);
+ return properties_->get_property(name);
}
SrsAmf0Any *SrsAmf0Object::ensure_property_string(string name)
{
- return properties->ensure_property_string(name);
+ return properties_->ensure_property_string(name);
}
SrsAmf0Any *SrsAmf0Object::ensure_property_number(string name)
{
- return properties->ensure_property_number(name);
+ return properties_->ensure_property_number(name);
}
void SrsAmf0Object::remove(string name)
{
- properties->remove(name);
+ properties_->remove(name);
}
SrsAmf0EcmaArray::SrsAmf0EcmaArray()
{
_count = 0;
- properties = new SrsUnSortedHashtable();
- eof = new SrsAmf0ObjectEOF();
- marker = RTMP_AMF0_EcmaArray;
+ properties_ = new SrsUnSortedHashtable();
+ eof_ = new SrsAmf0ObjectEOF();
+ marker_ = RTMP_AMF0_EcmaArray;
}
SrsAmf0EcmaArray::~SrsAmf0EcmaArray()
{
- srs_freep(properties);
- srs_freep(eof);
+ srs_freep(properties_);
+ srs_freep(eof_);
}
int SrsAmf0EcmaArray::total_size()
{
int size = 1 + 4;
- for (int i = 0; i < properties->count(); i++) {
+ for (int i = 0; i < properties_->count(); i++) {
std::string name = key_at(i);
SrsAmf0Any *value = value_at(i);
@@ -917,7 +917,7 @@ srs_error_t SrsAmf0EcmaArray::write(SrsBuffer *stream)
stream->write_4bytes(this->_count);
// value
- for (int i = 0; i < properties->count(); i++) {
+ for (int i = 0; i < properties_->count(); i++) {
std::string name = this->key_at(i);
SrsAmf0Any *any = this->value_at(i);
@@ -930,7 +930,7 @@ srs_error_t SrsAmf0EcmaArray::write(SrsBuffer *stream)
}
}
- if ((err = eof->write(stream)) != srs_success) {
+ if ((err = eof_->write(stream)) != srs_success) {
return srs_error_wrap(err, "write EOF");
}
@@ -940,7 +940,7 @@ srs_error_t SrsAmf0EcmaArray::write(SrsBuffer *stream)
SrsAmf0Any *SrsAmf0EcmaArray::copy()
{
SrsAmf0EcmaArray *copy = new SrsAmf0EcmaArray();
- copy->properties->copy(properties);
+ copy->properties_->copy(properties_);
copy->_count = _count;
return copy;
}
@@ -949,7 +949,7 @@ SrsJsonAny *SrsAmf0EcmaArray::to_json()
{
SrsJsonObject *obj = SrsJsonAny::object();
- for (int i = 0; i < properties->count(); i++) {
+ for (int i = 0; i < properties_->count(); i++) {
std::string name = this->key_at(i);
SrsAmf0Any *any = this->value_at(i);
@@ -961,52 +961,52 @@ SrsJsonAny *SrsAmf0EcmaArray::to_json()
void SrsAmf0EcmaArray::clear()
{
- properties->clear();
+ properties_->clear();
}
int SrsAmf0EcmaArray::count()
{
- return properties->count();
+ return properties_->count();
}
string SrsAmf0EcmaArray::key_at(int index)
{
- return properties->key_at(index);
+ return properties_->key_at(index);
}
const char *SrsAmf0EcmaArray::key_raw_at(int index)
{
- return properties->key_raw_at(index);
+ return properties_->key_raw_at(index);
}
SrsAmf0Any *SrsAmf0EcmaArray::value_at(int index)
{
- return properties->value_at(index);
+ return properties_->value_at(index);
}
void SrsAmf0EcmaArray::set(string key, SrsAmf0Any *value)
{
- properties->set(key, value);
+ properties_->set(key, value);
}
SrsAmf0Any *SrsAmf0EcmaArray::get_property(string name)
{
- return properties->get_property(name);
+ return properties_->get_property(name);
}
SrsAmf0Any *SrsAmf0EcmaArray::ensure_property_string(string name)
{
- return properties->ensure_property_string(name);
+ return properties_->ensure_property_string(name);
}
SrsAmf0Any *SrsAmf0EcmaArray::ensure_property_number(string name)
{
- return properties->ensure_property_number(name);
+ return properties_->ensure_property_number(name);
}
SrsAmf0StrictArray::SrsAmf0StrictArray()
{
- marker = RTMP_AMF0_StrictArray;
+ marker_ = RTMP_AMF0_StrictArray;
_count = 0;
}
@@ -1019,8 +1019,8 @@ int SrsAmf0StrictArray::total_size()
{
int size = 1 + 4;
- for (int i = 0; i < (int)properties.size(); i++) {
- SrsAmf0Any *any = properties[i];
+ for (int i = 0; i < (int)properties_.size(); i++) {
+ SrsAmf0Any *any = properties_[i];
size += any->total_size();
}
@@ -1059,7 +1059,7 @@ srs_error_t SrsAmf0StrictArray::read(SrsBuffer *stream)
}
// add property
- properties.push_back(elem);
+ properties_.push_back(elem);
}
return err;
@@ -1084,8 +1084,8 @@ srs_error_t SrsAmf0StrictArray::write(SrsBuffer *stream)
stream->write_4bytes(this->_count);
// value
- for (int i = 0; i < (int)properties.size(); i++) {
- SrsAmf0Any *any = properties[i];
+ for (int i = 0; i < (int)properties_.size(); i++) {
+ SrsAmf0Any *any = properties_[i];
if ((err = srs_amf0_write_any(stream, any)) != srs_success) {
return srs_error_wrap(err, "write property");
@@ -1100,7 +1100,7 @@ SrsAmf0Any *SrsAmf0StrictArray::copy()
SrsAmf0StrictArray *copy = new SrsAmf0StrictArray();
std::vector::iterator it;
- for (it = properties.begin(); it != properties.end(); ++it) {
+ for (it = properties_.begin(); it != properties_.end(); ++it) {
SrsAmf0Any *any = *it;
copy->append(any->copy());
}
@@ -1113,8 +1113,8 @@ SrsJsonAny *SrsAmf0StrictArray::to_json()
{
SrsJsonArray *arr = SrsJsonAny::array();
- for (int i = 0; i < (int)properties.size(); i++) {
- SrsAmf0Any *any = properties[i];
+ for (int i = 0; i < (int)properties_.size(); i++) {
+ SrsAmf0Any *any = properties_[i];
arr->append(any->to_json());
}
@@ -1125,28 +1125,28 @@ SrsJsonAny *SrsAmf0StrictArray::to_json()
void SrsAmf0StrictArray::clear()
{
std::vector::iterator it;
- for (it = properties.begin(); it != properties.end(); ++it) {
+ for (it = properties_.begin(); it != properties_.end(); ++it) {
SrsAmf0Any *any = *it;
srs_freep(any);
}
- properties.clear();
+ properties_.clear();
}
int SrsAmf0StrictArray::count()
{
- return (int)properties.size();
+ return (int)properties_.size();
}
SrsAmf0Any *SrsAmf0StrictArray::at(int index)
{
- srs_assert(index < (int)properties.size());
- return properties.at(index);
+ srs_assert(index < (int)properties_.size());
+ return properties_.at(index);
}
void SrsAmf0StrictArray::append(SrsAmf0Any *any)
{
- properties.push_back(any);
- _count = (int32_t)properties.size();
+ properties_.push_back(any);
+ _count = (int32_t)properties_.size();
}
int SrsAmf0Size::utf8(string value)
@@ -1227,9 +1227,9 @@ int SrsAmf0Size::any(SrsAmf0Any *o)
SrsAmf0String::SrsAmf0String(const char *_value)
{
- marker = RTMP_AMF0_String;
+ marker_ = RTMP_AMF0_String;
if (_value) {
- value = _value;
+ value_ = _value;
}
}
@@ -1239,29 +1239,29 @@ SrsAmf0String::~SrsAmf0String()
int SrsAmf0String::total_size()
{
- return SrsAmf0Size::str(value);
+ return SrsAmf0Size::str(value_);
}
srs_error_t SrsAmf0String::read(SrsBuffer *stream)
{
- return srs_amf0_read_string(stream, value);
+ return srs_amf0_read_string(stream, value_);
}
srs_error_t SrsAmf0String::write(SrsBuffer *stream)
{
- return srs_amf0_write_string(stream, value);
+ return srs_amf0_write_string(stream, value_);
}
SrsAmf0Any *SrsAmf0String::copy()
{
- SrsAmf0String *copy = new SrsAmf0String(value.c_str());
+ SrsAmf0String *copy = new SrsAmf0String(value_.c_str());
return copy;
}
SrsAmf0Boolean::SrsAmf0Boolean(bool _value)
{
- marker = RTMP_AMF0_Boolean;
- value = _value;
+ marker_ = RTMP_AMF0_Boolean;
+ value_ = _value;
}
SrsAmf0Boolean::~SrsAmf0Boolean()
@@ -1275,24 +1275,24 @@ int SrsAmf0Boolean::total_size()
srs_error_t SrsAmf0Boolean::read(SrsBuffer *stream)
{
- return srs_amf0_read_boolean(stream, value);
+ return srs_amf0_read_boolean(stream, value_);
}
srs_error_t SrsAmf0Boolean::write(SrsBuffer *stream)
{
- return srs_amf0_write_boolean(stream, value);
+ return srs_amf0_write_boolean(stream, value_);
}
SrsAmf0Any *SrsAmf0Boolean::copy()
{
- SrsAmf0Boolean *copy = new SrsAmf0Boolean(value);
+ SrsAmf0Boolean *copy = new SrsAmf0Boolean(value_);
return copy;
}
SrsAmf0Number::SrsAmf0Number(double _value)
{
- marker = RTMP_AMF0_Number;
- value = _value;
+ marker_ = RTMP_AMF0_Number;
+ value_ = _value;
}
SrsAmf0Number::~SrsAmf0Number()
@@ -1306,23 +1306,23 @@ int SrsAmf0Number::total_size()
srs_error_t SrsAmf0Number::read(SrsBuffer *stream)
{
- return srs_amf0_read_number(stream, value);
+ return srs_amf0_read_number(stream, value_);
}
srs_error_t SrsAmf0Number::write(SrsBuffer *stream)
{
- return srs_amf0_write_number(stream, value);
+ return srs_amf0_write_number(stream, value_);
}
SrsAmf0Any *SrsAmf0Number::copy()
{
- SrsAmf0Number *copy = new SrsAmf0Number(value);
+ SrsAmf0Number *copy = new SrsAmf0Number(value_);
return copy;
}
SrsAmf0Date::SrsAmf0Date(int64_t value)
{
- marker = RTMP_AMF0_Date;
+ marker_ = RTMP_AMF0_Date;
_date_value = value;
_time_zone = 0;
}
@@ -1424,7 +1424,7 @@ int16_t SrsAmf0Date::time_zone()
SrsAmf0Null::SrsAmf0Null()
{
- marker = RTMP_AMF0_Null;
+ marker_ = RTMP_AMF0_Null;
}
SrsAmf0Null::~SrsAmf0Null()
@@ -1454,7 +1454,7 @@ SrsAmf0Any *SrsAmf0Null::copy()
SrsAmf0Undefined::SrsAmf0Undefined()
{
- marker = RTMP_AMF0_Undefined;
+ marker_ = RTMP_AMF0_Undefined;
}
SrsAmf0Undefined::~SrsAmf0Undefined()
diff --git a/trunk/src/protocol/srs_protocol_amf0.hpp b/trunk/src/protocol/srs_protocol_amf0.hpp
index eeb8203f7f3..c2ac7ad7962 100644
--- a/trunk/src/protocol/srs_protocol_amf0.hpp
+++ b/trunk/src/protocol/srs_protocol_amf0.hpp
@@ -108,7 +108,7 @@ class SrsAmf0Date;
class SrsAmf0Any
{
public:
- char marker;
+ char marker_;
public:
SrsAmf0Any();
@@ -319,8 +319,8 @@ class SrsAmf0Any
class SrsAmf0Object : public SrsAmf0Any
{
private:
- srs_internal::SrsUnSortedHashtable *properties;
- srs_internal::SrsAmf0ObjectEOF *eof;
+ srs_internal::SrsUnSortedHashtable *properties_;
+ srs_internal::SrsAmf0ObjectEOF *eof_;
private:
friend class SrsAmf0Any;
@@ -411,8 +411,8 @@ class SrsAmf0Object : public SrsAmf0Any
class SrsAmf0EcmaArray : public SrsAmf0Any
{
private:
- srs_internal::SrsUnSortedHashtable *properties;
- srs_internal::SrsAmf0ObjectEOF *eof;
+ srs_internal::SrsUnSortedHashtable *properties_;
+ srs_internal::SrsAmf0ObjectEOF *eof_;
int32_t _count;
private:
@@ -499,7 +499,7 @@ class SrsAmf0EcmaArray : public SrsAmf0Any
class SrsAmf0StrictArray : public SrsAmf0Any
{
private:
- std::vector properties;
+ std::vector properties_;
int32_t _count;
private:
@@ -628,7 +628,7 @@ namespace srs_internal
class SrsAmf0String : public SrsAmf0Any
{
public:
- std::string value;
+ std::string value_;
private:
friend class SrsAmf0Any;
@@ -658,7 +658,7 @@ class SrsAmf0String : public SrsAmf0Any
class SrsAmf0Boolean : public SrsAmf0Any
{
public:
- bool value;
+ bool value_;
private:
friend class SrsAmf0Any;
@@ -687,7 +687,7 @@ class SrsAmf0Boolean : public SrsAmf0Any
class SrsAmf0Number : public SrsAmf0Any
{
public:
- double value;
+ double value_;
private:
friend class SrsAmf0Any;
@@ -807,7 +807,7 @@ class SrsUnSortedHashtable
{
private:
typedef std::pair SrsAmf0ObjectPropertyType;
- std::vector properties;
+ std::vector properties_;
public:
SrsUnSortedHashtable();
diff --git a/trunk/src/protocol/srs_protocol_http_client.cpp b/trunk/src/protocol/srs_protocol_http_client.cpp
index 28acac359a1..edf0c16b477 100644
--- a/trunk/src/protocol/srs_protocol_http_client.cpp
+++ b/trunk/src/protocol/srs_protocol_http_client.cpp
@@ -35,22 +35,22 @@ int srs_verify_callback(int preverify_ok, X509_STORE_CTX *ctx)
SrsSslClient::SrsSslClient(SrsTcpClient *tcp)
{
- transport = tcp;
- ssl_ctx = NULL;
- ssl = NULL;
+ transport_ = tcp;
+ ssl_ctx_ = NULL;
+ ssl_ = NULL;
}
SrsSslClient::~SrsSslClient()
{
- if (ssl) {
- // this function will free bio_in and bio_out
- SSL_free(ssl);
- ssl = NULL;
+ if (ssl_) {
+ // this function will free bio_in_ and bio_out_
+ SSL_free(ssl_);
+ ssl_ = NULL;
}
- if (ssl_ctx) {
- SSL_CTX_free(ssl_ctx);
- ssl_ctx = NULL;
+ if (ssl_ctx_) {
+ SSL_CTX_free(ssl_ctx_);
+ ssl_ctx_ = NULL;
}
}
@@ -62,54 +62,54 @@ srs_error_t SrsSslClient::handshake(const std::string &host)
// For HTTPS, try to connect over security transport.
#if (OPENSSL_VERSION_NUMBER < 0x10002000L) // v1.0.2
- ssl_ctx = SSL_CTX_new(TLS_method());
+ ssl_ctx_ = SSL_CTX_new(TLS_method());
#else
- ssl_ctx = SSL_CTX_new(TLSv1_2_method());
+ ssl_ctx_ = SSL_CTX_new(TLSv1_2_method());
#endif
- SSL_CTX_set_verify(ssl_ctx, SSL_VERIFY_PEER, srs_verify_callback);
- srs_assert(SSL_CTX_set_cipher_list(ssl_ctx, "ALL") == 1);
+ SSL_CTX_set_verify(ssl_ctx_, SSL_VERIFY_PEER, srs_verify_callback);
+ srs_assert(SSL_CTX_set_cipher_list(ssl_ctx_, "ALL") == 1);
// TODO: Setup callback, see SSL_set_ex_data and SSL_set_info_callback
- if ((ssl = SSL_new(ssl_ctx)) == NULL) {
+ if ((ssl_ = SSL_new(ssl_ctx_)) == NULL) {
return srs_error_new(ERROR_TLS_HANDSHAKE, "SSL_new ssl");
}
- if ((bio_in = BIO_new(BIO_s_mem())) == NULL) {
+ if ((bio_in_ = BIO_new(BIO_s_mem())) == NULL) {
return srs_error_new(ERROR_TLS_HANDSHAKE, "BIO_new in");
}
- if ((bio_out = BIO_new(BIO_s_mem())) == NULL) {
- BIO_free(bio_in);
+ if ((bio_out_ = BIO_new(BIO_s_mem())) == NULL) {
+ BIO_free(bio_in_);
return srs_error_new(ERROR_TLS_HANDSHAKE, "BIO_new out");
}
- SSL_set_bio(ssl, bio_in, bio_out);
+ SSL_set_bio(ssl_, bio_in_, bio_out_);
// SSL setup active, as client role.
- SSL_set_connect_state(ssl);
- SSL_set_mode(ssl, SSL_MODE_ENABLE_PARTIAL_WRITE);
+ SSL_set_connect_state(ssl_);
+ SSL_set_mode(ssl_, SSL_MODE_ENABLE_PARTIAL_WRITE);
// If the server address is not in IP address format, set the host in the Server Name Indication (SNI) field.
if (!srs_net_is_valid_ip(host)) {
- SSL_set_tlsext_host_name(ssl, host.c_str());
+ SSL_set_tlsext_host_name(ssl_, host.c_str());
}
// Send ClientHello.
- int r0 = SSL_do_handshake(ssl);
- int r1 = SSL_get_error(ssl, r0);
+ int r0 = SSL_do_handshake(ssl_);
+ int r1 = SSL_get_error(ssl_, r0);
ERR_clear_error();
if (r0 != -1 || r1 != SSL_ERROR_WANT_READ) {
return srs_error_new(ERROR_TLS_HANDSHAKE, "handshake r0=%d, r1=%d", r0, r1);
}
uint8_t *data = NULL;
- int size = BIO_get_mem_data(bio_out, &data);
+ int size = BIO_get_mem_data(bio_out_, &data);
if (!data || size <= 0) {
return srs_error_new(ERROR_TLS_HANDSHAKE, "handshake data=%p, size=%d", data, size);
}
- if ((err = transport->write(data, size, NULL)) != srs_success) {
+ if ((err = transport_->write(data, size, NULL)) != srs_success) {
return srs_error_wrap(err, "handshake: write data=%p, size=%d", data, size);
}
- if ((r0 = BIO_reset(bio_out)) != 1) {
+ if ((r0 = BIO_reset(bio_out_)) != 1) {
return srs_error_new(ERROR_TLS_HANDSHAKE, "BIO_reset r0=%d", r0);
}
@@ -119,25 +119,25 @@ srs_error_t SrsSslClient::handshake(const std::string &host)
while (true) {
char buf[512];
ssize_t nn = 0;
- if ((err = transport->read(buf, sizeof(buf), &nn)) != srs_success) {
+ if ((err = transport_->read(buf, sizeof(buf), &nn)) != srs_success) {
return srs_error_wrap(err, "handshake: read");
}
- if ((r0 = BIO_write(bio_in, buf, nn)) <= 0) {
+ if ((r0 = BIO_write(bio_in_, buf, nn)) <= 0) {
// TODO: 0 or -1 maybe block, use BIO_should_retry to check.
return srs_error_new(ERROR_TLS_HANDSHAKE, "BIO_write r0=%d, data=%p, size=%d", r0, buf, nn);
}
- r0 = SSL_do_handshake(ssl);
- r1 = SSL_get_error(ssl, r0);
+ r0 = SSL_do_handshake(ssl_);
+ r1 = SSL_get_error(ssl_, r0);
ERR_clear_error();
if (r0 != -1 || r1 != SSL_ERROR_WANT_READ) {
return srs_error_new(ERROR_TLS_HANDSHAKE, "handshake r0=%d, r1=%d", r0, r1);
}
- if ((size = BIO_get_mem_data(bio_out, &data)) > 0) {
+ if ((size = BIO_get_mem_data(bio_out_, &data)) > 0) {
// OK, reset it for the next write.
- if ((r0 = BIO_reset(bio_in)) != 1) {
+ if ((r0 = BIO_reset(bio_in_)) != 1) {
return srs_error_new(ERROR_TLS_HANDSHAKE, "BIO_reset r0=%d", r0);
}
break;
@@ -147,10 +147,10 @@ srs_error_t SrsSslClient::handshake(const std::string &host)
srs_info("tls: ServerHello done");
// Send Client Key Exchange, Change Cipher Spec, Encrypted Handshake Message
- if ((err = transport->write(data, size, NULL)) != srs_success) {
+ if ((err = transport_->write(data, size, NULL)) != srs_success) {
return srs_error_wrap(err, "handshake: write data=%p, size=%d", data, size);
}
- if ((r0 = BIO_reset(bio_out)) != 1) {
+ if ((r0 = BIO_reset(bio_out_)) != 1) {
return srs_error_new(ERROR_TLS_HANDSHAKE, "BIO_reset r0=%d", r0);
}
@@ -160,17 +160,17 @@ srs_error_t SrsSslClient::handshake(const std::string &host)
while (true) {
char buf[128];
ssize_t nn = 0;
- if ((err = transport->read(buf, sizeof(buf), &nn)) != srs_success) {
+ if ((err = transport_->read(buf, sizeof(buf), &nn)) != srs_success) {
return srs_error_wrap(err, "handshake: read");
}
- if ((r0 = BIO_write(bio_in, buf, nn)) <= 0) {
+ if ((r0 = BIO_write(bio_in_, buf, nn)) <= 0) {
// TODO: 0 or -1 maybe block, use BIO_should_retry to check.
return srs_error_new(ERROR_TLS_HANDSHAKE, "BIO_write r0=%d, data=%p, size=%d", r0, buf, nn);
}
- r0 = SSL_do_handshake(ssl);
- r1 = SSL_get_error(ssl, r0);
+ r0 = SSL_do_handshake(ssl_);
+ r1 = SSL_get_error(ssl_, r0);
ERR_clear_error();
if (r0 == 1 && r1 == SSL_ERROR_NONE) {
break;
@@ -192,11 +192,11 @@ srs_error_t SrsSslClient::read(void *plaintext, size_t nn_plaintext, ssize_t *nr
srs_error_t err = srs_success;
while (true) {
- int r0 = SSL_read(ssl, plaintext, nn_plaintext);
- int r1 = SSL_get_error(ssl, r0);
+ int r0 = SSL_read(ssl_, plaintext, nn_plaintext);
+ int r1 = SSL_get_error(ssl_, r0);
ERR_clear_error();
- int r2 = BIO_ctrl_pending(bio_in);
- int r3 = SSL_is_init_finished(ssl);
+ int r2 = BIO_ctrl_pending(bio_in_);
+ int r3 = SSL_is_init_finished(ssl_);
// OK, got data.
if (r0 > 0) {
@@ -215,11 +215,11 @@ srs_error_t SrsSslClient::read(void *plaintext, size_t nn_plaintext, ssize_t *nr
// Read the cipher from SSL.
ssize_t nn = 0;
- if ((err = transport->read(cipher.get(), nn_cipher, &nn)) != srs_success) {
+ if ((err = transport_->read(cipher.get(), nn_cipher, &nn)) != srs_success) {
return srs_error_wrap(err, "https: read");
}
- int r0 = BIO_write(bio_in, cipher.get(), nn);
+ int r0 = BIO_write(bio_in_, cipher.get(), nn);
if (r0 <= 0) {
// TODO: 0 or -1 maybe block, use BIO_should_retry to check.
return srs_error_new(ERROR_TLS_READ, "BIO_write r0=%d, cipher=%p, size=%d", r0, cipher.get(), nn);
@@ -241,8 +241,8 @@ srs_error_t SrsSslClient::write(void *plaintext, size_t nn_plaintext, ssize_t *n
for (char *p = (char *)plaintext; p < (char *)plaintext + nn_plaintext;) {
int left = (int)nn_plaintext - (p - (char *)plaintext);
- int r0 = SSL_write(ssl, (const void *)p, left);
- int r1 = SSL_get_error(ssl, r0);
+ int r0 = SSL_write(ssl_, (const void *)p, left);
+ int r1 = SSL_get_error(ssl_, r0);
ERR_clear_error();
if (r0 <= 0) {
return srs_error_new(ERROR_TLS_WRITE, "tls: write data=%p, size=%d, r0=%d, r1=%d", p, left, r0, r1);
@@ -255,11 +255,11 @@ srs_error_t SrsSslClient::write(void *plaintext, size_t nn_plaintext, ssize_t *n
}
uint8_t *data = NULL;
- int size = BIO_get_mem_data(bio_out, &data);
- if ((err = transport->write(data, size, NULL)) != srs_success) {
+ int size = BIO_get_mem_data(bio_out_, &data);
+ if ((err = transport_->write(data, size, NULL)) != srs_success) {
return srs_error_wrap(err, "tls: write data=%p, size=%d", data, size);
}
- if ((r0 = BIO_reset(bio_out)) != 1) {
+ if ((r0 = BIO_reset(bio_out_)) != 1) {
return srs_error_new(ERROR_TLS_WRITE, "BIO_reset r0=%d", r0);
}
}
@@ -269,58 +269,58 @@ srs_error_t SrsSslClient::write(void *plaintext, size_t nn_plaintext, ssize_t *n
SrsHttpClient::SrsHttpClient()
{
- transport = NULL;
- ssl_transport = NULL;
- kbps = new SrsNetworkKbps();
- parser = NULL;
- recv_timeout = timeout = SRS_UTIME_NO_TIMEOUT;
- port = 0;
+ transport_ = NULL;
+ ssl_transport_ = NULL;
+ kbps_ = new SrsNetworkKbps();
+ parser_ = NULL;
+ recv_timeout_ = timeout_ = SRS_UTIME_NO_TIMEOUT;
+ port_ = 0;
}
SrsHttpClient::~SrsHttpClient()
{
disconnect();
- srs_freep(kbps);
- srs_freep(parser);
+ srs_freep(kbps_);
+ srs_freep(parser_);
}
srs_error_t SrsHttpClient::initialize(string schema, string h, int p, srs_utime_t tm)
{
srs_error_t err = srs_success;
- srs_freep(parser);
- parser = new SrsHttpParser();
+ srs_freep(parser_);
+ parser_ = new SrsHttpParser();
- if ((err = parser->initialize(HTTP_RESPONSE)) != srs_success) {
+ if ((err = parser_->initialize(HTTP_RESPONSE)) != srs_success) {
return srs_error_wrap(err, "http: init parser");
}
// Always disconnect the transport.
schema_ = schema;
- host = h;
- port = p;
- recv_timeout = timeout = tm;
+ host_ = h;
+ port_ = p;
+ recv_timeout_ = timeout_ = tm;
disconnect();
// ep used for host in header.
- string ep = host;
- if (port > 0 && port != SRS_CONSTS_HTTP_DEFAULT_PORT) {
- ep += ":" + srs_strconv_format_int(port);
+ string ep = host_;
+ if (port_ > 0 && port_ != SRS_CONSTS_HTTP_DEFAULT_PORT) {
+ ep += ":" + srs_strconv_format_int(port_);
}
// Set default value for headers.
- headers["Host"] = ep;
- headers["Connection"] = "Keep-Alive";
- headers["User-Agent"] = RTMP_SIG_SRS_SERVER;
- headers["Content-Type"] = "application/json";
+ headers_["Host"] = ep;
+ headers_["Connection"] = "Keep-Alive";
+ headers_["User-Agent"] = RTMP_SIG_SRS_SERVER;
+ headers_["Content-Type"] = "application/json";
return err;
}
SrsHttpClient *SrsHttpClient::set_header(string k, string v)
{
- headers[k] = v;
+ headers_[k] = v;
return this;
}
@@ -332,7 +332,7 @@ srs_error_t SrsHttpClient::post(string path, string req, ISrsHttpMessage **ppmsg
srs_error_t err = srs_success;
// always set the content length.
- headers["Content-Length"] = srs_strconv_format_int(req.length());
+ headers_["Content-Length"] = srs_strconv_format_int(req.length());
if ((err = connect()) != srs_success) {
return srs_error_wrap(err, "http: connect server");
@@ -342,12 +342,12 @@ srs_error_t SrsHttpClient::post(string path, string req, ISrsHttpMessage **ppmsg
path = "/";
}
- // TODO: FIXME: Use SrsHttpMessageWriter, never use stringstream and headers.
+ // TODO: FIXME: Use SrsHttpMessageWriter, never use stringstream and headers_.
// send POST request to uri
// POST %s HTTP/1.1\r\nHost: %s\r\nContent-Length: %d\r\n\r\n%s
std::stringstream ss;
ss << "POST " << path << " " << "HTTP/1.1" << SRS_HTTP_CRLF;
- for (map::iterator it = headers.begin(); it != headers.end(); ++it) {
+ for (map::iterator it = headers_.begin(); it != headers_.end(); ++it) {
string key = it->first;
string value = it->second;
ss << key << ": " << value << SRS_HTTP_CRLF;
@@ -362,7 +362,7 @@ srs_error_t SrsHttpClient::post(string path, string req, ISrsHttpMessage **ppmsg
}
ISrsHttpMessage *msg = NULL;
- if ((err = parser->parse_message(reader(), &msg)) != srs_success) {
+ if ((err = parser_->parse_message(reader(), &msg)) != srs_success) {
return srs_error_wrap(err, "http: parse response");
}
srs_assert(msg);
@@ -383,7 +383,7 @@ srs_error_t SrsHttpClient::get(string path, string req, ISrsHttpMessage **ppmsg)
srs_error_t err = srs_success;
// always set the content length.
- headers["Content-Length"] = srs_strconv_format_int(req.length());
+ headers_["Content-Length"] = srs_strconv_format_int(req.length());
if ((err = connect()) != srs_success) {
return srs_error_wrap(err, "http: connect server");
@@ -393,7 +393,7 @@ srs_error_t SrsHttpClient::get(string path, string req, ISrsHttpMessage **ppmsg)
// GET %s HTTP/1.1\r\nHost: %s\r\nContent-Length: %d\r\n\r\n%s
std::stringstream ss;
ss << "GET " << path << " " << "HTTP/1.1" << SRS_HTTP_CRLF;
- for (map::iterator it = headers.begin(); it != headers.end(); ++it) {
+ for (map::iterator it = headers_.begin(); it != headers_.end(); ++it) {
string key = it->first;
string value = it->second;
ss << key << ": " << value << SRS_HTTP_CRLF;
@@ -408,7 +408,7 @@ srs_error_t SrsHttpClient::get(string path, string req, ISrsHttpMessage **ppmsg)
}
ISrsHttpMessage *msg = NULL;
- if ((err = parser->parse_message(reader(), &msg)) != srs_success) {
+ if ((err = parser_->parse_message(reader(), &msg)) != srs_success) {
return srs_error_wrap(err, "http: parse response");
}
srs_assert(msg);
@@ -424,28 +424,28 @@ srs_error_t SrsHttpClient::get(string path, string req, ISrsHttpMessage **ppmsg)
void SrsHttpClient::set_recv_timeout(srs_utime_t tm)
{
- recv_timeout = tm;
+ recv_timeout_ = tm;
}
void SrsHttpClient::kbps_sample(const char *label, srs_utime_t age)
{
- kbps->sample();
+ kbps_->sample();
- int sr = kbps->get_send_kbps();
- int sr30s = kbps->get_send_kbps_30s();
- int sr5m = kbps->get_send_kbps_5m();
- int rr = kbps->get_recv_kbps();
- int rr30s = kbps->get_recv_kbps_30s();
- int rr5m = kbps->get_recv_kbps_5m();
+ int sr = kbps_->get_send_kbps();
+ int sr30s = kbps_->get_send_kbps_30s();
+ int sr5m = kbps_->get_send_kbps_5m();
+ int rr = kbps_->get_recv_kbps();
+ int rr30s = kbps_->get_recv_kbps_30s();
+ int rr5m = kbps_->get_recv_kbps_5m();
srs_trace("<- %s time=%" PRId64 ", okbps=%d,%d,%d, ikbps=%d,%d,%d", label, srsu2ms(age), sr, sr30s, sr5m, rr, rr30s, rr5m);
}
void SrsHttpClient::disconnect()
{
- kbps->set_io(NULL, NULL);
- srs_freep(ssl_transport);
- srs_freep(transport);
+ kbps_->set_io(NULL, NULL);
+ srs_freep(ssl_transport_);
+ srs_freep(transport_);
}
srs_error_t SrsHttpClient::connect()
@@ -453,22 +453,22 @@ srs_error_t SrsHttpClient::connect()
srs_error_t err = srs_success;
// When transport connected, ignore.
- if (transport) {
+ if (transport_) {
return err;
}
- transport = new SrsTcpClient(host, port, timeout);
- if ((err = transport->connect()) != srs_success) {
+ transport_ = new SrsTcpClient(host_, port_, timeout_);
+ if ((err = transport_->connect()) != srs_success) {
disconnect();
return srs_error_wrap(err, "http: tcp connect %s %s:%d to=%dms, rto=%dms",
- schema_.c_str(), host.c_str(), port, srsu2msi(timeout), srsu2msi(recv_timeout));
+ schema_.c_str(), host_.c_str(), port_, srsu2msi(timeout_), srsu2msi(recv_timeout_));
}
// Set the recv/send timeout in srs_utime_t.
- transport->set_recv_timeout(recv_timeout);
- transport->set_send_timeout(timeout);
+ transport_->set_recv_timeout(recv_timeout_);
+ transport_->set_send_timeout(timeout_);
- kbps->set_io(transport, transport);
+ kbps_->set_io(transport_, transport_);
if (schema_ != "https") {
return err;
@@ -477,19 +477,19 @@ srs_error_t SrsHttpClient::connect()
#if !defined(SRS_HTTPS)
return srs_error_new(ERROR_HTTPS_NOT_SUPPORTED, "should configure with --https=on");
#else
- srs_assert(!ssl_transport);
- ssl_transport = new SrsSslClient(transport);
+ srs_assert(!ssl_transport_);
+ ssl_transport_ = new SrsSslClient(transport_);
srs_utime_t starttime = srs_time_now_realtime();
- if ((err = ssl_transport->handshake(host)) != srs_success) {
+ if ((err = ssl_transport_->handshake(host_)) != srs_success) {
disconnect();
return srs_error_wrap(err, "http: ssl connect %s %s:%d to=%dms, rto=%dms",
- schema_.c_str(), host.c_str(), port, srsu2msi(timeout), srsu2msi(recv_timeout));
+ schema_.c_str(), host_.c_str(), port_, srsu2msi(timeout_), srsu2msi(recv_timeout_));
}
int cost = srsu2msi(srs_time_now_realtime() - starttime);
- srs_trace("https: connected to %s://%s:%d, cost=%dms", schema_.c_str(), host.c_str(), port, cost);
+ srs_trace("https: connected to %s://%s:%d, cost=%dms", schema_.c_str(), host_.c_str(), port_, cost);
return err;
#endif
@@ -497,16 +497,16 @@ srs_error_t SrsHttpClient::connect()
ISrsStreamWriter *SrsHttpClient::writer()
{
- if (ssl_transport) {
- return ssl_transport;
+ if (ssl_transport_) {
+ return ssl_transport_;
}
- return transport;
+ return transport_;
}
ISrsReader *SrsHttpClient::reader()
{
- if (ssl_transport) {
- return ssl_transport;
+ if (ssl_transport_) {
+ return ssl_transport_;
}
- return transport;
+ return transport_;
}
diff --git a/trunk/src/protocol/srs_protocol_http_client.hpp b/trunk/src/protocol/srs_protocol_http_client.hpp
index cb7bc02a995..45258b6f327 100644
--- a/trunk/src/protocol/srs_protocol_http_client.hpp
+++ b/trunk/src/protocol/srs_protocol_http_client.hpp
@@ -33,13 +33,13 @@ class SrsTcpClient;
class SrsSslClient : public ISrsReader, public ISrsStreamWriter
{
private:
- SrsTcpClient *transport;
+ SrsTcpClient *transport_;
private:
- SSL_CTX *ssl_ctx;
- SSL *ssl;
- BIO *bio_in;
- BIO *bio_out;
+ SSL_CTX *ssl_ctx_;
+ SSL *ssl_;
+ BIO *bio_in_;
+ BIO *bio_out_;
public:
SrsSslClient(SrsTcpClient *tcp);
@@ -65,22 +65,22 @@ class SrsHttpClient
private:
// The underlayer TCP transport, set to NULL when disconnect, or never not NULL when connected.
// We will disconnect transport when initialize or channel error, such as send/recv error.
- SrsTcpClient *transport;
- SrsHttpParser *parser;
- std::map headers;
- SrsNetworkKbps *kbps;
+ SrsTcpClient *transport_;
+ SrsHttpParser *parser_;
+ std::map headers_;
+ SrsNetworkKbps *kbps_;
private:
// The timeout in srs_utime_t.
- srs_utime_t timeout;
- srs_utime_t recv_timeout;
+ srs_utime_t timeout_;
+ srs_utime_t recv_timeout_;
// The schema, host name or ip.
std::string schema_;
- std::string host;
- int port;
+ std::string host_;
+ int port_;
private:
- SrsSslClient *ssl_transport;
+ SrsSslClient *ssl_transport_;
public:
SrsHttpClient();
diff --git a/trunk/src/protocol/srs_protocol_http_conn.cpp b/trunk/src/protocol/srs_protocol_http_conn.cpp
index b27750e1d8e..902cfa97dbf 100644
--- a/trunk/src/protocol/srs_protocol_http_conn.cpp
+++ b/trunk/src/protocol/srs_protocol_http_conn.cpp
@@ -22,8 +22,8 @@ using namespace std;
SrsHttpParser::SrsHttpParser()
{
- buffer = new SrsFastStream();
- header = NULL;
+ buffer_ = new SrsFastStream();
+ header_ = NULL;
type_ = HTTP_REQUEST;
parsed_type_ = HTTP_BOTH;
@@ -31,37 +31,37 @@ SrsHttpParser::SrsHttpParser()
SrsHttpParser::~SrsHttpParser()
{
- srs_freep(buffer);
- srs_freep(header);
+ srs_freep(buffer_);
+ srs_freep(header_);
}
srs_error_t SrsHttpParser::initialize(enum llhttp_type type)
{
srs_error_t err = srs_success;
- jsonp = false;
+ jsonp_ = false;
type_ = type;
// Initialize the settings first
- llhttp_settings_init(&settings);
- settings.on_message_begin = on_message_begin;
- settings.on_url = on_url;
- settings.on_header_field = on_header_field;
- settings.on_header_value = on_header_value;
- settings.on_headers_complete = on_headers_complete;
- settings.on_body = on_body;
- settings.on_message_complete = on_message_complete;
+ llhttp_settings_init(&settings_);
+ settings_.on_message_begin = on_message_begin;
+ settings_.on_url = on_url;
+ settings_.on_header_field = on_header_field;
+ settings_.on_header_value = on_header_value;
+ settings_.on_headers_complete = on_headers_complete;
+ settings_.on_body = on_body;
+ settings_.on_message_complete = on_message_complete;
// Initialize the parser with settings
- llhttp_init(&parser, type_, &settings);
- parser.data = (void *)this;
+ llhttp_init(&parser_, type_, &settings_);
+ parser_.data = (void *)this;
return err;
}
void SrsHttpParser::set_jsonp(bool allow_jsonp)
{
- jsonp = allow_jsonp;
+ jsonp_ = allow_jsonp;
}
srs_error_t SrsHttpParser::parse_message(ISrsReader *reader, ISrsHttpMessage **ppmsg)
@@ -71,15 +71,15 @@ srs_error_t SrsHttpParser::parse_message(ISrsReader *reader, ISrsHttpMessage **p
*ppmsg = NULL;
// Reset parser data and state.
- state = SrsHttpParseStateInit;
- memset(&hp_header, 0, sizeof(llhttp_t));
+ state_ = SrsHttpParseStateInit;
+ memset(&hp_header_, 0, sizeof(llhttp_t));
// We must reset the field name and value, because we may get a partial value in on_header_value.
- field_name = field_value = "";
+ field_name_ = field_value_ = "";
// Reset the url.
- url = "";
+ url_ = "";
// The header of the request.
- srs_freep(header);
- header = new SrsHttpHeader();
+ srs_freep(header_);
+ header_ = new SrsHttpHeader();
// Reset parser for each message.
// If the request is large, such as the fifth message at @utest ProtocolHTTPTest.ParsingLargeMessages,
@@ -90,14 +90,14 @@ srs_error_t SrsHttpParser::parse_message(ISrsReader *reader, ISrsHttpMessage **p
// when got next message, the whole next message is parsed as the body of previous one,
// and the message fail.
// @note You can comment the bellow line, the utest will fail.
- llhttp_reset(&parser);
+ llhttp_reset(&parser_);
// Reset the parsed type.
parsed_type_ = HTTP_BOTH;
// callback object ptr.
- parser.data = (void *)this;
+ parser_.data = (void *)this;
// Always skip body, because we only want to parse the header.
- parser.flags |= F_SKIPBODY;
+ parser_.flags |= F_SKIPBODY;
// do parse
if ((err = parse_message_imp(reader)) != srs_success) {
@@ -105,15 +105,15 @@ srs_error_t SrsHttpParser::parse_message(ISrsReader *reader, ISrsHttpMessage **p
}
// create msg
- SrsHttpMessage *msg = new SrsHttpMessage(reader, buffer);
+ SrsHttpMessage *msg = new SrsHttpMessage(reader, buffer_);
// Initialize the basic information.
- msg->set_basic(hp_header.type, (llhttp_method_t)hp_header.method, (llhttp_status_t)hp_header.status_code, hp_header.content_length);
- msg->set_header(header, llhttp_should_keep_alive(&hp_header));
+ msg->set_basic(hp_header_.type, (llhttp_method_t)hp_header_.method, (llhttp_status_t)hp_header_.status_code, hp_header_.content_length);
+ msg->set_header(header_, llhttp_should_keep_alive(&hp_header_));
// For HTTP response, no url.
- if (parsed_type_ != HTTP_RESPONSE && (err = msg->set_url(url, jsonp)) != srs_success) {
+ if (parsed_type_ != HTTP_RESPONSE && (err = msg->set_url(url_, jsonp_)) != srs_success) {
srs_freep(msg);
- return srs_error_wrap(err, "set url=%s, jsonp=%d", url.c_str(), jsonp);
+ return srs_error_wrap(err, "set url=%s, jsonp=%d", url_.c_str(), jsonp_);
}
// parse ok, return the msg.
@@ -127,17 +127,17 @@ srs_error_t SrsHttpParser::parse_message_imp(ISrsReader *reader)
srs_error_t err = srs_success;
while (true) {
- if (buffer->size() > 0) {
- const char *data_start = buffer->bytes();
- llhttp_errno_t code = llhttp_execute(&parser, data_start, buffer->size());
+ if (buffer_->size() > 0) {
+ const char *data_start = buffer_->bytes();
+ llhttp_errno_t code = llhttp_execute(&parser_, data_start, buffer_->size());
ssize_t consumed = 0;
if (code == HPE_OK) {
// No problem, all buffer should be consumed.
- consumed = buffer->size();
+ consumed = buffer_->size();
} else if (code == HPE_PAUSED) {
// We only consume the header, not message or body.
- const char *error_pos = llhttp_get_error_pos(&parser);
+ const char *error_pos = llhttp_get_error_pos(&parser_);
if (error_pos && error_pos < data_start) {
return srs_error_new(ERROR_HTTP_PARSE_HEADER, "llhttp error_pos=%p < data_start=%p", error_pos, data_start);
}
@@ -152,33 +152,33 @@ srs_error_t SrsHttpParser::parse_message_imp(ISrsReader *reader)
// HPE_PAUSED: we use to skip body
if (code != HPE_OK && code != HPE_PAUSED) {
return srs_error_new(ERROR_HTTP_PARSE_HEADER, "parse %dB, nparsed=%d, err=%d/%s %s",
- buffer->size(), (int)consumed, code, llhttp_errno_name(code),
- llhttp_get_error_reason(&parser) ? llhttp_get_error_reason(&parser) : "");
+ buffer_->size(), (int)consumed, code, llhttp_errno_name(code),
+ llhttp_get_error_reason(&parser_) ? llhttp_get_error_reason(&parser_) : "");
}
- srs_info("size=%d, nparsed=%d", buffer->size(), (int)consumed);
+ srs_info("size=%d, nparsed=%d", buffer_->size(), (int)consumed);
// Only consume the header bytes.
if (consumed > 0) {
- buffer->read_slice(consumed);
+ buffer_->read_slice(consumed);
}
// Done when header completed, never wait for body completed, because it maybe chunked.
- if (state >= SrsHttpParseStateHeaderComplete) {
+ if (state_ >= SrsHttpParseStateHeaderComplete) {
break;
}
}
// when nothing parsed, read more to parse.
// when requires more, only grow 1bytes, but the buffer will cache more.
- if ((err = buffer->grow(reader, buffer->size() + 1)) != srs_success) {
+ if ((err = buffer_->grow(reader, buffer_->size() + 1)) != srs_success) {
return srs_error_wrap(err, "grow buffer");
}
}
SrsHttpParser *obj = this;
- if (!obj->field_value.empty()) {
- obj->header->set(obj->field_name, obj->field_value);
+ if (!obj->field_value_.empty()) {
+ obj->header_->set(obj->field_name_, obj->field_value_);
}
return err;
@@ -190,7 +190,7 @@ int SrsHttpParser::on_message_begin(llhttp_t *parser)
srs_assert(obj);
// Now, we start to parse HTTP message.
- obj->state = SrsHttpParseStateStart;
+ obj->state_ = SrsHttpParseStateStart;
// If we set to HTTP_BOTH, the type is detected and speicifed by parser.
obj->parsed_type_ = (llhttp_type)parser->type;
@@ -205,9 +205,9 @@ int SrsHttpParser::on_headers_complete(llhttp_t *parser)
SrsHttpParser *obj = (SrsHttpParser *)parser->data;
srs_assert(obj);
- obj->hp_header = *parser;
+ obj->hp_header_ = *parser;
// save the parser when header parse completed.
- obj->state = SrsHttpParseStateHeaderComplete;
+ obj->state_ = SrsHttpParseStateHeaderComplete;
srs_info("***HEADERS COMPLETE***");
@@ -227,7 +227,7 @@ int SrsHttpParser::on_message_complete(llhttp_t *parser)
srs_assert(obj);
// Note that we should never get here, because we always return HPE_PAUSED in on_headers_complete.
- obj->state = SrsHttpParseStateMessageComplete;
+ obj->state_ = SrsHttpParseStateMessageComplete;
srs_info("***MESSAGE COMPLETE***\n");
@@ -241,7 +241,7 @@ int SrsHttpParser::on_url(llhttp_t *parser, const char *at, size_t length)
if (length > 0) {
// Note that this function might be called for multiple times, and we got pieces of content.
- obj->url.append(at, (int)length);
+ obj->url_.append(at, (int)length);
}
srs_info("Method: %d, Url: %.*s", parser->method, (int)length, at);
@@ -254,13 +254,13 @@ int SrsHttpParser::on_header_field(llhttp_t *parser, const char *at, size_t leng
SrsHttpParser *obj = (SrsHttpParser *)parser->data;
srs_assert(obj);
- if (!obj->field_value.empty()) {
- obj->header->set(obj->field_name, obj->field_value);
- obj->field_name = obj->field_value = "";
+ if (!obj->field_value_.empty()) {
+ obj->header_->set(obj->field_name_, obj->field_value_);
+ obj->field_name_ = obj->field_value_ = "";
}
if (length > 0) {
- obj->field_name.append(at, (int)length);
+ obj->field_name_.append(at, (int)length);
}
srs_info("Header field(%d bytes): %.*s", (int)length, (int)length, at);
@@ -273,7 +273,7 @@ int SrsHttpParser::on_header_value(llhttp_t *parser, const char *at, size_t leng
srs_assert(obj);
if (length > 0) {
- obj->field_value.append(at, (int)length);
+ obj->field_value_.append(at, (int)length);
}
srs_info("Header value(%d bytes): %.*s", (int)length, (int)length, at);
@@ -286,7 +286,7 @@ int SrsHttpParser::on_body(llhttp_t *parser, const char *at, size_t length)
srs_assert(obj);
// save the parser when body parsed.
- obj->state = SrsHttpParseStateBody;
+ obj->state_ = SrsHttpParseStateBody;
srs_info("Body: %.*s", (int)length, at);
@@ -295,12 +295,12 @@ int SrsHttpParser::on_body(llhttp_t *parser, const char *at, size_t length)
SrsHttpMessage::SrsHttpMessage(ISrsReader *reader, SrsFastStream *buffer) : ISrsHttpMessage()
{
- owner_conn = NULL;
- chunked = false;
+ owner_conn_ = NULL;
+ chunked_ = false;
_uri = new SrsHttpUri();
_body = new SrsHttpResponseReader(this, reader, buffer);
- jsonp = false;
+ jsonp_ = false;
// As 0 is DELETE, so we use GET as default.
_method = (llhttp_method_t)SRS_CONSTS_HTTP_GET;
@@ -340,7 +340,7 @@ void SrsHttpMessage::set_header(SrsHttpHeader *header, bool keep_alive)
_keep_alive = keep_alive;
// whether chunked.
- chunked = (header->get("Transfer-Encoding") == "chunked");
+ chunked_ = (header->get("Transfer-Encoding") == "chunked");
// Update the content-length in header.
string clv = header->get("Content-Length");
@@ -350,7 +350,7 @@ void SrsHttpMessage::set_header(SrsHttpHeader *header, bool keep_alive)
// If no size(content-length or chunked), it's infinite chunked,
// it means there is no body, so we must close the body reader.
- if (!chunked && _content_length == -1) {
+ if (!chunked_ && _content_length == -1) {
// The infinite chunked is only enabled for HTTP_RESPONSE, so we close the body for request.
if (type_ == HTTP_REQUEST) {
_body->close();
@@ -414,10 +414,10 @@ srs_error_t SrsHttpMessage::set_url(string url, bool allow_jsonp)
// parse jsonp request message.
if (allow_jsonp) {
string callback = query_get("callback");
- jsonp = !callback.empty();
+ jsonp_ = !callback.empty();
- if (jsonp) {
- jsonp_method = query_get("method");
+ if (jsonp_) {
+ jsonp_method_ = query_get("method");
}
if (!srs_is_valid_jsonp_callback(callback)) {
@@ -436,12 +436,12 @@ void SrsHttpMessage::set_https(bool v)
ISrsConnection *SrsHttpMessage::connection()
{
- return owner_conn;
+ return owner_conn_;
}
void SrsHttpMessage::set_connection(ISrsConnection *conn)
{
- owner_conn = conn;
+ owner_conn_ = conn;
}
string SrsHttpMessage::schema()
@@ -456,14 +456,14 @@ uint8_t SrsHttpMessage::message_type()
uint8_t SrsHttpMessage::method()
{
- if (jsonp && !jsonp_method.empty()) {
- if (jsonp_method == "GET") {
+ if (jsonp_ && !jsonp_method_.empty()) {
+ if (jsonp_method_ == "GET") {
return SRS_CONSTS_HTTP_GET;
- } else if (jsonp_method == "PUT") {
+ } else if (jsonp_method_ == "PUT") {
return SRS_CONSTS_HTTP_PUT;
- } else if (jsonp_method == "POST") {
+ } else if (jsonp_method_ == "POST") {
return SRS_CONSTS_HTTP_POST;
- } else if (jsonp_method == "DELETE") {
+ } else if (jsonp_method_ == "DELETE") {
return SRS_CONSTS_HTTP_DELETE;
}
}
@@ -478,8 +478,8 @@ uint16_t SrsHttpMessage::status_code()
string SrsHttpMessage::method_str()
{
- if (jsonp && !jsonp_method.empty()) {
- return jsonp_method;
+ if (jsonp_ && !jsonp_method_.empty()) {
+ return jsonp_method_;
}
return llhttp_method_name((llhttp_method_t)_method);
@@ -512,7 +512,7 @@ bool SrsHttpMessage::is_http_options()
bool SrsHttpMessage::is_chunked()
{
- return chunked;
+ return chunked_;
}
bool SrsHttpMessage::is_keep_alive()
@@ -627,52 +627,52 @@ ISrsRequest *SrsHttpMessage::to_request(string vhost)
// http path, for instance, /live/livestream.flv, parse to
// app: /live
// stream: livestream.flv
- srs_net_url_parse_rtmp_url(_uri->get_path(), req->app, req->stream);
+ srs_net_url_parse_rtmp_url(_uri->get_path(), req->app_, req->stream_);
// trim the start slash, for instance, /live to live
- req->app = srs_strings_trim_start(req->app, "/");
+ req->app_ = srs_strings_trim_start(req->app_, "/");
// remove the extension, for instance, livestream.flv to livestream
- req->stream = srs_path_filepath_filename(req->stream);
+ req->stream_ = srs_path_filepath_filename(req->stream_);
// generate others.
- req->tcUrl = "rtmp://" + vhost + "/" + req->app;
- req->pageUrl = _header.get("Referer");
- req->objectEncoding = 0;
+ req->tcUrl_ = "rtmp://" + vhost + "/" + req->app_;
+ req->pageUrl_ = _header.get("Referer");
+ req->objectEncoding_ = 0;
std::string query = _uri->get_query();
if (!query.empty()) {
- req->param = "?" + query;
+ req->param_ = "?" + query;
}
- srs_net_url_parse_tcurl(req->tcUrl, req->schema, req->host, req->vhost, req->app, req->stream, req->port, req->param);
+ srs_net_url_parse_tcurl(req->tcUrl_, req->schema_, req->host_, req->vhost_, req->app_, req->stream_, req->port_, req->param_);
req->strip();
// reset the host to http request host.
- if (req->host == SRS_CONSTS_RTMP_DEFAULT_VHOST) {
- req->host = _uri->get_host();
+ if (req->host_ == SRS_CONSTS_RTMP_DEFAULT_VHOST) {
+ req->host_ = _uri->get_host();
}
// Set ip by remote ip of connection.
- if (owner_conn) {
- req->ip = owner_conn->remote_ip();
+ if (owner_conn_) {
+ req->ip_ = owner_conn_->remote_ip();
}
// Overwrite by ip from proxy.
string oip = srs_get_original_ip(this);
if (!oip.empty()) {
- req->ip = oip;
+ req->ip_ = oip;
}
// The request streaming protocol.
- req->protocol = (schema_ == "http") ? "flv" : "flvs";
+ req->protocol_ = (schema_ == "http") ? "flv" : "flvs";
return req;
}
bool SrsHttpMessage::is_jsonp()
{
- return jsonp;
+ return jsonp_;
}
ISrsHttpHeaderFilter::ISrsHttpHeaderFilter()
@@ -693,22 +693,22 @@ ISrsHttpFirstLineWriter::~ISrsHttpFirstLineWriter()
SrsHttpMessageWriter::SrsHttpMessageWriter(ISrsProtocolReadWriter *io, ISrsHttpFirstLineWriter *flw)
{
- skt = io;
- hdr = new SrsHttpHeader();
+ skt_ = io;
+ hdr_ = new SrsHttpHeader();
header_wrote_ = false;
- content_length = -1;
- written = 0;
- header_sent = false;
- nb_iovss_cache = 0;
- iovss_cache = NULL;
+ content_length_ = -1;
+ written_ = 0;
+ header_sent_ = false;
+ nb_iovss_cache_ = 0;
+ iovss_cache_ = NULL;
hf_ = NULL;
flw_ = flw;
}
SrsHttpMessageWriter::~SrsHttpMessageWriter()
{
- srs_freep(hdr);
- srs_freepa(iovss_cache);
+ srs_freep(hdr_);
+ srs_freepa(iovss_cache_);
}
srs_error_t SrsHttpMessageWriter::final_request()
@@ -726,11 +726,11 @@ srs_error_t SrsHttpMessageWriter::final_request()
}
// complete the chunked encoding.
- if (content_length == -1) {
+ if (content_length_ == -1) {
std::stringstream ss;
ss << 0 << SRS_HTTP_CRLF << SRS_HTTP_CRLF;
std::string ch = ss.str();
- return skt->write((void *)ch.data(), (int)ch.length(), NULL);
+ return skt_->write((void *)ch.data(), (int)ch.length(), NULL);
}
// flush when send with content length
@@ -739,7 +739,7 @@ srs_error_t SrsHttpMessageWriter::final_request()
SrsHttpHeader *SrsHttpMessageWriter::header()
{
- return hdr;
+ return hdr_;
}
srs_error_t SrsHttpMessageWriter::write(char *data, int size)
@@ -748,11 +748,11 @@ srs_error_t SrsHttpMessageWriter::write(char *data, int size)
// write the header data in memory.
if (!header_wrote_) {
- if (hdr->content_type().empty()) {
- hdr->set_content_type("text/plain; charset=utf-8");
+ if (hdr_->content_type().empty()) {
+ hdr_->set_content_type("text/plain; charset=utf-8");
}
- if (hdr->content_length() == -1) {
- hdr->set_content_length(size);
+ if (hdr_->content_length() == -1) {
+ hdr_->set_content_length(size);
}
flw_->write_default_header();
}
@@ -763,9 +763,9 @@ srs_error_t SrsHttpMessageWriter::write(char *data, int size)
}
// check the bytes send and content length.
- written += size;
- if (content_length != -1 && written > content_length) {
- return srs_error_new(ERROR_HTTP_CONTENT_LENGTH, "overflow writen=%" PRId64 ", max=%" PRId64, written, content_length);
+ written_ += size;
+ if (content_length_ != -1 && written_ > content_length_) {
+ return srs_error_new(ERROR_HTTP_CONTENT_LENGTH, "overflow writen=%" PRId64 ", max=%" PRId64, written_, content_length_);
}
// ignore NULL content.
@@ -774,18 +774,18 @@ srs_error_t SrsHttpMessageWriter::write(char *data, int size)
}
// directly send with content length
- if (content_length != -1) {
- return skt->write((void *)data, size, NULL);
+ if (content_length_ != -1) {
+ return skt_->write((void *)data, size, NULL);
}
// send in chunked encoding.
- int nb_size = snprintf(header_cache, SRS_HTTP_HEADER_CACHE_SIZE, "%x", size);
+ int nb_size = snprintf(header_cache_, SRS_HTTP_HEADER_CACHE_SIZE, "%x", size);
if (nb_size <= 0 || nb_size >= SRS_HTTP_HEADER_CACHE_SIZE) {
return srs_error_new(ERROR_HTTP_CONTENT_LENGTH, "overflow size=%d, expect=%d", size, nb_size);
}
iovec iovs[4];
- iovs[0].iov_base = (char *)header_cache;
+ iovs[0].iov_base = (char *)header_cache_;
iovs[0].iov_len = (int)nb_size;
iovs[1].iov_base = (char *)SRS_HTTP_CRLF;
iovs[1].iov_len = 2;
@@ -795,7 +795,7 @@ srs_error_t SrsHttpMessageWriter::write(char *data, int size)
iovs[3].iov_len = 2;
ssize_t nwrite = 0;
- if ((err = skt->writev(iovs, 4, &nwrite)) != srs_success) {
+ if ((err = skt_->writev(iovs, 4, &nwrite)) != srs_success) {
return srs_error_wrap(err, "write chunk");
}
@@ -807,7 +807,7 @@ srs_error_t SrsHttpMessageWriter::writev(const iovec *iov, int iovcnt, ssize_t *
srs_error_t err = srs_success;
// when header not ready, or not chunked, send one by one.
- if (!header_wrote_ || content_length != -1) {
+ if (!header_wrote_ || content_length_ != -1) {
ssize_t nwrite = 0;
for (int i = 0; i < iovcnt; i++) {
nwrite += iov[i].iov_len;
@@ -835,11 +835,11 @@ srs_error_t SrsHttpMessageWriter::writev(const iovec *iov, int iovcnt, ssize_t *
// send in chunked encoding.
int nb_iovss = 3 + iovcnt;
- iovec *iovss = iovss_cache;
- if (nb_iovss_cache < nb_iovss) {
- srs_freepa(iovss_cache);
- nb_iovss_cache = nb_iovss;
- iovss = iovss_cache = new iovec[nb_iovss];
+ iovec *iovss = iovss_cache_;
+ if (nb_iovss_cache_ < nb_iovss) {
+ srs_freepa(iovss_cache_);
+ nb_iovss_cache_ = nb_iovss;
+ iovss = iovss_cache_ = new iovec[nb_iovss];
}
// Send all iovs in one chunk, the size is the total size of iovs.
@@ -848,14 +848,14 @@ srs_error_t SrsHttpMessageWriter::writev(const iovec *iov, int iovcnt, ssize_t *
const iovec *data_iov = iov + i;
size += data_iov->iov_len;
}
- written += size;
+ written_ += size;
// chunk header
- int nb_size = snprintf(header_cache, SRS_HTTP_HEADER_CACHE_SIZE, "%x", size);
+ int nb_size = snprintf(header_cache_, SRS_HTTP_HEADER_CACHE_SIZE, "%x", size);
if (nb_size <= 0 || nb_size >= SRS_HTTP_HEADER_CACHE_SIZE) {
return srs_error_new(ERROR_HTTP_CONTENT_LENGTH, "overflow size=%d, expect=%d", size, nb_size);
}
- iovss[0].iov_base = (char *)header_cache;
+ iovss[0].iov_base = (char *)header_cache_;
iovss[0].iov_len = (int)nb_size;
// chunk header eof.
@@ -874,7 +874,7 @@ srs_error_t SrsHttpMessageWriter::writev(const iovec *iov, int iovcnt, ssize_t *
// sendout all ioves.
ssize_t nwrite = 0;
- if ((err = srs_write_large_iovs(skt, iovss, nb_iovss, &nwrite)) != srs_success) {
+ if ((err = srs_write_large_iovs(skt_, iovss, nb_iovss, &nwrite)) != srs_success) {
return srs_error_wrap(err, "writev large iovs");
}
@@ -892,17 +892,17 @@ void SrsHttpMessageWriter::write_header()
header_wrote_ = true;
// parse the content length from header.
- content_length = hdr->content_length();
+ content_length_ = hdr_->content_length();
}
srs_error_t SrsHttpMessageWriter::send_header(char *data, int size)
{
srs_error_t err = srs_success;
- if (header_sent) {
+ if (header_sent_) {
return err;
}
- header_sent = true;
+ header_sent_ = true;
std::stringstream ss;
@@ -912,33 +912,33 @@ srs_error_t SrsHttpMessageWriter::send_header(char *data, int size)
}
// set server if not set.
- if (hdr->get("Server").empty()) {
- hdr->set("Server", RTMP_SIG_SRS_SERVER);
+ if (hdr_->get("Server").empty()) {
+ hdr_->set("Server", RTMP_SIG_SRS_SERVER);
}
// chunked encoding
- if (content_length == -1) {
- hdr->set("Transfer-Encoding", "chunked");
+ if (content_length_ == -1) {
+ hdr_->set("Transfer-Encoding", "chunked");
}
// keep alive to make vlc happy.
- if (hdr->get("Connection").empty()) {
- hdr->set("Connection", "Keep-Alive");
+ if (hdr_->get("Connection").empty()) {
+ hdr_->set("Connection", "Keep-Alive");
}
// Filter the header before writing it.
- if (hf_ && ((err = hf_->filter(hdr)) != srs_success)) {
+ if (hf_ && ((err = hf_->filter(hdr_)) != srs_success)) {
return srs_error_wrap(err, "filter header");
}
// write header
- hdr->write(ss);
+ hdr_->write(ss);
// header_eof
ss << SRS_HTTP_CRLF;
std::string buf = ss.str();
- return skt->write((void *)buf.c_str(), buf.length(), NULL);
+ return skt_->write((void *)buf.c_str(), buf.length(), NULL);
}
bool SrsHttpMessageWriter::header_wrote()
@@ -954,7 +954,7 @@ void SrsHttpMessageWriter::set_header_filter(ISrsHttpHeaderFilter *hf)
SrsHttpResponseWriter::SrsHttpResponseWriter(ISrsProtocolReadWriter *io)
{
writer_ = new SrsHttpMessageWriter(io, this);
- status = SRS_CONSTS_HTTP_OK;
+ status_ = SRS_CONSTS_HTTP_OK;
}
SrsHttpResponseWriter::~SrsHttpResponseWriter()
@@ -990,11 +990,11 @@ srs_error_t SrsHttpResponseWriter::writev(const iovec *iov, int iovcnt, ssize_t
void SrsHttpResponseWriter::write_header(int code)
{
if (writer_->header_wrote()) {
- srs_warn("http: multiple write_header calls, status=%d, code=%d", status, code);
+ srs_warn("http: multiple write_header calls, status=%d, code=%d", status_, code);
return;
}
- status = code;
+ status_ = code;
return writer_->write_header();
}
@@ -1003,11 +1003,11 @@ srs_error_t SrsHttpResponseWriter::build_first_line(std::stringstream &ss, char
srs_error_t err = srs_success;
// Write status line for response.
- ss << "HTTP/1.1 " << status << " " << srs_generate_http_status_text(status) << SRS_HTTP_CRLF;
+ ss << "HTTP/1.1 " << status_ << " " << srs_generate_http_status_text(status_) << SRS_HTTP_CRLF;
// Try to detect content type from response body data.
SrsHttpHeader *hdr = writer_->header();
- if (srs_go_http_body_allowd(status)) {
+ if (srs_go_http_body_allowd(status_)) {
if (data && hdr->content_type().empty()) {
hdr->set_content_type(srs_go_http_detect(data, size));
}
@@ -1086,13 +1086,13 @@ void SrsHttpRequestWriter::write_default_header()
SrsHttpResponseReader::SrsHttpResponseReader(SrsHttpMessage *msg, ISrsReader *reader, SrsFastStream *body)
{
- skt = reader;
- owner = msg;
- is_eof = false;
- nb_total_read = 0;
- nb_left_chunk = 0;
- buffer = body;
- nb_chunk = 0;
+ skt_ = reader;
+ owner_ = msg;
+ is_eof_ = false;
+ nb_total_read_ = 0;
+ nb_left_chunk_ = 0;
+ buffer_ = body;
+ nb_chunk_ = 0;
}
SrsHttpResponseReader::~SrsHttpResponseReader()
@@ -1101,32 +1101,32 @@ SrsHttpResponseReader::~SrsHttpResponseReader()
void SrsHttpResponseReader::close()
{
- is_eof = true;
+ is_eof_ = true;
}
bool SrsHttpResponseReader::eof()
{
- return is_eof;
+ return is_eof_;
}
srs_error_t SrsHttpResponseReader::read(void *data, size_t nb_data, ssize_t *nb_read)
{
srs_error_t err = srs_success;
- if (is_eof) {
+ if (is_eof_) {
return srs_error_new(ERROR_HTTP_RESPONSE_EOF, "EOF");
}
// chunked encoding.
- if (owner->is_chunked()) {
+ if (owner_->is_chunked()) {
return read_chunked(data, nb_data, nb_read);
}
// read by specified content-length
- if (owner->content_length() != -1) {
- size_t max = (size_t)owner->content_length() - (size_t)nb_total_read;
+ if (owner_->content_length() != -1) {
+ size_t max = (size_t)owner_->content_length() - (size_t)nb_total_read_;
if (max <= 0) {
- is_eof = true;
+ is_eof_ = true;
return err;
}
@@ -1142,7 +1142,7 @@ srs_error_t SrsHttpResponseReader::read(void *data, size_t nb_data, ssize_t *nb_
// For infinite chunked, the socket close event is EOF.
if (srs_error_code(err) == ERROR_SOCKET_READ) {
srs_freep(err);
- is_eof = true;
+ is_eof_ = true;
return err;
}
}
@@ -1156,13 +1156,13 @@ srs_error_t SrsHttpResponseReader::read_chunked(void *data, size_t nb_data, ssiz
// when no bytes left in chunk,
// parse the chunk length first.
- if (nb_left_chunk <= 0) {
+ if (nb_left_chunk_ <= 0) {
char *at = NULL;
int length = 0;
while (!at) {
// find the CRLF of chunk header end.
- char *start = buffer->bytes();
- char *end = start + buffer->size();
+ char *start = buffer_->bytes();
+ char *end = start + buffer_->size();
for (char *p = start; p < end - 1; p++) {
if (p[0] == SRS_HTTP_CR && p[1] == SRS_HTTP_LF) {
@@ -1171,7 +1171,7 @@ srs_error_t SrsHttpResponseReader::read_chunked(void *data, size_t nb_data, ssiz
return srs_error_new(ERROR_HTTP_INVALID_CHUNK_HEADER, "chunk header");
}
length = (int)(p - start + 2);
- at = buffer->read_slice(length);
+ at = buffer_->read_slice(length);
break;
}
}
@@ -1182,7 +1182,7 @@ srs_error_t SrsHttpResponseReader::read_chunked(void *data, size_t nb_data, ssiz
}
// when empty, only grow 1bytes, but the buffer will cache more.
- if ((err = buffer->grow(skt, buffer->size() + 1)) != srs_success) {
+ if ((err = buffer_->grow(skt_, buffer_->size() + 1)) != srs_success) {
return srs_error_wrap(err, "grow buffer");
}
}
@@ -1204,44 +1204,44 @@ srs_error_t SrsHttpResponseReader::read_chunked(void *data, size_t nb_data, ssiz
}
// all bytes in chunk is left now.
- nb_chunk = nb_left_chunk = (size_t)ilength;
+ nb_chunk_ = nb_left_chunk_ = (size_t)ilength;
}
- if (nb_chunk <= 0) {
+ if (nb_chunk_ <= 0) {
// for the last chunk, eof.
- is_eof = true;
+ is_eof_ = true;
if (nb_read) {
*nb_read = 0;
}
} else {
// for not the last chunk, there must always exists bytes.
// left bytes in chunk, read some.
- srs_assert(nb_left_chunk);
+ srs_assert(nb_left_chunk_);
- size_t nb_bytes = srs_min(nb_left_chunk, nb_data);
+ size_t nb_bytes = srs_min(nb_left_chunk_, nb_data);
err = read_specified(data, nb_bytes, (ssize_t *)&nb_bytes);
// the nb_bytes used for output already read size of bytes.
if (nb_read) {
*nb_read = nb_bytes;
}
- nb_left_chunk -= nb_bytes;
+ nb_left_chunk_ -= nb_bytes;
if (err != srs_success) {
return srs_error_wrap(err, "read specified");
}
// If still left bytes in chunk, ignore and read in future.
- if (nb_left_chunk > 0) {
+ if (nb_left_chunk_ > 0) {
return err;
}
}
// for both the last or not, the CRLF of chunk payload end.
- if ((err = buffer->grow(skt, 2)) != srs_success) {
+ if ((err = buffer_->grow(skt_, 2)) != srs_success) {
return srs_error_wrap(err, "grow buffer");
}
- buffer->read_slice(2);
+ buffer_->read_slice(2);
return err;
}
@@ -1250,31 +1250,31 @@ srs_error_t SrsHttpResponseReader::read_specified(void *data, size_t nb_data, ss
{
srs_error_t err = srs_success;
- if (buffer->size() <= 0) {
+ if (buffer_->size() <= 0) {
// when empty, only grow 1bytes, but the buffer will cache more.
- if ((err = buffer->grow(skt, 1)) != srs_success) {
+ if ((err = buffer_->grow(skt_, 1)) != srs_success) {
return srs_error_wrap(err, "grow buffer");
}
}
- size_t nb_bytes = srs_min(nb_data, (size_t)buffer->size());
+ size_t nb_bytes = srs_min(nb_data, (size_t)buffer_->size());
// read data to buffer.
srs_assert(nb_bytes);
- char *p = buffer->read_slice(nb_bytes);
+ char *p = buffer_->read_slice(nb_bytes);
memcpy(data, p, nb_bytes);
if (nb_read) {
*nb_read = nb_bytes;
}
// increase the total read to determine whether EOF.
- nb_total_read += nb_bytes;
+ nb_total_read_ += nb_bytes;
// for not chunked and specified content length.
- if (!owner->is_chunked() && owner->content_length() != -1) {
+ if (!owner_->is_chunked() && owner_->content_length() != -1) {
// when read completed, eof.
- if (nb_total_read >= (int)owner->content_length()) {
- is_eof = true;
+ if (nb_total_read_ >= (int)owner_->content_length()) {
+ is_eof_ = true;
}
}
diff --git a/trunk/src/protocol/srs_protocol_http_conn.hpp b/trunk/src/protocol/srs_protocol_http_conn.hpp
index bfd74936ea5..69ac6ae2f4e 100644
--- a/trunk/src/protocol/srs_protocol_http_conn.hpp
+++ b/trunk/src/protocol/srs_protocol_http_conn.hpp
@@ -26,20 +26,20 @@ class ISrsProtocolReadWriter;
class SrsHttpParser
{
private:
- llhttp_settings_t settings;
- llhttp_t parser;
+ llhttp_settings_t settings_;
+ llhttp_t parser_;
// The global parse buffer.
- SrsFastStream *buffer;
+ SrsFastStream *buffer_;
// Whether allow jsonp parse.
- bool jsonp;
+ bool jsonp_;
private:
- std::string field_name;
- std::string field_value;
- SrsHttpParseState state;
- llhttp_t hp_header;
- std::string url;
- SrsHttpHeader *header;
+ std::string field_name_;
+ std::string field_value_;
+ SrsHttpParseState state_;
+ llhttp_t hp_header_;
+ std::string url_;
+ SrsHttpHeader *header_;
enum llhttp_type type_;
enum llhttp_type parsed_type_;
@@ -88,7 +88,7 @@ class SrsHttpMessage : public ISrsHttpMessage
SrsHttpResponseReader *_body;
// Use a buffer to read and send ts file.
// The transport connection, can be NULL.
- ISrsConnection *owner_conn;
+ ISrsConnection *owner_conn_;
private:
// The request type defined as
@@ -105,7 +105,7 @@ class SrsHttpMessage : public ISrsHttpMessage
// Whether the request indicates should keep alive for the http connection.
bool _keep_alive;
// Whether the body is chunked.
- bool chunked;
+ bool chunked_;
private:
std::string schema_;
@@ -120,9 +120,9 @@ class SrsHttpMessage : public ISrsHttpMessage
private:
// Whether request is jsonp.
- bool jsonp;
+ bool jsonp_;
// The method in QueryString will override the HTTP method.
- std::string jsonp_method;
+ std::string jsonp_method_;
public:
SrsHttpMessage(ISrsReader *reader = NULL, SrsFastStream *buffer = NULL);
@@ -232,8 +232,8 @@ class ISrsHttpFirstLineWriter
class SrsHttpMessageWriter
{
private:
- ISrsProtocolReadWriter *skt;
- SrsHttpHeader *hdr;
+ ISrsProtocolReadWriter *skt_;
+ SrsHttpHeader *hdr_;
// Before writing header, there is a chance to filter it,
// such as remove some headers or inject new.
ISrsHttpHeaderFilter *hf_;
@@ -241,9 +241,9 @@ class SrsHttpMessageWriter
ISrsHttpFirstLineWriter *flw_;
private:
- char header_cache[SRS_HTTP_HEADER_CACHE_SIZE];
- iovec *iovss_cache;
- int nb_iovss_cache;
+ char header_cache_[SRS_HTTP_HEADER_CACHE_SIZE];
+ iovec *iovss_cache_;
+ int nb_iovss_cache_;
private:
// Reply header has been (logically) written
@@ -251,16 +251,16 @@ class SrsHttpMessageWriter
private:
// The explicitly-declared Content-Length; or -1
- int64_t content_length;
+ int64_t content_length_;
// The number of bytes written in body
- int64_t written;
+ int64_t written_;
private:
// The wroteHeader tells whether the header's been written to "the
// wire" (or rather: w.conn.buf). this is unlike
// (*response).wroteHeader, which tells only whether it was
// logically written.
- bool header_sent;
+ bool header_sent_;
public:
SrsHttpMessageWriter(ISrsProtocolReadWriter *io, ISrsHttpFirstLineWriter *flw);
@@ -285,7 +285,7 @@ class SrsHttpResponseWriter : public ISrsHttpResponseWriter, public ISrsHttpFirs
protected:
SrsHttpMessageWriter *writer_;
// The status code passed to WriteHeader, for response only.
- int status;
+ int status_;
public:
SrsHttpResponseWriter(ISrsProtocolReadWriter *io);
@@ -335,16 +335,16 @@ class SrsHttpRequestWriter : public ISrsHttpRequestWriter, public ISrsHttpFirstL
class SrsHttpResponseReader : public ISrsHttpResponseReader
{
private:
- ISrsReader *skt;
- SrsHttpMessage *owner;
- SrsFastStream *buffer;
- bool is_eof;
+ ISrsReader *skt_;
+ SrsHttpMessage *owner_;
+ SrsFastStream *buffer_;
+ bool is_eof_;
// The left bytes in chunk.
- size_t nb_left_chunk;
+ size_t nb_left_chunk_;
// The number of bytes of current chunk.
- size_t nb_chunk;
+ size_t nb_chunk_;
// Already read total bytes.
- int64_t nb_total_read;
+ int64_t nb_total_read_;
public:
// Generally the reader is the under-layer io such as socket,
diff --git a/trunk/src/protocol/srs_protocol_http_stack.cpp b/trunk/src/protocol/srs_protocol_http_stack.cpp
index ed32dd82a92..00bb132c827 100644
--- a/trunk/src/protocol/srs_protocol_http_stack.cpp
+++ b/trunk/src/protocol/srs_protocol_http_stack.cpp
@@ -1205,7 +1205,7 @@ ISrsHttpMessage::~ISrsHttpMessage()
SrsHttpUri::SrsHttpUri()
{
- port = 0;
+ port_ = 0;
}
SrsHttpUri::~SrsHttpUri()
@@ -1214,7 +1214,7 @@ SrsHttpUri::~SrsHttpUri()
srs_error_t SrsHttpUri::initialize(string url)
{
- schema = host = path = query = fragment_ = "";
+ schema_ = host_ = path_ = query_ = fragment_ = "";
url_ = url;
// Replace the default vhost to a domain like string, or parse failed.
@@ -1226,25 +1226,25 @@ srs_error_t SrsHttpUri::initialize(string url)
// Simple URL parser to replace http-parser URL parsing
srs_error_t err = srs_success;
- if ((err = parse_url_simple(parsing_url, schema, host, port, path, query, fragment_, username_, password_)) != srs_success) {
+ if ((err = parse_url_simple(parsing_url, schema_, host_, port_, path_, query_, fragment_, username_, password_)) != srs_success) {
return srs_error_wrap(err, "parse url %s as %s failed", url.c_str(), parsing_url.c_str());
}
// Restore the default vhost.
if (pos_default_vhost != string::npos) {
- host = SRS_CONSTS_RTMP_DEFAULT_VHOST;
+ host_ = SRS_CONSTS_RTMP_DEFAULT_VHOST;
}
// Set default ports if not specified
- if (port <= 0) {
- if (schema == "https") {
- port = SRS_DEFAULT_HTTPS_PORT;
- } else if (schema == "rtmp") {
- port = SRS_CONSTS_RTMP_DEFAULT_PORT;
- } else if (schema == "redis") {
- port = SRS_DEFAULT_REDIS_PORT;
+ if (port_ <= 0) {
+ if (schema_ == "https") {
+ port_ = SRS_DEFAULT_HTTPS_PORT;
+ } else if (schema_ == "rtmp") {
+ port_ = SRS_CONSTS_RTMP_DEFAULT_PORT;
+ } else if (schema_ == "redis") {
+ port_ = SRS_DEFAULT_REDIS_PORT;
} else {
- port = SRS_DEFAULT_HTTP_PORT;
+ port_ = SRS_DEFAULT_HTTP_PORT;
}
}
@@ -1253,12 +1253,12 @@ srs_error_t SrsHttpUri::initialize(string url)
void SrsHttpUri::set_schema(std::string v)
{
- schema = v;
+ schema_ = v;
// Update url with new schema.
size_t pos = url_.find("://");
if (pos != string::npos) {
- url_ = schema + "://" + url_.substr(pos + 3);
+ url_ = schema_ + "://" + url_.substr(pos + 3);
}
}
@@ -1269,27 +1269,27 @@ string SrsHttpUri::get_url()
string SrsHttpUri::get_schema()
{
- return schema;
+ return schema_;
}
string SrsHttpUri::get_host()
{
- return host;
+ return host_;
}
int SrsHttpUri::get_port()
{
- return port;
+ return port_;
}
string SrsHttpUri::get_path()
{
- return path;
+ return path_;
}
string SrsHttpUri::get_query()
{
- return query;
+ return query_;
}
string SrsHttpUri::get_query_by_key(std::string key)
@@ -1416,17 +1416,17 @@ srs_error_t SrsHttpUri::parse_url_simple(const string &url, string &schema, stri
srs_error_t SrsHttpUri::parse_query()
{
srs_error_t err = srs_success;
- if (query.empty()) {
+ if (query_.empty()) {
return err;
}
- size_t begin = query.find("?");
+ size_t begin = query_.find("?");
if (string::npos != begin) {
begin++;
} else {
begin = 0;
}
- string query_str = query.substr(begin);
+ string query_str = query_.substr(begin);
query_values_.clear();
srs_net_url_parse_query(query_str, query_values_);
diff --git a/trunk/src/protocol/srs_protocol_http_stack.hpp b/trunk/src/protocol/srs_protocol_http_stack.hpp
index 56455622b10..7765cd519fb 100644
--- a/trunk/src/protocol/srs_protocol_http_stack.hpp
+++ b/trunk/src/protocol/srs_protocol_http_stack.hpp
@@ -637,11 +637,11 @@ class SrsHttpUri
{
private:
std::string url_;
- std::string schema;
- std::string host;
- int port;
- std::string path;
- std::string query;
+ std::string schema_;
+ std::string host_;
+ int port_;
+ std::string path_;
+ std::string query_;
std::string fragment_;
std::string username_;
std::string password_;
diff --git a/trunk/src/protocol/srs_protocol_json.cpp b/trunk/src/protocol/srs_protocol_json.cpp
index 2190086d565..45259744aa6 100644
--- a/trunk/src/protocol/srs_protocol_json.cpp
+++ b/trunk/src/protocol/srs_protocol_json.cpp
@@ -1309,14 +1309,14 @@ class SrsJsonString : public SrsJsonAny
SrsJsonString(const char *v)
{
- marker = SRS_JSON_String;
+ marker_ = SRS_JSON_String;
if (v) {
value = v;
}
}
SrsJsonString(const char *v, int s)
{
- marker = SRS_JSON_String;
+ marker_ = SRS_JSON_String;
if (v) {
value.append(v, s);
}
@@ -1333,7 +1333,7 @@ class SrsJsonBoolean : public SrsJsonAny
SrsJsonBoolean(bool v)
{
- marker = SRS_JSON_Boolean;
+ marker_ = SRS_JSON_Boolean;
value = v;
}
virtual ~SrsJsonBoolean()
@@ -1348,7 +1348,7 @@ class SrsJsonInteger : public SrsJsonAny
SrsJsonInteger(int64_t v)
{
- marker = SRS_JSON_Integer;
+ marker_ = SRS_JSON_Integer;
value = v;
}
virtual ~SrsJsonInteger()
@@ -1363,7 +1363,7 @@ class SrsJsonNumber : public SrsJsonAny
SrsJsonNumber(double v)
{
- marker = SRS_JSON_Number;
+ marker_ = SRS_JSON_Number;
value = v;
}
virtual ~SrsJsonNumber()
@@ -1376,7 +1376,7 @@ class SrsJsonNull : public SrsJsonAny
public:
SrsJsonNull()
{
- marker = SRS_JSON_Null;
+ marker_ = SRS_JSON_Null;
}
virtual ~SrsJsonNull()
{
@@ -1385,7 +1385,7 @@ class SrsJsonNull : public SrsJsonAny
SrsJsonAny::SrsJsonAny()
{
- marker = 0;
+ marker_ = 0;
}
SrsJsonAny::~SrsJsonAny()
@@ -1394,37 +1394,37 @@ SrsJsonAny::~SrsJsonAny()
bool SrsJsonAny::is_string()
{
- return marker == SRS_JSON_String;
+ return marker_ == SRS_JSON_String;
}
bool SrsJsonAny::is_boolean()
{
- return marker == SRS_JSON_Boolean;
+ return marker_ == SRS_JSON_Boolean;
}
bool SrsJsonAny::is_number()
{
- return marker == SRS_JSON_Number;
+ return marker_ == SRS_JSON_Number;
}
bool SrsJsonAny::is_integer()
{
- return marker == SRS_JSON_Integer;
+ return marker_ == SRS_JSON_Integer;
}
bool SrsJsonAny::is_object()
{
- return marker == SRS_JSON_Object;
+ return marker_ == SRS_JSON_Object;
}
bool SrsJsonAny::is_array()
{
- return marker == SRS_JSON_Array;
+ return marker_ == SRS_JSON_Array;
}
bool SrsJsonAny::is_null()
{
- return marker == SRS_JSON_Null;
+ return marker_ == SRS_JSON_Null;
}
string SrsJsonAny::to_str()
@@ -1514,7 +1514,7 @@ string json_serialize_string(const string &v)
string SrsJsonAny::dumps()
{
- switch (marker) {
+ switch (marker_) {
case SRS_JSON_String: {
SrsJsonString *p = dynamic_cast(this);
srs_assert(p != NULL);
@@ -1551,7 +1551,7 @@ string SrsJsonAny::dumps()
SrsAmf0Any *SrsJsonAny::to_amf0()
{
- switch (marker) {
+ switch (marker_) {
case SRS_JSON_String: {
return SrsAmf0Any::str(to_str().c_str());
}
@@ -1688,36 +1688,36 @@ SrsJsonAny *SrsJsonAny::loads(string str)
SrsJsonObject::SrsJsonObject()
{
- marker = SRS_JSON_Object;
+ marker_ = SRS_JSON_Object;
}
SrsJsonObject::~SrsJsonObject()
{
std::vector::iterator it;
- for (it = properties.begin(); it != properties.end(); ++it) {
+ for (it = properties_.begin(); it != properties_.end(); ++it) {
SrsJsonObjectPropertyType item = *it;
SrsJsonAny *obj = item.second;
srs_freep(obj);
}
- properties.clear();
+ properties_.clear();
}
int SrsJsonObject::count()
{
- return (int)properties.size();
+ return (int)properties_.size();
}
string SrsJsonObject::key_at(int index)
{
srs_assert(index < count());
- SrsJsonObjectPropertyType &elem = properties[index];
+ SrsJsonObjectPropertyType &elem = properties_[index];
return elem.first;
}
SrsJsonAny *SrsJsonObject::value_at(int index)
{
srs_assert(index < count());
- SrsJsonObjectPropertyType &elem = properties[index];
+ SrsJsonObjectPropertyType &elem = properties_[index];
return elem.second;
}
@@ -1727,12 +1727,12 @@ string SrsJsonObject::dumps()
ss << SRS_JOBJECT_START;
- for (int i = 0; i < (int)properties.size(); i++) {
+ for (int i = 0; i < (int)properties_.size(); i++) {
std::string name = this->key_at(i);
SrsJsonAny *any = this->value_at(i);
ss << SRS_JFIELD_NAME(name) << any->dumps();
- if (i < (int)properties.size() - 1) {
+ if (i < (int)properties_.size() - 1) {
ss << SRS_JFIELD_CONT;
}
}
@@ -1746,7 +1746,7 @@ SrsAmf0Any *SrsJsonObject::to_amf0()
{
SrsAmf0Object *obj = SrsAmf0Any::object();
- for (int i = 0; i < (int)properties.size(); i++) {
+ for (int i = 0; i < (int)properties_.size(); i++) {
std::string name = this->key_at(i);
SrsJsonAny *any = this->value_at(i);
@@ -1765,19 +1765,19 @@ SrsJsonObject *SrsJsonObject::set(string key, SrsJsonAny *value)
std::vector::iterator it;
- for (it = properties.begin(); it != properties.end(); ++it) {
+ for (it = properties_.begin(); it != properties_.end(); ++it) {
SrsJsonObjectPropertyType &elem = *it;
std::string name = elem.first;
SrsJsonAny *any = elem.second;
if (key == name) {
srs_freep(any);
- it = properties.erase(it);
+ it = properties_.erase(it);
break;
}
}
- properties.push_back(std::make_pair(key, value));
+ properties_.push_back(std::make_pair(key, value));
return this;
}
@@ -1785,7 +1785,7 @@ SrsJsonAny *SrsJsonObject::get_property(string name)
{
std::vector::iterator it;
- for (it = properties.begin(); it != properties.end(); ++it) {
+ for (it = properties_.begin(); it != properties_.end(); ++it) {
SrsJsonObjectPropertyType &elem = *it;
std::string key = elem.first;
SrsJsonAny *any = elem.second;
@@ -1889,34 +1889,34 @@ SrsJsonAny *SrsJsonObject::ensure_property_array(string name)
SrsJsonArray::SrsJsonArray()
{
- marker = SRS_JSON_Array;
+ marker_ = SRS_JSON_Array;
}
SrsJsonArray::~SrsJsonArray()
{
std::vector::iterator it;
- for (it = properties.begin(); it != properties.end(); ++it) {
+ for (it = properties_.begin(); it != properties_.end(); ++it) {
SrsJsonAny *item = *it;
srs_freep(item);
}
- properties.clear();
+ properties_.clear();
}
int SrsJsonArray::count()
{
- return (int)properties.size();
+ return (int)properties_.size();
}
SrsJsonAny *SrsJsonArray::at(int index)
{
srs_assert(index < count());
- SrsJsonAny *elem = properties[index];
+ SrsJsonAny *elem = properties_[index];
return elem;
}
SrsJsonArray *SrsJsonArray::add(SrsJsonAny *value)
{
- properties.push_back(value);
+ properties_.push_back(value);
return this;
}
@@ -1932,12 +1932,12 @@ string SrsJsonArray::dumps()
ss << SRS_JARRAY_START;
- for (int i = 0; i < (int)properties.size(); i++) {
- SrsJsonAny *any = properties[i];
+ for (int i = 0; i < (int)properties_.size(); i++) {
+ SrsJsonAny *any = properties_[i];
ss << any->dumps();
- if (i < (int)properties.size() - 1) {
+ if (i < (int)properties_.size() - 1) {
ss << SRS_JFIELD_CONT;
}
}
@@ -1951,8 +1951,8 @@ SrsAmf0Any *SrsJsonArray::to_amf0()
{
SrsAmf0StrictArray *arr = SrsAmf0Any::strict_array();
- for (int i = 0; i < (int)properties.size(); i++) {
- SrsJsonAny *any = properties[i];
+ for (int i = 0; i < (int)properties_.size(); i++) {
+ SrsJsonAny *any = properties_[i];
arr->append(any->to_amf0());
}
diff --git a/trunk/src/protocol/srs_protocol_json.hpp b/trunk/src/protocol/srs_protocol_json.hpp
index f93668c375c..5273fb07958 100644
--- a/trunk/src/protocol/srs_protocol_json.hpp
+++ b/trunk/src/protocol/srs_protocol_json.hpp
@@ -41,7 +41,7 @@ class SrsJsonObject;
class SrsJsonAny
{
public:
- char marker;
+ char marker_;
// Don't directly create this object,
// please use SrsJsonAny::str() to create a concreated one.
protected:
@@ -103,7 +103,7 @@ class SrsJsonObject : public SrsJsonAny
{
private:
typedef std::pair SrsJsonObjectPropertyType;
- std::vector properties;
+ std::vector properties_;
private:
// Use SrsJsonAny::object() to create it.
@@ -138,7 +138,7 @@ class SrsJsonObject : public SrsJsonAny
class SrsJsonArray : public SrsJsonAny
{
private:
- std::vector properties;
+ std::vector properties_;
private:
// Use SrsJsonAny::array() to create it.
diff --git a/trunk/src/protocol/srs_protocol_kbps.cpp b/trunk/src/protocol/srs_protocol_kbps.cpp
index d83f0a5771e..09624327a7d 100644
--- a/trunk/src/protocol/srs_protocol_kbps.cpp
+++ b/trunk/src/protocol/srs_protocol_kbps.cpp
@@ -10,9 +10,9 @@
SrsKbpsSlice::SrsKbpsSlice(SrsWallClock *c)
{
- clk = c;
- starttime = 0;
- bytes = 0;
+ clk_ = c;
+ starttime_ = 0;
+ bytes_ = 0;
}
SrsKbpsSlice::~SrsKbpsSlice()
@@ -21,36 +21,36 @@ SrsKbpsSlice::~SrsKbpsSlice()
void SrsKbpsSlice::sample()
{
- srs_utime_t now = clk->now();
+ srs_utime_t now = clk_->now();
- if (sample_30s.time_ < 0) {
- sample_30s.update(bytes, now, 0);
+ if (sample_30s_.time_ < 0) {
+ sample_30s_.update(bytes_, now, 0);
}
- if (sample_1m.time_ < 0) {
- sample_1m.update(bytes, now, 0);
+ if (sample_1m_.time_ < 0) {
+ sample_1m_.update(bytes_, now, 0);
}
- if (sample_5m.time_ < 0) {
- sample_5m.update(bytes, now, 0);
+ if (sample_5m_.time_ < 0) {
+ sample_5m_.update(bytes_, now, 0);
}
- if (sample_60m.time_ < 0) {
- sample_60m.update(bytes, now, 0);
+ if (sample_60m_.time_ < 0) {
+ sample_60m_.update(bytes_, now, 0);
}
- if (now - sample_30s.time_ >= 30 * SRS_UTIME_SECONDS) {
- int kbps = (int)((bytes - sample_30s.total_) * 8 / srsu2ms(now - sample_30s.time_));
- sample_30s.update(bytes, now, kbps);
+ if (now - sample_30s_.time_ >= 30 * SRS_UTIME_SECONDS) {
+ int kbps = (int)((bytes_ - sample_30s_.total_) * 8 / srsu2ms(now - sample_30s_.time_));
+ sample_30s_.update(bytes_, now, kbps);
}
- if (now - sample_1m.time_ >= 60 * SRS_UTIME_SECONDS) {
- int kbps = (int)((bytes - sample_1m.total_) * 8 / srsu2ms(now - sample_1m.time_));
- sample_1m.update(bytes, now, kbps);
+ if (now - sample_1m_.time_ >= 60 * SRS_UTIME_SECONDS) {
+ int kbps = (int)((bytes_ - sample_1m_.total_) * 8 / srsu2ms(now - sample_1m_.time_));
+ sample_1m_.update(bytes_, now, kbps);
}
- if (now - sample_5m.time_ >= 300 * SRS_UTIME_SECONDS) {
- int kbps = (int)((bytes - sample_5m.total_) * 8 / srsu2ms(now - sample_5m.time_));
- sample_5m.update(bytes, now, kbps);
+ if (now - sample_5m_.time_ >= 300 * SRS_UTIME_SECONDS) {
+ int kbps = (int)((bytes_ - sample_5m_.total_) * 8 / srsu2ms(now - sample_5m_.time_));
+ sample_5m_.update(bytes_, now, kbps);
}
- if (now - sample_60m.time_ >= 3600 * SRS_UTIME_SECONDS) {
- int kbps = (int)((bytes - sample_60m.total_) * 8 / srsu2ms(now - sample_60m.time_));
- sample_60m.update(bytes, now, kbps);
+ if (now - sample_60m_.time_ >= 3600 * SRS_UTIME_SECONDS) {
+ int kbps = (int)((bytes_ - sample_60m_.total_) * 8 / srsu2ms(now - sample_60m_.time_));
+ sample_60m_.update(bytes_, now, kbps);
}
}
@@ -136,20 +136,20 @@ void SrsNetworkDelta::remark(int64_t *in, int64_t *out)
SrsKbps::SrsKbps(SrsWallClock *c)
{
- clk = c ? c : _srs_clock;
- is = new SrsKbpsSlice(clk);
- os = new SrsKbpsSlice(clk);
+ clk_ = c ? c : _srs_clock;
+ is_ = new SrsKbpsSlice(clk_);
+ os_ = new SrsKbpsSlice(clk_);
}
SrsKbps::~SrsKbps()
{
- srs_freep(is);
- srs_freep(os);
+ srs_freep(is_);
+ srs_freep(os_);
}
int SrsKbps::get_send_kbps()
{
- int duration = srsu2ms(clk->now() - is->starttime);
+ int duration = srsu2ms(clk_->now() - is_->starttime_);
if (duration <= 0) {
return 0;
}
@@ -160,7 +160,7 @@ int SrsKbps::get_send_kbps()
int SrsKbps::get_recv_kbps()
{
- int duration = srsu2ms(clk->now() - os->starttime);
+ int duration = srsu2ms(clk_->now() - os_->starttime_);
if (duration <= 0) {
return 0;
}
@@ -171,22 +171,22 @@ int SrsKbps::get_recv_kbps()
int SrsKbps::get_send_kbps_30s()
{
- return os->sample_30s.rate_;
+ return os_->sample_30s_.rate_;
}
int SrsKbps::get_recv_kbps_30s()
{
- return is->sample_30s.rate_;
+ return is_->sample_30s_.rate_;
}
int SrsKbps::get_send_kbps_5m()
{
- return os->sample_5m.rate_;
+ return os_->sample_5m_.rate_;
}
int SrsKbps::get_recv_kbps_5m()
{
- return is->sample_5m.rate_;
+ return is_->sample_5m_.rate_;
}
void SrsKbps::add_delta(ISrsKbpsDelta *delta)
@@ -202,26 +202,26 @@ void SrsKbps::add_delta(ISrsKbpsDelta *delta)
void SrsKbps::add_delta(int64_t in, int64_t out)
{
// update the total bytes
- is->bytes += in;
- os->bytes += out;
+ is_->bytes_ += in;
+ os_->bytes_ += out;
// we donot sample, please use sample() to do resample.
}
void SrsKbps::sample()
{
- is->sample();
- os->sample();
+ is_->sample();
+ os_->sample();
}
int64_t SrsKbps::get_send_bytes()
{
- return os->bytes;
+ return os_->bytes_;
}
int64_t SrsKbps::get_recv_bytes()
{
- return is->bytes;
+ return is_->bytes_;
}
SrsNetworkKbps::SrsNetworkKbps(SrsWallClock *clock)
diff --git a/trunk/src/protocol/srs_protocol_kbps.hpp b/trunk/src/protocol/srs_protocol_kbps.hpp
index bfc76c352ef..66e9b4db54d 100644
--- a/trunk/src/protocol/srs_protocol_kbps.hpp
+++ b/trunk/src/protocol/srs_protocol_kbps.hpp
@@ -18,22 +18,22 @@
class SrsKbpsSlice
{
private:
- SrsWallClock *clk;
+ SrsWallClock *clk_;
public:
// session startup bytes
// @remark, use total_bytes() to get the total bytes of slice.
- int64_t bytes;
+ int64_t bytes_;
// slice starttime, the first time to record bytes.
- srs_utime_t starttime;
+ srs_utime_t starttime_;
// samples
- SrsRateSample sample_30s;
- SrsRateSample sample_1m;
- SrsRateSample sample_5m;
- SrsRateSample sample_60m;
+ SrsRateSample sample_30s_;
+ SrsRateSample sample_1m_;
+ SrsRateSample sample_5m_;
+ SrsRateSample sample_60m_;
public:
- SrsKbpsSlice(SrsWallClock *clk);
+ SrsKbpsSlice(SrsWallClock *c);
virtual ~SrsKbpsSlice();
public:
@@ -119,9 +119,9 @@ class SrsNetworkDelta : public ISrsKbpsDelta
class SrsKbps
{
private:
- SrsKbpsSlice *is;
- SrsKbpsSlice *os;
- SrsWallClock *clk;
+ SrsKbpsSlice *is_;
+ SrsKbpsSlice *os_;
+ SrsWallClock *clk_;
public:
// Note that we won't free the clock c.
diff --git a/trunk/src/protocol/srs_protocol_log.cpp b/trunk/src/protocol/srs_protocol_log.cpp
index d1fe5c0ae50..a7e1a3a98e5 100644
--- a/trunk/src/protocol/srs_protocol_log.cpp
+++ b/trunk/src/protocol/srs_protocol_log.cpp
@@ -107,14 +107,14 @@ impl_SrsContextRestore::~impl_SrsContextRestore()
SrsConsoleLog::SrsConsoleLog(SrsLogLevel l, bool u)
{
level_ = l;
- utc = u;
+ utc_ = u;
- buffer = new char[SRS_BASIC_LOG_SIZE];
+ buffer_ = new char[SRS_BASIC_LOG_SIZE];
}
SrsConsoleLog::~SrsConsoleLog()
{
- srs_freepa(buffer);
+ srs_freepa(buffer_);
}
srs_error_t SrsConsoleLog::initialize()
@@ -133,12 +133,12 @@ void SrsConsoleLog::log(SrsLogLevel level, const char *tag, const SrsContextId &
}
int size = 0;
- if (!srs_log_header(buffer, SRS_BASIC_LOG_SIZE, utc, level >= SrsLogLevelWarn, tag, context_id, srs_log_level_strings[level], &size)) {
+ if (!srs_log_header(buffer_, SRS_BASIC_LOG_SIZE, utc_, level >= SrsLogLevelWarn, tag, context_id, srs_log_level_strings[level], &size)) {
return;
}
// Something not expected, drop the log.
- int r0 = vsnprintf(buffer + size, SRS_BASIC_LOG_SIZE - size, fmt, args);
+ int r0 = vsnprintf(buffer_ + size, SRS_BASIC_LOG_SIZE - size, fmt, args);
if (r0 <= 0 || r0 >= SRS_BASIC_LOG_SIZE - size) {
return;
}
@@ -146,7 +146,7 @@ void SrsConsoleLog::log(SrsLogLevel level, const char *tag, const SrsContextId &
// Add errno and strerror() if error.
if (level == SrsLogLevelError && errno != 0) {
- r0 = snprintf(buffer + size, SRS_BASIC_LOG_SIZE - size, "(%s)", strerror(errno));
+ r0 = snprintf(buffer_ + size, SRS_BASIC_LOG_SIZE - size, "(%s)", strerror(errno));
// Something not expected, drop the log.
if (r0 <= 0 || r0 >= SRS_BASIC_LOG_SIZE - size) {
@@ -156,9 +156,9 @@ void SrsConsoleLog::log(SrsLogLevel level, const char *tag, const SrsContextId &
}
if (level >= SrsLogLevelWarn) {
- fprintf(stderr, "%s\n", buffer);
+ fprintf(stderr, "%s\n", buffer_);
} else {
- fprintf(stdout, "%s\n", buffer);
+ fprintf(stdout, "%s\n", buffer_);
}
}
diff --git a/trunk/src/protocol/srs_protocol_log.hpp b/trunk/src/protocol/srs_protocol_log.hpp
index e9562ca6f7e..b79d6ed8e8c 100644
--- a/trunk/src/protocol/srs_protocol_log.hpp
+++ b/trunk/src/protocol/srs_protocol_log.hpp
@@ -20,7 +20,7 @@
class SrsThreadContext : public ISrsContext
{
private:
- std::map cache;
+ std::map cache_;
public:
SrsThreadContext();
@@ -57,10 +57,10 @@ class SrsConsoleLog : public ISrsLog
{
private:
SrsLogLevel level_;
- bool utc;
+ bool utc_;
private:
- char *buffer;
+ char *buffer_;
public:
SrsConsoleLog(SrsLogLevel l, bool u);
diff --git a/trunk/src/protocol/srs_protocol_raw_avc.cpp b/trunk/src/protocol/srs_protocol_raw_avc.cpp
index 77dfc0fef22..918afdcab09 100644
--- a/trunk/src/protocol/srs_protocol_raw_avc.cpp
+++ b/trunk/src/protocol/srs_protocol_raw_avc.cpp
@@ -755,30 +755,30 @@ srs_error_t SrsRawAacStream::adts_demux(SrsBuffer *stream, char **pframe, int *p
}
// the codec info.
- codec.protection_absent = protection_absent;
- codec.aac_object = srs_aac_ts2rtmp((SrsAacProfile)profile);
- codec.sampling_frequency_index = sampling_frequency_index;
- codec.channel_configuration = channel_configuration;
- codec.frame_length = frame_length;
+ codec.protection_absent_ = protection_absent;
+ codec.aac_object_ = srs_aac_ts2rtmp((SrsAacProfile)profile);
+ codec.sampling_frequency_index_ = sampling_frequency_index;
+ codec.channel_configuration_ = channel_configuration;
+ codec.frame_length_ = frame_length;
// The aac sampleing rate defined in srs_aac_srates.
// TODO: FIXME: maybe need to resample audio.
- codec.sound_format = 10; // AAC
+ codec.sound_format_ = 10; // AAC
if (sampling_frequency_index <= 0x0c && sampling_frequency_index > 0x0a) {
- codec.sound_rate = SrsAudioSampleRate5512;
+ codec.sound_rate_ = SrsAudioSampleRate5512;
} else if (sampling_frequency_index <= 0x0a && sampling_frequency_index > 0x07) {
- codec.sound_rate = SrsAudioSampleRate11025;
+ codec.sound_rate_ = SrsAudioSampleRate11025;
} else if (sampling_frequency_index <= 0x07 && sampling_frequency_index > 0x04) {
- codec.sound_rate = SrsAudioSampleRate22050;
+ codec.sound_rate_ = SrsAudioSampleRate22050;
} else if (sampling_frequency_index <= 0x04) {
- codec.sound_rate = SrsAudioSampleRate44100;
+ codec.sound_rate_ = SrsAudioSampleRate44100;
} else {
- codec.sound_rate = SrsAudioSampleRate44100;
+ codec.sound_rate_ = SrsAudioSampleRate44100;
srs_warn("adts invalid sample rate for flv, rate=%#x", sampling_frequency_index);
}
- codec.sound_type = srs_max(0, srs_min(1, channel_configuration - 1));
+ codec.sound_type_ = srs_max(0, srs_min(1, channel_configuration - 1));
// TODO: FIXME: finger it out the sound size by adts.
- codec.sound_size = 1; // 0(8bits) or 1(16bits).
+ codec.sound_size_ = 1; // 0(8bits) or 1(16bits).
// frame data.
*pframe = stream->data() + stream->pos();
@@ -796,12 +796,12 @@ srs_error_t SrsRawAacStream::mux_sequence_header(SrsRawAacStreamCodec *codec, st
srs_error_t err = srs_success;
// only support aac profile 1-4.
- if (codec->aac_object == SrsAacObjectTypeReserved) {
+ if (codec->aac_object_ == SrsAacObjectTypeReserved) {
return srs_error_new(ERROR_AAC_DATA_INVALID, "invalid aac object");
}
- SrsAacObjectType audioObjectType = codec->aac_object;
- char channelConfiguration = codec->channel_configuration;
+ SrsAacObjectType audioObjectType = codec->aac_object_;
+ char channelConfiguration = codec->channel_configuration_;
// Here we are generating AAC sequence header, the ASC structure,
// because we have already parsed the sampling rate from AAC codec,
@@ -810,9 +810,9 @@ srs_error_t SrsRawAacStream::mux_sequence_header(SrsRawAacStreamCodec *codec, st
// For example, AAC sampling_frequency_index is 3(48000HZ) or 4(44100HZ),
// the sound_rate is always 3(44100HZ), if we covert sound_rate to
// sampling_frequency_index, we may make mistake.
- uint8_t samplingFrequencyIndex = (uint8_t)codec->sampling_frequency_index;
+ uint8_t samplingFrequencyIndex = (uint8_t)codec->sampling_frequency_index_;
if (samplingFrequencyIndex >= SrsAacSampleRateUnset) {
- switch (codec->sound_rate) {
+ switch (codec->sound_rate_) {
case SrsAudioSampleRate5512:
samplingFrequencyIndex = 0x0c;
break;
@@ -864,11 +864,11 @@ srs_error_t SrsRawAacStream::mux_aac2flv(char *frame, int nb_frame, SrsRawAacStr
{
srs_error_t err = srs_success;
- char sound_format = codec->sound_format;
- char sound_type = codec->sound_type;
- char sound_size = codec->sound_size;
- char sound_rate = codec->sound_rate;
- char aac_packet_type = codec->aac_packet_type;
+ char sound_format = codec->sound_format_;
+ char sound_type = codec->sound_type_;
+ char sound_size = codec->sound_size_;
+ char sound_rate = codec->sound_rate_;
+ char aac_packet_type = codec->aac_packet_type_;
// for audio frame, there is 1 or 2 bytes header:
// 1bytes, SoundFormat|SoundRate|SoundSize|SoundType
diff --git a/trunk/src/protocol/srs_protocol_raw_avc.hpp b/trunk/src/protocol/srs_protocol_raw_avc.hpp
index d0a3b43ae04..f181457a4ed 100644
--- a/trunk/src/protocol/srs_protocol_raw_avc.hpp
+++ b/trunk/src/protocol/srs_protocol_raw_avc.hpp
@@ -110,19 +110,19 @@ class SrsRawHEVCStream
// The header of adts sample.
struct SrsRawAacStreamCodec {
// Codec level informations.
- int8_t protection_absent;
- SrsAacObjectType aac_object;
- int8_t sampling_frequency_index;
- int8_t channel_configuration;
- int16_t frame_length;
+ int8_t protection_absent_;
+ SrsAacObjectType aac_object_;
+ int8_t sampling_frequency_index_;
+ int8_t channel_configuration_;
+ int16_t frame_length_;
// Format level, RTMP as such, informations.
- char sound_format;
- char sound_rate;
- char sound_size;
- char sound_type;
+ char sound_format_;
+ char sound_rate_;
+ char sound_size_;
+ char sound_type_;
// 0 for sh; 1 for raw data.
- int8_t aac_packet_type;
+ int8_t aac_packet_type_;
};
// The raw aac stream, in adts.
diff --git a/trunk/src/protocol/srs_protocol_rtc_stun.cpp b/trunk/src/protocol/srs_protocol_rtc_stun.cpp
index f682db5609c..3b40b117b93 100644
--- a/trunk/src/protocol/srs_protocol_rtc_stun.cpp
+++ b/trunk/src/protocol/srs_protocol_rtc_stun.cpp
@@ -109,14 +109,14 @@ static srs_error_t hmac_encode(const std::string &algo, const char *key, const i
SrsStunPacket::SrsStunPacket()
{
- message_type = 0;
- local_ufrag = "";
- remote_ufrag = "";
- use_candidate = false;
- ice_controlled = false;
- ice_controlling = false;
- mapped_port = 0;
- mapped_address = 0;
+ message_type_ = 0;
+ local_ufrag_ = "";
+ remote_ufrag_ = "";
+ use_candidate_ = false;
+ ice_controlled_ = false;
+ ice_controlling_ = false;
+ mapped_port_ = 0;
+ mapped_address_ = 0;
}
SrsStunPacket::~SrsStunPacket()
@@ -125,92 +125,92 @@ SrsStunPacket::~SrsStunPacket()
bool SrsStunPacket::is_binding_request() const
{
- return message_type == BindingRequest;
+ return message_type_ == BindingRequest;
}
bool SrsStunPacket::is_binding_response() const
{
- return message_type == BindingResponse;
+ return message_type_ == BindingResponse;
}
uint16_t SrsStunPacket::get_message_type() const
{
- return message_type;
+ return message_type_;
}
std::string SrsStunPacket::get_username() const
{
- return username;
+ return username_;
}
std::string SrsStunPacket::get_local_ufrag() const
{
- return local_ufrag;
+ return local_ufrag_;
}
std::string SrsStunPacket::get_remote_ufrag() const
{
- return remote_ufrag;
+ return remote_ufrag_;
}
std::string SrsStunPacket::get_transcation_id() const
{
- return transcation_id;
+ return transcation_id_;
}
uint32_t SrsStunPacket::get_mapped_address() const
{
- return mapped_address;
+ return mapped_address_;
}
uint16_t SrsStunPacket::get_mapped_port() const
{
- return mapped_port;
+ return mapped_port_;
}
bool SrsStunPacket::get_ice_controlled() const
{
- return ice_controlled;
+ return ice_controlled_;
}
bool SrsStunPacket::get_ice_controlling() const
{
- return ice_controlling;
+ return ice_controlling_;
}
bool SrsStunPacket::get_use_candidate() const
{
- return use_candidate;
+ return use_candidate_;
}
void SrsStunPacket::set_message_type(const uint16_t &m)
{
- message_type = m;
+ message_type_ = m;
}
void SrsStunPacket::set_local_ufrag(const std::string &u)
{
- local_ufrag = u;
+ local_ufrag_ = u;
}
void SrsStunPacket::set_remote_ufrag(const std::string &u)
{
- remote_ufrag = u;
+ remote_ufrag_ = u;
}
void SrsStunPacket::set_transcation_id(const std::string &t)
{
- transcation_id = t;
+ transcation_id_ = t;
}
void SrsStunPacket::set_mapped_address(const uint32_t &addr)
{
- mapped_address = addr;
+ mapped_address_ = addr;
}
void SrsStunPacket::set_mapped_port(const uint32_t &port)
{
- mapped_port = port;
+ mapped_port_ = port;
}
srs_error_t SrsStunPacket::decode(const char *buf, const int nb_buf)
@@ -223,10 +223,10 @@ srs_error_t SrsStunPacket::decode(const char *buf, const int nb_buf)
return srs_error_new(ERROR_RTC_STUN, "invalid stun packet, size=%d", stream->size());
}
- message_type = stream->read_2bytes();
+ message_type_ = stream->read_2bytes();
uint16_t message_len = stream->read_2bytes();
string magic_cookie = stream->read_string(4);
- transcation_id = stream->read_string(12);
+ transcation_id_ = stream->read_string(12);
if (nb_buf != 20 + message_len) {
return srs_error_new(ERROR_RTC_STUN, "invalid stun packet, message_len=%d, nb_buf=%d", message_len, nb_buf);
@@ -248,18 +248,18 @@ srs_error_t SrsStunPacket::decode(const char *buf, const int nb_buf)
switch (type) {
case Username: {
- username = val;
+ username_ = val;
size_t p = val.find(":");
if (p != string::npos) {
- local_ufrag = val.substr(0, p);
- remote_ufrag = val.substr(p + 1);
- srs_verbose("stun packet local_ufrag=%s, remote_ufrag=%s", local_ufrag.c_str(), remote_ufrag.c_str());
+ local_ufrag_ = val.substr(0, p);
+ remote_ufrag_ = val.substr(p + 1);
+ srs_verbose("stun packet local_ufrag=%s, remote_ufrag=%s", local_ufrag_.c_str(), remote_ufrag_.c_str());
}
break;
}
case UseCandidate: {
- use_candidate = true;
+ use_candidate_ = true;
srs_verbose("stun use-candidate");
break;
}
@@ -270,13 +270,13 @@ srs_error_t SrsStunPacket::decode(const char *buf, const int nb_buf)
// agent will form check lists, run the ICE state machines, and
// generate connectivity checks.
case IceControlled: {
- ice_controlled = true;
+ ice_controlled_ = true;
srs_verbose("stun ice-controlled");
break;
}
case IceControlling: {
- ice_controlling = true;
+ ice_controlling_ = true;
srs_verbose("stun ice-controlling");
break;
}
@@ -311,7 +311,7 @@ srs_error_t SrsStunPacket::encode_binding_response(const string &pwd, SrsBuffer
stream->write_2bytes(BindingResponse);
stream->write_2bytes(property_username.size() + mapped_address.size());
stream->write_4bytes(kStunMagicCookie);
- stream->write_string(transcation_id);
+ stream->write_string(transcation_id_);
stream->write_string(property_username);
stream->write_string(mapped_address);
@@ -347,7 +347,7 @@ string SrsStunPacket::encode_username()
char buf[1460];
SrsUniquePtr stream(new SrsBuffer(buf, sizeof(buf)));
- string username = remote_ufrag + ":" + local_ufrag;
+ string username = remote_ufrag_ + ":" + local_ufrag_;
stream->write_2bytes(Username);
stream->write_2bytes(username.size());
@@ -370,8 +370,8 @@ string SrsStunPacket::encode_mapped_address()
stream->write_2bytes(8);
stream->write_1bytes(0); // ignore this bytes
stream->write_1bytes(1); // ipv4 family
- stream->write_2bytes(mapped_port ^ (kStunMagicCookie >> 16));
- stream->write_4bytes(mapped_address ^ kStunMagicCookie);
+ stream->write_2bytes(mapped_port_ ^ (kStunMagicCookie >> 16));
+ stream->write_4bytes(mapped_address_ ^ kStunMagicCookie);
return string(stream->data(), stream->pos());
}
diff --git a/trunk/src/protocol/srs_protocol_rtc_stun.hpp b/trunk/src/protocol/srs_protocol_rtc_stun.hpp
index 95f393a1985..26b6493555b 100644
--- a/trunk/src/protocol/srs_protocol_rtc_stun.hpp
+++ b/trunk/src/protocol/srs_protocol_rtc_stun.hpp
@@ -60,16 +60,16 @@ enum SrsStunMessageAttribute {
class SrsStunPacket
{
private:
- uint16_t message_type;
- std::string username;
- std::string local_ufrag;
- std::string remote_ufrag;
- std::string transcation_id;
- uint32_t mapped_address;
- uint16_t mapped_port;
- bool use_candidate;
- bool ice_controlled;
- bool ice_controlling;
+ uint16_t message_type_;
+ std::string username_;
+ std::string local_ufrag_;
+ std::string remote_ufrag_;
+ std::string transcation_id_;
+ uint32_t mapped_address_;
+ uint16_t mapped_port_;
+ bool use_candidate_;
+ bool ice_controlled_;
+ bool ice_controlling_;
public:
SrsStunPacket();
diff --git a/trunk/src/protocol/srs_protocol_rtmp_conn.cpp b/trunk/src/protocol/srs_protocol_rtmp_conn.cpp
index fd834608639..c9e15317e38 100644
--- a/trunk/src/protocol/srs_protocol_rtmp_conn.cpp
+++ b/trunk/src/protocol/srs_protocol_rtmp_conn.cpp
@@ -17,35 +17,35 @@ using namespace std;
SrsBasicRtmpClient::SrsBasicRtmpClient(string r, srs_utime_t ctm, srs_utime_t stm)
{
- kbps = new SrsNetworkKbps();
+ kbps_ = new SrsNetworkKbps();
- url = r;
- connect_timeout = ctm;
- stream_timeout = stm;
+ url_ = r;
+ connect_timeout_ = ctm;
+ stream_timeout_ = stm;
- req = new SrsRequest();
- srs_net_url_parse_rtmp_url(url, req->tcUrl, req->stream);
- srs_net_url_parse_tcurl(req->tcUrl, req->schema, req->host, req->vhost, req->app, req->stream, req->port, req->param);
+ req_ = new SrsRequest();
+ srs_net_url_parse_rtmp_url(url_, req_->tcUrl_, req_->stream_);
+ srs_net_url_parse_tcurl(req_->tcUrl_, req_->schema_, req_->host_, req_->vhost_, req_->app_, req_->stream_, req_->port_, req_->param_);
- transport = NULL;
- client = NULL;
+ transport_ = NULL;
+ client_ = NULL;
- stream_id = 0;
+ stream_id_ = 0;
}
SrsBasicRtmpClient::~SrsBasicRtmpClient()
{
close();
- srs_freep(kbps);
- srs_freep(req);
+ srs_freep(kbps_);
+ srs_freep(req_);
}
SrsAmf0Object *SrsBasicRtmpClient::extra_args()
{
- if (req->args == NULL) {
- req->args = SrsAmf0Any::object();
+ if (req_->args_ == NULL) {
+ req_->args_ = SrsAmf0Any::object();
}
- return req->args;
+ return req_->args_;
}
srs_error_t SrsBasicRtmpClient::connect()
@@ -54,27 +54,27 @@ srs_error_t SrsBasicRtmpClient::connect()
close();
- transport = new SrsTcpClient(req->host, req->port, srs_utime_t(connect_timeout));
- client = new SrsRtmpClient(transport);
- kbps->set_io(transport, transport);
+ transport_ = new SrsTcpClient(req_->host_, req_->port_, srs_utime_t(connect_timeout_));
+ client_ = new SrsRtmpClient(transport_);
+ kbps_->set_io(transport_, transport_);
- if ((err = transport->connect()) != srs_success) {
+ if ((err = transport_->connect()) != srs_success) {
close();
return srs_error_wrap(err, "connect");
}
- client->set_recv_timeout(stream_timeout);
- client->set_send_timeout(stream_timeout);
+ client_->set_recv_timeout(stream_timeout_);
+ client_->set_send_timeout(stream_timeout_);
// connect to vhost/app
- if ((err = client->handshake()) != srs_success) {
+ if ((err = client_->handshake()) != srs_success) {
return srs_error_wrap(err, "handshake");
}
if ((err = connect_app()) != srs_success) {
return srs_error_wrap(err, "connect app");
}
- if ((err = client->create_stream(stream_id)) != srs_success) {
- return srs_error_wrap(err, "create stream_id=%d", stream_id);
+ if ((err = client_->create_stream(stream_id_)) != srs_success) {
+ return srs_error_wrap(err, "create stream_id=%d", stream_id_);
}
return err;
@@ -82,9 +82,9 @@ srs_error_t SrsBasicRtmpClient::connect()
void SrsBasicRtmpClient::close()
{
- kbps->set_io(NULL, NULL);
- srs_freep(client);
- srs_freep(transport);
+ kbps_->set_io(NULL, NULL);
+ srs_freep(client_);
+ srs_freep(transport_);
}
srs_error_t SrsBasicRtmpClient::connect_app()
@@ -112,17 +112,17 @@ srs_error_t SrsBasicRtmpClient::do_connect_app(string local_ip, bool debug)
// generate the tcUrl
std::string param = "";
- std::string target_vhost = req->vhost;
- std::string tc_url = srs_net_url_encode_tcurl("rtmp", req->host, req->vhost, req->app, req->port);
+ std::string target_vhost = req_->vhost_;
+ std::string tc_url = srs_net_url_encode_tcurl("rtmp", req_->host_, req_->vhost_, req_->app_, req_->port_);
// replace the tcUrl in request,
// which will replace the tc_url in client.connect_app().
- req->tcUrl = tc_url;
+ req_->tcUrl_ = tc_url;
// upnode server identity will show in the connect_app of client.
// the debug_srs_upnode is config in vhost and default to true.
SrsServerInfo si;
- if ((err = client->connect_app(req->app, tc_url, req, debug, &si)) != srs_success) {
+ if ((err = client_->connect_app(req_->app_, tc_url, req_, debug, &si)) != srs_success) {
return srs_error_wrap(err, "connect app tcUrl=%s, debug=%d", tc_url.c_str(), debug);
}
@@ -134,7 +134,7 @@ srs_error_t SrsBasicRtmpClient::publish(int chunk_size, bool with_vhost, std::st
srs_error_t err = srs_success;
// Pass params in stream, @see https://github.com/ossrs/srs/issues/1031#issuecomment-409745733
- string stream = srs_net_url_encode_stream(req->host, req->vhost, req->stream, req->param, with_vhost);
+ string stream = srs_net_url_encode_stream(req_->host_, req_->vhost_, req_->stream_, req_->param_, with_vhost);
// Return the generated stream.
if (pstream) {
@@ -142,8 +142,8 @@ srs_error_t SrsBasicRtmpClient::publish(int chunk_size, bool with_vhost, std::st
}
// publish.
- if ((err = client->publish(stream, stream_id, chunk_size)) != srs_success) {
- return srs_error_wrap(err, "publish failed, stream=%s, stream_id=%d", stream.c_str(), stream_id);
+ if ((err = client_->publish(stream, stream_id_, chunk_size)) != srs_success) {
+ return srs_error_wrap(err, "publish failed, stream=%s, stream_id=%d", stream.c_str(), stream_id_);
}
return err;
@@ -154,15 +154,15 @@ srs_error_t SrsBasicRtmpClient::play(int chunk_size, bool with_vhost, std::strin
srs_error_t err = srs_success;
// Pass params in stream, @see https://github.com/ossrs/srs/issues/1031#issuecomment-409745733
- string stream = srs_net_url_encode_stream(req->host, req->vhost, req->stream, req->param, with_vhost);
+ string stream = srs_net_url_encode_stream(req_->host_, req_->vhost_, req_->stream_, req_->param_, with_vhost);
// Return the generated stream.
if (pstream) {
*pstream = stream;
}
- if ((err = client->play(stream, stream_id, chunk_size)) != srs_success) {
- return srs_error_wrap(err, "connect with server failed, stream=%s, stream_id=%d", stream.c_str(), stream_id);
+ if ((err = client_->play(stream, stream_id_, chunk_size)) != srs_success) {
+ return srs_error_wrap(err, "connect with server failed, stream=%s, stream_id=%d", stream.c_str(), stream_id_);
}
return err;
@@ -170,58 +170,58 @@ srs_error_t SrsBasicRtmpClient::play(int chunk_size, bool with_vhost, std::strin
void SrsBasicRtmpClient::kbps_sample(const char *label, srs_utime_t age)
{
- kbps->sample();
+ kbps_->sample();
- int sr = kbps->get_send_kbps();
- int sr30s = kbps->get_send_kbps_30s();
- int sr5m = kbps->get_send_kbps_5m();
- int rr = kbps->get_recv_kbps();
- int rr30s = kbps->get_recv_kbps_30s();
- int rr5m = kbps->get_recv_kbps_5m();
+ int sr = kbps_->get_send_kbps();
+ int sr30s = kbps_->get_send_kbps_30s();
+ int sr5m = kbps_->get_send_kbps_5m();
+ int rr = kbps_->get_recv_kbps();
+ int rr30s = kbps_->get_recv_kbps_30s();
+ int rr5m = kbps_->get_recv_kbps_5m();
srs_trace("<- %s time=%" PRId64 ", okbps=%d,%d,%d, ikbps=%d,%d,%d", label, srsu2ms(age), sr, sr30s, sr5m, rr, rr30s, rr5m);
}
void SrsBasicRtmpClient::kbps_sample(const char *label, srs_utime_t age, int msgs)
{
- kbps->sample();
+ kbps_->sample();
- int sr = kbps->get_send_kbps();
- int sr30s = kbps->get_send_kbps_30s();
- int sr5m = kbps->get_send_kbps_5m();
- int rr = kbps->get_recv_kbps();
- int rr30s = kbps->get_recv_kbps_30s();
- int rr5m = kbps->get_recv_kbps_5m();
+ int sr = kbps_->get_send_kbps();
+ int sr30s = kbps_->get_send_kbps_30s();
+ int sr5m = kbps_->get_send_kbps_5m();
+ int rr = kbps_->get_recv_kbps();
+ int rr30s = kbps_->get_recv_kbps_30s();
+ int rr5m = kbps_->get_recv_kbps_5m();
srs_trace("<- %s time=%" PRId64 ", msgs=%d, okbps=%d,%d,%d, ikbps=%d,%d,%d", label, srsu2ms(age), msgs, sr, sr30s, sr5m, rr, rr30s, rr5m);
}
int SrsBasicRtmpClient::sid()
{
- return stream_id;
+ return stream_id_;
}
srs_error_t SrsBasicRtmpClient::recv_message(SrsRtmpCommonMessage **pmsg)
{
- return client->recv_message(pmsg);
+ return client_->recv_message(pmsg);
}
srs_error_t SrsBasicRtmpClient::decode_message(SrsRtmpCommonMessage *msg, SrsRtmpCommand **ppacket)
{
- return client->decode_message(msg, ppacket);
+ return client_->decode_message(msg, ppacket);
}
srs_error_t SrsBasicRtmpClient::send_and_free_messages(SrsMediaPacket **msgs, int nb_msgs)
{
- return client->send_and_free_messages(msgs, nb_msgs, stream_id);
+ return client_->send_and_free_messages(msgs, nb_msgs, stream_id_);
}
srs_error_t SrsBasicRtmpClient::send_and_free_message(SrsMediaPacket *msg)
{
- return client->send_and_free_message(msg, stream_id);
+ return client_->send_and_free_message(msg, stream_id_);
}
void SrsBasicRtmpClient::set_recv_timeout(srs_utime_t timeout)
{
- transport->set_recv_timeout(timeout);
+ transport_->set_recv_timeout(timeout);
}
diff --git a/trunk/src/protocol/srs_protocol_rtmp_conn.hpp b/trunk/src/protocol/srs_protocol_rtmp_conn.hpp
index 7402e553750..7073ef783f7 100644
--- a/trunk/src/protocol/srs_protocol_rtmp_conn.hpp
+++ b/trunk/src/protocol/srs_protocol_rtmp_conn.hpp
@@ -31,18 +31,18 @@ class SrsAmf0Object;
class SrsBasicRtmpClient
{
private:
- std::string url;
- srs_utime_t connect_timeout;
- srs_utime_t stream_timeout;
+ std::string url_;
+ srs_utime_t connect_timeout_;
+ srs_utime_t stream_timeout_;
protected:
- ISrsRequest *req;
+ ISrsRequest *req_;
private:
- SrsTcpClient *transport;
- SrsRtmpClient *client;
- SrsNetworkKbps *kbps;
- int stream_id;
+ SrsTcpClient *transport_;
+ SrsRtmpClient *client_;
+ SrsNetworkKbps *kbps_;
+ int stream_id_;
public:
// Constructor.
diff --git a/trunk/src/protocol/srs_protocol_rtmp_handshake.cpp b/trunk/src/protocol/srs_protocol_rtmp_handshake.cpp
index 9ee46b4b7a7..5b55d582b57 100644
--- a/trunk/src/protocol/srs_protocol_rtmp_handshake.cpp
+++ b/trunk/src/protocol/srs_protocol_rtmp_handshake.cpp
@@ -331,39 +331,39 @@ srs_error_t SrsDH::do_initialize()
return err;
}
-key_block::key_block()
+SrsKeyBlock::SrsKeyBlock()
{
- offset = (int32_t)srs_rand_integer();
- random0 = NULL;
- random1 = NULL;
+ offset_ = (int32_t)srs_rand_integer();
+ random0_ = NULL;
+ random1_ = NULL;
int valid_offset = calc_valid_offset();
srs_assert(valid_offset >= 0);
- random0_size = valid_offset;
- if (random0_size > 0) {
- random0 = new char[random0_size];
- srs_rand_gen_bytes(random0, random0_size);
- snprintf(random0, random0_size, "%s", RTMP_SIG_SRS_HANDSHAKE);
+ random0_size_ = valid_offset;
+ if (random0_size_ > 0) {
+ random0_ = new char[random0_size_];
+ srs_rand_gen_bytes(random0_, random0_size_);
+ snprintf(random0_, random0_size_, "%s", RTMP_SIG_SRS_HANDSHAKE);
}
- srs_rand_gen_bytes(key, sizeof(key));
+ srs_rand_gen_bytes(key_, sizeof(key_));
- random1_size = 764 - valid_offset - 128 - 4;
- if (random1_size > 0) {
- random1 = new char[random1_size];
- srs_rand_gen_bytes(random1, random1_size);
- snprintf(random1, random1_size, "%s", RTMP_SIG_SRS_HANDSHAKE);
+ random1_size_ = 764 - valid_offset - 128 - 4;
+ if (random1_size_ > 0) {
+ random1_ = new char[random1_size_];
+ srs_rand_gen_bytes(random1_, random1_size_);
+ snprintf(random1_, random1_size_, "%s", RTMP_SIG_SRS_HANDSHAKE);
}
}
-key_block::~key_block()
+SrsKeyBlock::~SrsKeyBlock()
{
- srs_freepa(random0);
- srs_freepa(random1);
+ srs_freepa(random0_);
+ srs_freepa(random1_);
}
-srs_error_t key_block::parse(SrsBuffer *stream)
+srs_error_t SrsKeyBlock::parse(SrsBuffer *stream)
{
srs_error_t err = srs_success;
@@ -372,7 +372,7 @@ srs_error_t key_block::parse(SrsBuffer *stream)
// read the last offset first, 760-763
stream->skip(764 - sizeof(int32_t));
- offset = stream->read_4bytes();
+ offset_ = stream->read_4bytes();
// reset stream to read others.
stream->skip(-764);
@@ -380,31 +380,31 @@ srs_error_t key_block::parse(SrsBuffer *stream)
int valid_offset = calc_valid_offset();
srs_assert(valid_offset >= 0);
- random0_size = valid_offset;
- if (random0_size > 0) {
- srs_freepa(random0);
- random0 = new char[random0_size];
- stream->read_bytes(random0, random0_size);
+ random0_size_ = valid_offset;
+ if (random0_size_ > 0) {
+ srs_freepa(random0_);
+ random0_ = new char[random0_size_];
+ stream->read_bytes(random0_, random0_size_);
}
- stream->read_bytes(key, 128);
+ stream->read_bytes(key_, 128);
- random1_size = 764 - valid_offset - 128 - 4;
- if (random1_size > 0) {
- srs_freepa(random1);
- random1 = new char[random1_size];
- stream->read_bytes(random1, random1_size);
+ random1_size_ = 764 - valid_offset - 128 - 4;
+ if (random1_size_ > 0) {
+ srs_freepa(random1_);
+ random1_ = new char[random1_size_];
+ stream->read_bytes(random1_, random1_size_);
}
return err;
}
-int key_block::calc_valid_offset()
+int SrsKeyBlock::calc_valid_offset()
{
int max_offset_size = 764 - 128 - 4;
int valid_offset = 0;
- uint8_t *pp = (uint8_t *)&offset;
+ uint8_t *pp = (uint8_t *)&offset_;
valid_offset += *pp++;
valid_offset += *pp++;
valid_offset += *pp++;
@@ -413,75 +413,75 @@ int key_block::calc_valid_offset()
return valid_offset % max_offset_size;
}
-digest_block::digest_block()
+SrsDigestBlock::SrsDigestBlock()
{
- offset = (int32_t)srs_rand_integer();
- random0 = NULL;
- random1 = NULL;
+ offset_ = (int32_t)srs_rand_integer();
+ random0_ = NULL;
+ random1_ = NULL;
int valid_offset = calc_valid_offset();
srs_assert(valid_offset >= 0);
- random0_size = valid_offset;
- if (random0_size > 0) {
- random0 = new char[random0_size];
- srs_rand_gen_bytes(random0, random0_size);
- snprintf(random0, random0_size, "%s", RTMP_SIG_SRS_HANDSHAKE);
+ random0_size_ = valid_offset;
+ if (random0_size_ > 0) {
+ random0_ = new char[random0_size_];
+ srs_rand_gen_bytes(random0_, random0_size_);
+ snprintf(random0_, random0_size_, "%s", RTMP_SIG_SRS_HANDSHAKE);
}
- srs_rand_gen_bytes(digest, sizeof(digest));
+ srs_rand_gen_bytes(digest_, sizeof(digest_));
- random1_size = 764 - 4 - valid_offset - 32;
- if (random1_size > 0) {
- random1 = new char[random1_size];
- srs_rand_gen_bytes(random1, random1_size);
- snprintf(random1, random1_size, "%s", RTMP_SIG_SRS_HANDSHAKE);
+ random1_size_ = 764 - 4 - valid_offset - 32;
+ if (random1_size_ > 0) {
+ random1_ = new char[random1_size_];
+ srs_rand_gen_bytes(random1_, random1_size_);
+ snprintf(random1_, random1_size_, "%s", RTMP_SIG_SRS_HANDSHAKE);
}
}
-digest_block::~digest_block()
+SrsDigestBlock::~SrsDigestBlock()
{
- srs_freepa(random0);
- srs_freepa(random1);
+ srs_freepa(random0_);
+ srs_freepa(random1_);
}
-srs_error_t digest_block::parse(SrsBuffer *stream)
+srs_error_t SrsDigestBlock::parse(SrsBuffer *stream)
{
srs_error_t err = srs_success;
// the digest must be 764 bytes.
srs_assert(stream->require(764));
- offset = stream->read_4bytes();
+ offset_ = stream->read_4bytes();
int valid_offset = calc_valid_offset();
srs_assert(valid_offset >= 0);
- random0_size = valid_offset;
- if (random0_size > 0) {
- srs_freepa(random0);
- random0 = new char[random0_size];
- stream->read_bytes(random0, random0_size);
+ random0_size_ = valid_offset;
+ if (random0_size_ > 0) {
+ srs_freepa(random0_);
+ random0_ = new char[random0_size_];
+ stream->read_bytes(random0_, random0_size_);
}
- stream->read_bytes(digest, 32);
+ stream->read_bytes(digest_, 32);
- random1_size = 764 - 4 - valid_offset - 32;
- if (random1_size > 0) {
- srs_freepa(random1);
- random1 = new char[random1_size];
- stream->read_bytes(random1, random1_size);
+ random1_size_ = 764 - 4 - valid_offset - 32;
+ if (random1_size_ > 0) {
+ srs_freepa(random1_);
+ random1_ = new char[random1_size_];
+ stream->read_bytes(random1_, random1_size_);
}
return err;
}
-int digest_block::calc_valid_offset()
+int SrsDigestBlock::calc_valid_offset()
{
int max_offset_size = 764 - 32 - 4;
int valid_offset = 0;
- uint8_t *pp = (uint8_t *)&offset;
+ uint8_t *pp = (uint8_t *)&offset_;
valid_offset += *pp++;
valid_offset += *pp++;
valid_offset += *pp++;
@@ -490,31 +490,31 @@ int digest_block::calc_valid_offset()
return valid_offset % max_offset_size;
}
-c1s1_strategy::c1s1_strategy()
+SrsC1S1Strategy::SrsC1S1Strategy()
{
}
-c1s1_strategy::~c1s1_strategy()
+SrsC1S1Strategy::~SrsC1S1Strategy()
{
}
-char *c1s1_strategy::get_digest()
+char *SrsC1S1Strategy::get_digest()
{
- return digest.digest;
+ return digest_.digest_;
}
-char *c1s1_strategy::get_key()
+char *SrsC1S1Strategy::get_key()
{
- return key.key;
+ return key_.key_;
}
-srs_error_t c1s1_strategy::dump(c1s1 *owner, char *_c1s1, int size)
+srs_error_t SrsC1S1Strategy::dump(SrsC1S1 *owner, char *_c1s1, int size)
{
srs_assert(size == 1536);
return copy_to(owner, _c1s1, size, true);
}
-srs_error_t c1s1_strategy::c1_create(c1s1 *owner)
+srs_error_t SrsC1S1Strategy::c1_create(SrsC1S1 *owner)
{
srs_error_t err = srs_success;
@@ -528,12 +528,12 @@ srs_error_t c1s1_strategy::c1_create(c1s1 *owner)
srs_assert(c1_digest_raw != NULL);
SrsUniquePtr c1_digest(c1_digest_raw);
- memcpy(digest.digest, c1_digest.get(), 32);
+ memcpy(digest_.digest_, c1_digest.get(), 32);
return err;
}
-srs_error_t c1s1_strategy::c1_validate_digest(c1s1 *owner, bool &is_valid)
+srs_error_t SrsC1S1Strategy::c1_validate_digest(SrsC1S1 *owner, bool &is_valid)
{
srs_error_t err = srs_success;
@@ -546,12 +546,12 @@ srs_error_t c1s1_strategy::c1_validate_digest(c1s1 *owner, bool &is_valid)
srs_assert(c1_digest_raw != NULL);
SrsUniquePtr c1_digest(c1_digest_raw);
- is_valid = srs_bytes_equal(digest.digest, c1_digest.get(), 32);
+ is_valid = srs_bytes_equal(digest_.digest_, c1_digest.get(), 32);
return err;
}
-srs_error_t c1s1_strategy::s1_create(c1s1 *owner, c1s1 *c1)
+srs_error_t SrsC1S1Strategy::s1_create(SrsC1S1 *owner, SrsC1S1 *c1)
{
srs_error_t err = srs_success;
@@ -564,7 +564,7 @@ srs_error_t c1s1_strategy::s1_create(c1s1 *owner, c1s1 *c1)
// directly generate the public key.
int pkey_size = 128;
- if ((err = dh.copy_shared_key(c1->get_key(), 128, key.key, pkey_size)) != srs_success) {
+ if ((err = dh.copy_shared_key(c1->get_key(), 128, key_.key_, pkey_size)) != srs_success) {
return srs_error_wrap(err, "copy shared key");
}
@@ -581,12 +581,12 @@ srs_error_t c1s1_strategy::s1_create(c1s1 *owner, c1s1 *c1)
srs_assert(s1_digest_raw != NULL);
SrsUniquePtr s1_digest(s1_digest_raw);
- memcpy(digest.digest, s1_digest.get(), 32);
+ memcpy(digest_.digest_, s1_digest.get(), 32);
return err;
}
-srs_error_t c1s1_strategy::s1_validate_digest(c1s1 *owner, bool &is_valid)
+srs_error_t SrsC1S1Strategy::s1_validate_digest(SrsC1S1 *owner, bool &is_valid)
{
srs_error_t err = srs_success;
@@ -599,12 +599,12 @@ srs_error_t c1s1_strategy::s1_validate_digest(c1s1 *owner, bool &is_valid)
srs_assert(s1_digest_raw != NULL);
SrsUniquePtr s1_digest(s1_digest_raw);
- is_valid = srs_bytes_equal(digest.digest, s1_digest.get(), 32);
+ is_valid = srs_bytes_equal(digest_.digest_, s1_digest.get(), 32);
return err;
}
-srs_error_t c1s1_strategy::calc_c1_digest(c1s1 *owner, char *&c1_digest)
+srs_error_t SrsC1S1Strategy::calc_c1_digest(SrsC1S1 *owner, char *&c1_digest)
{
srs_error_t err = srs_success;
@@ -627,7 +627,7 @@ srs_error_t c1s1_strategy::calc_c1_digest(c1s1 *owner, char *&c1_digest)
return err;
}
-srs_error_t c1s1_strategy::calc_s1_digest(c1s1 *owner, char *&s1_digest)
+srs_error_t SrsC1S1Strategy::calc_s1_digest(SrsC1S1 *owner, char *&s1_digest)
{
srs_error_t err = srs_success;
@@ -650,43 +650,43 @@ srs_error_t c1s1_strategy::calc_s1_digest(c1s1 *owner, char *&s1_digest)
return err;
}
-void c1s1_strategy::copy_time_version(SrsBuffer *stream, c1s1 *owner)
+void SrsC1S1Strategy::copy_time_version(SrsBuffer *stream, SrsC1S1 *owner)
{
srs_assert(stream->require(8));
// 4bytes time
- stream->write_4bytes(owner->time);
+ stream->write_4bytes(owner->time_);
// 4bytes version
- stream->write_4bytes(owner->version);
+ stream->write_4bytes(owner->version_);
}
-void c1s1_strategy::copy_key(SrsBuffer *stream)
+void SrsC1S1Strategy::copy_key(SrsBuffer *stream)
{
- srs_assert(key.random0_size >= 0);
- srs_assert(key.random1_size >= 0);
+ srs_assert(key_.random0_size_ >= 0);
+ srs_assert(key_.random1_size_ >= 0);
- int total = key.random0_size + 128 + key.random1_size + 4;
+ int total = key_.random0_size_ + 128 + key_.random1_size_ + 4;
srs_assert(stream->require(total));
// 764bytes key block
- if (key.random0_size > 0) {
- stream->write_bytes(key.random0, key.random0_size);
+ if (key_.random0_size_ > 0) {
+ stream->write_bytes(key_.random0_, key_.random0_size_);
}
- stream->write_bytes(key.key, 128);
+ stream->write_bytes(key_.key_, 128);
- if (key.random1_size > 0) {
- stream->write_bytes(key.random1, key.random1_size);
+ if (key_.random1_size_ > 0) {
+ stream->write_bytes(key_.random1_, key_.random1_size_);
}
- stream->write_4bytes(key.offset);
+ stream->write_4bytes(key_.offset_);
}
-void c1s1_strategy::copy_digest(SrsBuffer *stream, bool with_digest)
+void SrsC1S1Strategy::copy_digest(SrsBuffer *stream, bool with_digest)
{
- srs_assert(key.random0_size >= 0);
- srs_assert(key.random1_size >= 0);
+ srs_assert(key_.random0_size_ >= 0);
+ srs_assert(key_.random1_size_ >= 0);
- int total = 4 + digest.random0_size + digest.random1_size;
+ int total = 4 + digest_.random0_size_ + digest_.random1_size_;
if (with_digest) {
total += 32;
}
@@ -694,38 +694,38 @@ void c1s1_strategy::copy_digest(SrsBuffer *stream, bool with_digest)
// 732bytes digest block without the 32bytes digest-data
// nbytes digest block part1
- stream->write_4bytes(digest.offset);
+ stream->write_4bytes(digest_.offset_);
// digest random padding.
- if (digest.random0_size > 0) {
- stream->write_bytes(digest.random0, digest.random0_size);
+ if (digest_.random0_size_ > 0) {
+ stream->write_bytes(digest_.random0_, digest_.random0_size_);
}
// digest
if (with_digest) {
- stream->write_bytes(digest.digest, 32);
+ stream->write_bytes(digest_.digest_, 32);
}
// nbytes digest block part2
- if (digest.random1_size > 0) {
- stream->write_bytes(digest.random1, digest.random1_size);
+ if (digest_.random1_size_ > 0) {
+ stream->write_bytes(digest_.random1_, digest_.random1_size_);
}
}
-c1s1_strategy_schema0::c1s1_strategy_schema0()
+SrsC1S1StrategySchema0::SrsC1S1StrategySchema0()
{
}
-c1s1_strategy_schema0::~c1s1_strategy_schema0()
+SrsC1S1StrategySchema0::~SrsC1S1StrategySchema0()
{
}
-srs_schema_type c1s1_strategy_schema0::schema()
+srs_schema_type SrsC1S1StrategySchema0::schema()
{
return srs_schema0;
}
-srs_error_t c1s1_strategy_schema0::parse(char *_c1s1, int size)
+srs_error_t SrsC1S1StrategySchema0::parse(char *_c1s1, int size)
{
srs_error_t err = srs_success;
@@ -734,7 +734,7 @@ srs_error_t c1s1_strategy_schema0::parse(char *_c1s1, int size)
if (true) {
SrsBuffer stream(_c1s1 + 8, 764);
- if ((err = key.parse(&stream)) != srs_success) {
+ if ((err = key_.parse(&stream)) != srs_success) {
return srs_error_wrap(err, "parse the c1 key");
}
}
@@ -742,7 +742,7 @@ srs_error_t c1s1_strategy_schema0::parse(char *_c1s1, int size)
if (true) {
SrsBuffer stream(_c1s1 + 8 + 764, 764);
- if ((err = digest.parse(&stream)) != srs_success) {
+ if ((err = digest_.parse(&stream)) != srs_success) {
return srs_error_wrap(err, "parse the c1 digest");
}
}
@@ -750,7 +750,7 @@ srs_error_t c1s1_strategy_schema0::parse(char *_c1s1, int size)
return err;
}
-srs_error_t c1s1_strategy_schema0::copy_to(c1s1 *owner, char *bytes, int size, bool with_digest)
+srs_error_t SrsC1S1StrategySchema0::copy_to(SrsC1S1 *owner, char *bytes, int size, bool with_digest)
{
srs_error_t err = srs_success;
@@ -771,20 +771,20 @@ srs_error_t c1s1_strategy_schema0::copy_to(c1s1 *owner, char *bytes, int size, b
return err;
}
-c1s1_strategy_schema1::c1s1_strategy_schema1()
+SrsC1S1StrategySchema1::SrsC1S1StrategySchema1()
{
}
-c1s1_strategy_schema1::~c1s1_strategy_schema1()
+SrsC1S1StrategySchema1::~SrsC1S1StrategySchema1()
{
}
-srs_schema_type c1s1_strategy_schema1::schema()
+srs_schema_type SrsC1S1StrategySchema1::schema()
{
return srs_schema1;
}
-srs_error_t c1s1_strategy_schema1::parse(char *_c1s1, int size)
+srs_error_t SrsC1S1StrategySchema1::parse(char *_c1s1, int size)
{
srs_error_t err = srs_success;
@@ -793,7 +793,7 @@ srs_error_t c1s1_strategy_schema1::parse(char *_c1s1, int size)
if (true) {
SrsBuffer stream(_c1s1 + 8, 764);
- if ((err = digest.parse(&stream)) != srs_success) {
+ if ((err = digest_.parse(&stream)) != srs_success) {
return srs_error_wrap(err, "parse c1 digest");
}
}
@@ -801,7 +801,7 @@ srs_error_t c1s1_strategy_schema1::parse(char *_c1s1, int size)
if (true) {
SrsBuffer stream(_c1s1 + 8 + 764, 764);
- if ((err = key.parse(&stream)) != srs_success) {
+ if ((err = key_.parse(&stream)) != srs_success) {
return srs_error_wrap(err, "parse c1 key");
}
}
@@ -809,7 +809,7 @@ srs_error_t c1s1_strategy_schema1::parse(char *_c1s1, int size)
return err;
}
-srs_error_t c1s1_strategy_schema1::copy_to(c1s1 *owner, char *bytes, int size, bool with_digest)
+srs_error_t SrsC1S1StrategySchema1::copy_to(SrsC1S1 *owner, char *bytes, int size, bool with_digest)
{
srs_error_t err = srs_success;
@@ -830,43 +830,43 @@ srs_error_t c1s1_strategy_schema1::copy_to(c1s1 *owner, char *bytes, int size, b
return err;
}
-c1s1::c1s1()
+SrsC1S1::SrsC1S1()
{
- payload = NULL;
- version = 0;
- time = 0;
+ payload_ = NULL;
+ version_ = 0;
+ time_ = 0;
}
-c1s1::~c1s1()
+SrsC1S1::~SrsC1S1()
{
- srs_freep(payload);
+ srs_freep(payload_);
}
-srs_schema_type c1s1::schema()
+srs_schema_type SrsC1S1::schema()
{
- srs_assert(payload != NULL);
- return payload->schema();
+ srs_assert(payload_ != NULL);
+ return payload_->schema();
}
-char *c1s1::get_digest()
+char *SrsC1S1::get_digest()
{
- srs_assert(payload != NULL);
- return payload->get_digest();
+ srs_assert(payload_ != NULL);
+ return payload_->get_digest();
}
-char *c1s1::get_key()
+char *SrsC1S1::get_key()
{
- srs_assert(payload != NULL);
- return payload->get_key();
+ srs_assert(payload_ != NULL);
+ return payload_->get_key();
}
-srs_error_t c1s1::dump(char *_c1s1, int size)
+srs_error_t SrsC1S1::dump(char *_c1s1, int size)
{
srs_assert(size == 1536);
- srs_assert(payload != NULL);
- return payload->dump(this, _c1s1, size);
+ srs_assert(payload_ != NULL);
+ return payload_->dump(this, _c1s1, size);
}
-srs_error_t c1s1::parse(char *_c1s1, int size, srs_schema_type schema)
+srs_error_t SrsC1S1::parse(char *_c1s1, int size, srs_schema_type schema)
{
srs_assert(size == 1536);
@@ -876,109 +876,109 @@ srs_error_t c1s1::parse(char *_c1s1, int size, srs_schema_type schema)
SrsBuffer stream(_c1s1, size);
- time = stream.read_4bytes();
- version = stream.read_4bytes(); // client c1 version
+ time_ = stream.read_4bytes();
+ version_ = stream.read_4bytes(); // client c1 version
- srs_freep(payload);
+ srs_freep(payload_);
if (schema == srs_schema0) {
- payload = new c1s1_strategy_schema0();
+ payload_ = new SrsC1S1StrategySchema0();
} else {
- payload = new c1s1_strategy_schema1();
+ payload_ = new SrsC1S1StrategySchema1();
}
- return payload->parse(_c1s1, size);
+ return payload_->parse(_c1s1, size);
}
-srs_error_t c1s1::c1_create(srs_schema_type schema)
+srs_error_t SrsC1S1::c1_create(srs_schema_type schema)
{
if (schema != srs_schema0 && schema != srs_schema1) {
return srs_error_new(ERROR_RTMP_CH_SCHEMA, "create c1 failed. invalid schema=%d", schema);
}
// client c1 time and version
- time = (int32_t)::time(NULL);
- version = 0x80000702; // client c1 version
+ time_ = (int32_t)::time(NULL);
+ version_ = 0x80000702; // client c1 version
// generate signature by schema
- srs_freep(payload);
+ srs_freep(payload_);
if (schema == srs_schema0) {
- payload = new c1s1_strategy_schema0();
+ payload_ = new SrsC1S1StrategySchema0();
} else {
- payload = new c1s1_strategy_schema1();
+ payload_ = new SrsC1S1StrategySchema1();
}
- return payload->c1_create(this);
+ return payload_->c1_create(this);
}
-srs_error_t c1s1::c1_validate_digest(bool &is_valid)
+srs_error_t SrsC1S1::c1_validate_digest(bool &is_valid)
{
is_valid = false;
- srs_assert(payload);
- return payload->c1_validate_digest(this, is_valid);
+ srs_assert(payload_);
+ return payload_->c1_validate_digest(this, is_valid);
}
-srs_error_t c1s1::s1_create(c1s1 *c1)
+srs_error_t SrsC1S1::s1_create(SrsC1S1 *c1)
{
if (c1->schema() != srs_schema0 && c1->schema() != srs_schema1) {
return srs_error_new(ERROR_RTMP_CH_SCHEMA, "create s1 failed. invalid schema=%d", c1->schema());
}
- time = ::time(NULL);
- version = 0x01000504; // server s1 version
+ time_ = ::time(NULL);
+ version_ = 0x01000504; // server s1 version
- srs_freep(payload);
+ srs_freep(payload_);
if (c1->schema() == srs_schema0) {
- payload = new c1s1_strategy_schema0();
+ payload_ = new SrsC1S1StrategySchema0();
} else {
- payload = new c1s1_strategy_schema1();
+ payload_ = new SrsC1S1StrategySchema1();
}
- return payload->s1_create(this, c1);
+ return payload_->s1_create(this, c1);
}
-srs_error_t c1s1::s1_validate_digest(bool &is_valid)
+srs_error_t SrsC1S1::s1_validate_digest(bool &is_valid)
{
is_valid = false;
- srs_assert(payload);
- return payload->s1_validate_digest(this, is_valid);
+ srs_assert(payload_);
+ return payload_->s1_validate_digest(this, is_valid);
}
-c2s2::c2s2()
+SrsC2S2::SrsC2S2()
{
- srs_rand_gen_bytes(random, 1504);
+ srs_rand_gen_bytes(random_, 1504);
- int size = snprintf(random, 1504, "%s", RTMP_SIG_SRS_HANDSHAKE);
+ int size = snprintf(random_, 1504, "%s", RTMP_SIG_SRS_HANDSHAKE);
srs_assert(size > 0 && size < 1504);
- snprintf(random + 1504 - size, size, "%s", RTMP_SIG_SRS_HANDSHAKE);
+ snprintf(random_ + 1504 - size, size, "%s", RTMP_SIG_SRS_HANDSHAKE);
- srs_rand_gen_bytes(digest, 32);
+ srs_rand_gen_bytes(digest_, 32);
}
-c2s2::~c2s2()
+SrsC2S2::~SrsC2S2()
{
}
-srs_error_t c2s2::dump(char *_c2s2, int size)
+srs_error_t SrsC2S2::dump(char *_c2s2, int size)
{
srs_assert(size == 1536);
- memcpy(_c2s2, random, 1504);
- memcpy(_c2s2 + 1504, digest, 32);
+ memcpy(_c2s2, random_, 1504);
+ memcpy(_c2s2 + 1504, digest_, 32);
return srs_success;
}
-srs_error_t c2s2::parse(char *_c2s2, int size)
+srs_error_t SrsC2S2::parse(char *_c2s2, int size)
{
srs_assert(size == 1536);
- memcpy(random, _c2s2, 1504);
- memcpy(digest, _c2s2 + 1504, 32);
+ memcpy(random_, _c2s2, 1504);
+ memcpy(digest_, _c2s2 + 1504, 32);
return srs_success;
}
-srs_error_t c2s2::c2_create(c1s1 *s1)
+srs_error_t SrsC2S2::c2_create(SrsC1S1 *s1)
{
srs_error_t err = srs_success;
@@ -988,16 +988,16 @@ srs_error_t c2s2::c2_create(c1s1 *s1)
}
char _digest[SRS_OpensslHashSize];
- if ((err = openssl_HMACsha256(temp_key, 32, random, 1504, _digest)) != srs_success) {
+ if ((err = openssl_HMACsha256(temp_key, 32, random_, 1504, _digest)) != srs_success) {
return srs_error_wrap(err, "create c2 digest");
}
- memcpy(digest, _digest, 32);
+ memcpy(digest_, _digest, 32);
return err;
}
-srs_error_t c2s2::c2_validate(c1s1 *s1, bool &is_valid)
+srs_error_t SrsC2S2::c2_validate(SrsC1S1 *s1, bool &is_valid)
{
is_valid = false;
srs_error_t err = srs_success;
@@ -1008,16 +1008,16 @@ srs_error_t c2s2::c2_validate(c1s1 *s1, bool &is_valid)
}
char _digest[SRS_OpensslHashSize];
- if ((err = openssl_HMACsha256(temp_key, 32, random, 1504, _digest)) != srs_success) {
+ if ((err = openssl_HMACsha256(temp_key, 32, random_, 1504, _digest)) != srs_success) {
return srs_error_wrap(err, "create c2 digest");
}
- is_valid = srs_bytes_equal(digest, _digest, 32);
+ is_valid = srs_bytes_equal(digest_, _digest, 32);
return err;
}
-srs_error_t c2s2::s2_create(c1s1 *c1)
+srs_error_t SrsC2S2::s2_create(SrsC1S1 *c1)
{
srs_error_t err = srs_success;
@@ -1027,16 +1027,16 @@ srs_error_t c2s2::s2_create(c1s1 *c1)
}
char _digest[SRS_OpensslHashSize];
- if ((err = openssl_HMACsha256(temp_key, 32, random, 1504, _digest)) != srs_success) {
+ if ((err = openssl_HMACsha256(temp_key, 32, random_, 1504, _digest)) != srs_success) {
return srs_error_wrap(err, "create s2 digest");
}
- memcpy(digest, _digest, 32);
+ memcpy(digest_, _digest, 32);
return err;
}
-srs_error_t c2s2::s2_validate(c1s1 *c1, bool &is_valid)
+srs_error_t SrsC2S2::s2_validate(SrsC1S1 *c1, bool &is_valid)
{
is_valid = false;
srs_error_t err = srs_success;
@@ -1047,11 +1047,11 @@ srs_error_t c2s2::s2_validate(c1s1 *c1, bool &is_valid)
}
char _digest[SRS_OpensslHashSize];
- if ((err = openssl_HMACsha256(temp_key, 32, random, 1504, _digest)) != srs_success) {
+ if ((err = openssl_HMACsha256(temp_key, 32, random_, 1504, _digest)) != srs_success) {
return srs_error_wrap(err, "create s2 digest");
}
- is_valid = srs_bytes_equal(digest, _digest, 32);
+ is_valid = srs_bytes_equal(digest_, _digest, 32);
return err;
}
@@ -1076,15 +1076,15 @@ srs_error_t SrsSimpleHandshake::handshake_with_client(SrsHandshakeBytes *hs_byte
}
// plain text required.
- if (hs_bytes->c0c1[0] != 0x03) {
- return srs_error_new(ERROR_RTMP_PLAIN_REQUIRED, "only support rtmp plain text, version=%X", (uint8_t)hs_bytes->c0c1[0]);
+ if (hs_bytes->c0c1_[0] != 0x03) {
+ return srs_error_new(ERROR_RTMP_PLAIN_REQUIRED, "only support rtmp plain text, version=%X", (uint8_t)hs_bytes->c0c1_[0]);
}
- if ((err = hs_bytes->create_s0s1s2(hs_bytes->c0c1 + 1)) != srs_success) {
+ if ((err = hs_bytes->create_s0s1s2(hs_bytes->c0c1_ + 1)) != srs_success) {
return srs_error_wrap(err, "create s0s1s2");
}
- if ((err = io->write(hs_bytes->s0s1s2, 3073, &nsize)) != srs_success) {
+ if ((err = io->write(hs_bytes->s0s1s2_, 3073, &nsize)) != srs_success) {
return srs_error_wrap(err, "write s0s1s2");
}
@@ -1108,7 +1108,7 @@ srs_error_t SrsSimpleHandshake::handshake_with_server(SrsHandshakeBytes *hs_byte
return srs_error_wrap(err, "create c0c1");
}
- if ((err = io->write(hs_bytes->c0c1, 1537, &nsize)) != srs_success) {
+ if ((err = io->write(hs_bytes->c0c1_, 1537, &nsize)) != srs_success) {
return srs_error_wrap(err, "write c0c1");
}
@@ -1117,8 +1117,8 @@ srs_error_t SrsSimpleHandshake::handshake_with_server(SrsHandshakeBytes *hs_byte
}
// plain text required.
- if (hs_bytes->s0s1s2[0] != 0x03) {
- return srs_error_new(ERROR_RTMP_HANDSHAKE, "handshake failed, plain text required, version=%X", (uint8_t)hs_bytes->s0s1s2[0]);
+ if (hs_bytes->s0s1s2_[0] != 0x03) {
+ return srs_error_new(ERROR_RTMP_HANDSHAKE, "handshake failed, plain text required, version=%X", (uint8_t)hs_bytes->s0s1s2_[0]);
}
if ((err = hs_bytes->create_c2()) != srs_success) {
@@ -1127,9 +1127,9 @@ srs_error_t SrsSimpleHandshake::handshake_with_server(SrsHandshakeBytes *hs_byte
// for simple handshake, copy s1 to c2.
// @see https://github.com/ossrs/srs/issues/418
- memcpy(hs_bytes->c2, hs_bytes->s0s1s2 + 1, 1536);
+ memcpy(hs_bytes->c2_, hs_bytes->s0s1s2_ + 1, 1536);
- if ((err = io->write(hs_bytes->c2, 1536, &nsize)) != srs_success) {
+ if ((err = io->write(hs_bytes->c2_, 1536, &nsize)) != srs_success) {
return srs_error_wrap(err, "write c2");
}
@@ -1157,10 +1157,10 @@ srs_error_t SrsComplexHandshake::handshake_with_client(SrsHandshakeBytes *hs_byt
}
// decode c1
- c1s1 c1;
+ SrsC1S1 c1;
// try schema0.
// @remark, use schema0 to make flash player happy.
- if ((err = c1.parse(hs_bytes->c0c1 + 1, 1536, srs_schema0)) != srs_success) {
+ if ((err = c1.parse(hs_bytes->c0c1_ + 1, 1536, srs_schema0)) != srs_success) {
return srs_error_wrap(err, "parse c1, schema=%d", srs_schema0);
}
// try schema1
@@ -1168,7 +1168,7 @@ srs_error_t SrsComplexHandshake::handshake_with_client(SrsHandshakeBytes *hs_byt
if ((err = c1.c1_validate_digest(is_valid)) != srs_success || !is_valid) {
srs_freep(err);
- if ((err = c1.parse(hs_bytes->c0c1 + 1, 1536, srs_schema1)) != srs_success) {
+ if ((err = c1.parse(hs_bytes->c0c1_ + 1, 1536, srs_schema1)) != srs_success) {
return srs_error_wrap(err, "parse c0c1, schame=%d", srs_schema1);
}
@@ -1179,7 +1179,7 @@ srs_error_t SrsComplexHandshake::handshake_with_client(SrsHandshakeBytes *hs_byt
}
// encode s1
- c1s1 s1;
+ SrsC1S1 s1;
if ((err = s1.s1_create(&c1)) != srs_success) {
return srs_error_wrap(err, "create s1 from c1");
}
@@ -1189,7 +1189,7 @@ srs_error_t SrsComplexHandshake::handshake_with_client(SrsHandshakeBytes *hs_byt
return srs_error_new(ERROR_RTMP_TRY_SIMPLE_HS, "verify s1 failed, try simple handshake");
}
- c2s2 s2;
+ SrsC2S2 s2;
if ((err = s2.s2_create(&c1)) != srs_success) {
return srs_error_wrap(err, "create s2 from c1");
}
@@ -1203,13 +1203,13 @@ srs_error_t SrsComplexHandshake::handshake_with_client(SrsHandshakeBytes *hs_byt
if ((err = hs_bytes->create_s0s1s2()) != srs_success) {
return srs_error_wrap(err, "create s0s1s2");
}
- if ((err = s1.dump(hs_bytes->s0s1s2 + 1, 1536)) != srs_success) {
+ if ((err = s1.dump(hs_bytes->s0s1s2_ + 1, 1536)) != srs_success) {
return srs_error_wrap(err, "dump s1");
}
- if ((err = s2.dump(hs_bytes->s0s1s2 + 1537, 1536)) != srs_success) {
+ if ((err = s2.dump(hs_bytes->s0s1s2_ + 1537, 1536)) != srs_success) {
return srs_error_wrap(err, "dump s2");
}
- if ((err = io->write(hs_bytes->s0s1s2, 3073, &nsize)) != srs_success) {
+ if ((err = io->write(hs_bytes->s0s1s2_, 3073, &nsize)) != srs_success) {
return srs_error_wrap(err, "write s0s1s2");
}
@@ -1217,8 +1217,8 @@ srs_error_t SrsComplexHandshake::handshake_with_client(SrsHandshakeBytes *hs_byt
if ((err = hs_bytes->read_c2(io)) != srs_success) {
return srs_error_wrap(err, "read c2");
}
- c2s2 c2;
- if ((err = c2.parse(hs_bytes->c2, 1536)) != srs_success) {
+ SrsC2S2 c2;
+ if ((err = c2.parse(hs_bytes->c2_, 1536)) != srs_success) {
return srs_error_wrap(err, "parse c2");
}
@@ -1243,12 +1243,12 @@ srs_error_t SrsComplexHandshake::handshake_with_server(SrsHandshakeBytes *hs_byt
}
// sign c1
- c1s1 c1;
+ SrsC1S1 c1;
// @remark, FMS requires the schema1(digest-key), or connect failed.
if ((err = c1.c1_create(srs_schema1)) != srs_success) {
return srs_error_wrap(err, "create c1");
}
- if ((err = c1.dump(hs_bytes->c0c1 + 1, 1536)) != srs_success) {
+ if ((err = c1.dump(hs_bytes->c0c1_ + 1, 1536)) != srs_success) {
return srs_error_wrap(err, "dump c1");
}
@@ -1259,7 +1259,7 @@ srs_error_t SrsComplexHandshake::handshake_with_server(SrsHandshakeBytes *hs_byt
return srs_error_new(ERROR_RTMP_TRY_SIMPLE_HS, "try simple handshake");
}
- if ((err = io->write(hs_bytes->c0c1, 1537, &nsize)) != srs_success) {
+ if ((err = io->write(hs_bytes->c0c1_, 1537, &nsize)) != srs_success) {
return srs_error_wrap(err, "write c0c1");
}
@@ -1269,13 +1269,13 @@ srs_error_t SrsComplexHandshake::handshake_with_server(SrsHandshakeBytes *hs_byt
}
// plain text required.
- if (hs_bytes->s0s1s2[0] != 0x03) {
- return srs_error_new(ERROR_RTMP_HANDSHAKE, "handshake failed, plain text required, version=%X", (uint8_t)hs_bytes->s0s1s2[0]);
+ if (hs_bytes->s0s1s2_[0] != 0x03) {
+ return srs_error_new(ERROR_RTMP_HANDSHAKE, "handshake failed, plain text required, version=%X", (uint8_t)hs_bytes->s0s1s2_[0]);
}
// verify s1s2
- c1s1 s1;
- if ((err = s1.parse(hs_bytes->s0s1s2 + 1, 1536, c1.schema())) != srs_success) {
+ SrsC1S1 s1;
+ if ((err = s1.parse(hs_bytes->s0s1s2_ + 1, 1536, c1.schema())) != srs_success) {
return srs_error_wrap(err, "parse s1");
}
@@ -1288,15 +1288,15 @@ srs_error_t SrsComplexHandshake::handshake_with_server(SrsHandshakeBytes *hs_byt
return srs_error_wrap(err, "create c2");
}
- c2s2 c2;
+ SrsC2S2 c2;
if ((err = c2.c2_create(&s1)) != srs_success) {
return srs_error_wrap(err, "create c2");
}
- if ((err = c2.dump(hs_bytes->c2, 1536)) != srs_success) {
+ if ((err = c2.dump(hs_bytes->c2_, 1536)) != srs_success) {
return srs_error_wrap(err, "dump c2");
}
- if ((err = io->write(hs_bytes->c2, 1536, &nsize)) != srs_success) {
+ if ((err = io->write(hs_bytes->c2_, 1536, &nsize)) != srs_success) {
return srs_error_wrap(err, "write c2");
}
diff --git a/trunk/src/protocol/srs_protocol_rtmp_handshake.hpp b/trunk/src/protocol/srs_protocol_rtmp_handshake.hpp
index fa8d2361e80..069c0f2b9bf 100644
--- a/trunk/src/protocol/srs_protocol_rtmp_handshake.hpp
+++ b/trunk/src/protocol/srs_protocol_rtmp_handshake.hpp
@@ -88,26 +88,26 @@ enum srs_schema_type {
// random-data: (764-offset-128-4)bytes
// offset: 4bytes
// @see also: http://blog.csdn.net/win_lin/article/details/13006803
-class key_block
+class SrsKeyBlock
{
public:
// (offset)bytes
- char *random0;
- int random0_size;
+ char *random0_;
+ int random0_size_;
// 128bytes
- char key[128];
+ char key_[128];
// (764-offset-128-4)bytes
- char *random1;
- int random1_size;
+ char *random1_;
+ int random1_size_;
// 4bytes
- int32_t offset;
+ int32_t offset_;
public:
- key_block();
- virtual ~key_block();
+ SrsKeyBlock();
+ virtual ~SrsKeyBlock();
public:
// Parse key block from c1s1.
@@ -127,26 +127,26 @@ class key_block
// digest-data: 32bytes
// random-data: (764-4-offset-32)bytes
// @see also: http://blog.csdn.net/win_lin/article/details/13006803
-class digest_block
+class SrsDigestBlock
{
public:
// 4bytes
- int32_t offset;
+ int32_t offset_;
// (offset)bytes
- char *random0;
- int random0_size;
+ char *random0_;
+ int random0_size_;
// 32bytes
- char digest[32];
+ char digest_[32];
// (764-4-offset-32)bytes
- char *random1;
- int random1_size;
+ char *random1_;
+ int random1_size_;
public:
- digest_block();
- virtual ~digest_block();
+ SrsDigestBlock();
+ virtual ~SrsDigestBlock();
public:
// Parse digest block from c1s1.
@@ -160,20 +160,20 @@ class digest_block
int calc_valid_offset();
};
-class c1s1;
+class SrsC1S1;
// The c1s1 strategy, use schema0 or schema1.
// The template method class to defines common behaviors,
// while the concrete class to implements in schema0 or schema1.
-class c1s1_strategy
+class SrsC1S1Strategy
{
protected:
- key_block key;
- digest_block digest;
+ SrsKeyBlock key_;
+ SrsDigestBlock digest_;
public:
- c1s1_strategy();
- virtual ~c1s1_strategy();
+ SrsC1S1Strategy();
+ virtual ~SrsC1S1Strategy();
public:
// Get the scema.
@@ -184,7 +184,7 @@ class c1s1_strategy
virtual char *get_key();
// Copy to bytes.
// @param size must be 1536.
- virtual srs_error_t dump(c1s1 *owner, char *_c1s1, int size);
+ virtual srs_error_t dump(SrsC1S1 *owner, char *_c1s1, int size);
// For server: parse the c1s1, discovery the key and digest by schema.
// use the c1_validate_digest() to valid the digest of c1.
virtual srs_error_t parse(char *_c1s1, int size) = 0;
@@ -203,9 +203,9 @@ class c1s1_strategy
// schema = choose schema0 or schema1
// digest-data = calc_c1_digest(c1, schema)
// copy digest-data to c1
- virtual srs_error_t c1_create(c1s1 *owner);
+ virtual srs_error_t c1_create(SrsC1S1 *owner);
// For server: validate the parsed c1 schema
- virtual srs_error_t c1_validate_digest(c1s1 *owner, bool &is_valid);
+ virtual srs_error_t c1_validate_digest(SrsC1S1 *owner, bool &is_valid);
// For server: create and sign the s1 from c1.
// // decode c1 try schema0 then schema1
// c1-digest-data = get-c1-digest-data(schema0)
@@ -231,20 +231,20 @@ class c1s1_strategy
// s1-digest-data = HMACsha256(c1s1-joined, FMSKey, 36)
// copy s1-digest-data and s1-key-data to s1.
// @param c1, to get the peer_pub_key of client.
- virtual srs_error_t s1_create(c1s1 *owner, c1s1 *c1);
+ virtual srs_error_t s1_create(SrsC1S1 *owner, SrsC1S1 *c1);
// For server: validate the parsed s1 schema
- virtual srs_error_t s1_validate_digest(c1s1 *owner, bool &is_valid);
+ virtual srs_error_t s1_validate_digest(SrsC1S1 *owner, bool &is_valid);
public:
// Calculate the digest for c1
- virtual srs_error_t calc_c1_digest(c1s1 *owner, char *&c1_digest);
+ virtual srs_error_t calc_c1_digest(SrsC1S1 *owner, char *&c1_digest);
// Calculate the digest for s1
- virtual srs_error_t calc_s1_digest(c1s1 *owner, char *&s1_digest);
+ virtual srs_error_t calc_s1_digest(SrsC1S1 *owner, char *&s1_digest);
// Copy whole c1s1 to bytes.
// @param size must always be 1536 with digest, and 1504 without digest.
- virtual srs_error_t copy_to(c1s1 *owner, char *bytes, int size, bool with_digest) = 0;
+ virtual srs_error_t copy_to(SrsC1S1 *owner, char *bytes, int size, bool with_digest) = 0;
// Copy time and version to stream.
- virtual void copy_time_version(SrsBuffer *stream, c1s1 *owner);
+ virtual void copy_time_version(SrsBuffer *stream, SrsC1S1 *owner);
// Copy key to stream.
virtual void copy_key(SrsBuffer *stream);
// Copy digest to stream.
@@ -254,35 +254,35 @@ class c1s1_strategy
// The c1s1 schema0
// key: 764bytes
// digest: 764bytes
-class c1s1_strategy_schema0 : public c1s1_strategy
+class SrsC1S1StrategySchema0 : public SrsC1S1Strategy
{
public:
- c1s1_strategy_schema0();
- virtual ~c1s1_strategy_schema0();
+ SrsC1S1StrategySchema0();
+ virtual ~SrsC1S1StrategySchema0();
public:
virtual srs_schema_type schema();
virtual srs_error_t parse(char *_c1s1, int size);
public:
- virtual srs_error_t copy_to(c1s1 *owner, char *bytes, int size, bool with_digest);
+ virtual srs_error_t copy_to(SrsC1S1 *owner, char *bytes, int size, bool with_digest);
};
// The c1s1 schema1
// digest: 764bytes
// key: 764bytes
-class c1s1_strategy_schema1 : public c1s1_strategy
+class SrsC1S1StrategySchema1 : public SrsC1S1Strategy
{
public:
- c1s1_strategy_schema1();
- virtual ~c1s1_strategy_schema1();
+ SrsC1S1StrategySchema1();
+ virtual ~SrsC1S1StrategySchema1();
public:
virtual srs_schema_type schema();
virtual srs_error_t parse(char *_c1s1, int size);
public:
- virtual srs_error_t copy_to(c1s1 *owner, char *bytes, int size, bool with_digest);
+ virtual srs_error_t copy_to(SrsC1S1 *owner, char *bytes, int size, bool with_digest);
};
// The c1s1 schema0
@@ -296,19 +296,19 @@ class c1s1_strategy_schema1 : public c1s1_strategy
// digest: 764bytes
// key: 764bytes
// @see also: http://blog.csdn.net/win_lin/article/details/13006803
-class c1s1
+class SrsC1S1
{
public:
// 4bytes
- int32_t time;
+ int32_t time_;
// 4bytes
- int32_t version;
+ int32_t version_;
// 764bytes+764bytes
- c1s1_strategy *payload;
+ SrsC1S1Strategy *payload_;
public:
- c1s1();
- virtual ~c1s1();
+ SrsC1S1();
+ virtual ~SrsC1S1();
public:
// Get the scema.
@@ -371,7 +371,7 @@ class c1s1
// get c1s1-joined by specified schema
// s1-digest-data = HMACsha256(c1s1-joined, FMSKey, 36)
// copy s1-digest-data and s1-key-data to s1.
- virtual srs_error_t s1_create(c1s1 *c1);
+ virtual srs_error_t s1_create(SrsC1S1 *c1);
// For server: validate the parsed s1 schema
virtual srs_error_t s1_validate_digest(bool &is_valid);
};
@@ -380,15 +380,15 @@ class c1s1
// random-data: 1504bytes
// digest-data: 32bytes
// @see also: http://blog.csdn.net/win_lin/article/details/13006803
-class c2s2
+class SrsC2S2
{
public:
- char random[1504];
- char digest[32];
+ char random_[1504];
+ char digest_[32];
public:
- c2s2();
- virtual ~c2s2();
+ SrsC2S2();
+ virtual ~SrsC2S2();
public:
// Copy to bytes.
@@ -405,10 +405,10 @@ class c2s2
// // client generate C2, or server valid C2
// temp-key = HMACsha256(s1-digest, FPKey, 62)
// c2-digest-data = HMACsha256(c2-random-data, temp-key, 32)
- virtual srs_error_t c2_create(c1s1 *s1);
+ virtual srs_error_t c2_create(SrsC1S1 *s1);
// Validate the c2 from client.
- virtual srs_error_t c2_validate(c1s1 *s1, bool &is_valid);
+ virtual srs_error_t c2_validate(SrsC1S1 *s1, bool &is_valid);
public:
// Create s2.
@@ -417,10 +417,10 @@ class c2s2
// For server generate S2, or client valid S2
// temp-key = HMACsha256(c1-digest, FMSKey, 68)
// s2-digest-data = HMACsha256(s2-random-data, temp-key, 32)
- virtual srs_error_t s2_create(c1s1 *c1);
+ virtual srs_error_t s2_create(SrsC1S1 *c1);
// Validate the s2 from server.
- virtual srs_error_t s2_validate(c1s1 *c1, bool &is_valid);
+ virtual srs_error_t s2_validate(SrsC1S1 *c1, bool &is_valid);
};
} // namespace srs_internal
diff --git a/trunk/src/protocol/srs_protocol_rtmp_msg_array.cpp b/trunk/src/protocol/srs_protocol_rtmp_msg_array.cpp
index a504166b83a..b7c5eb3b129 100644
--- a/trunk/src/protocol/srs_protocol_rtmp_msg_array.cpp
+++ b/trunk/src/protocol/srs_protocol_rtmp_msg_array.cpp
@@ -12,8 +12,8 @@ SrsMessageArray::SrsMessageArray(int max_msgs)
{
srs_assert(max_msgs > 0);
- msgs = new SrsMediaPacket *[max_msgs];
- max = max_msgs;
+ msgs_ = new SrsMediaPacket *[max_msgs];
+ max_ = max_msgs;
zero(max_msgs);
}
@@ -23,17 +23,17 @@ SrsMessageArray::~SrsMessageArray()
// we just free the msgs itself,
// both delete and delete[] is ok,
// for all msgs is already freed by send_and_free_messages.
- srs_freepa(msgs);
+ srs_freepa(msgs_);
}
void SrsMessageArray::free(int count)
{
// initialize
for (int i = 0; i < count; i++) {
- SrsMediaPacket *msg = msgs[i];
+ SrsMediaPacket *msg = msgs_[i];
srs_freep(msg);
- msgs[i] = NULL;
+ msgs_[i] = NULL;
}
}
@@ -41,6 +41,6 @@ void SrsMessageArray::zero(int count)
{
// initialize
for (int i = 0; i < count; i++) {
- msgs[i] = NULL;
+ msgs_[i] = NULL;
}
}
diff --git a/trunk/src/protocol/srs_protocol_rtmp_msg_array.hpp b/trunk/src/protocol/srs_protocol_rtmp_msg_array.hpp
index 0476a617d5d..63eb8d4598e 100644
--- a/trunk/src/protocol/srs_protocol_rtmp_msg_array.hpp
+++ b/trunk/src/protocol/srs_protocol_rtmp_msg_array.hpp
@@ -22,10 +22,10 @@ class SrsMessageArray
{
public:
// When user already send all msgs, please set to NULL,
- // for instance, msg= msgs.msgs[i], msgs.msgs[i]=NULL, send(msg),
+ // for instance, msg= msgs.msgs_[i], msgs.msgs_[i]=NULL, send(msg),
// where send(msg) will always send and free it.
- SrsMediaPacket **msgs;
- int max;
+ SrsMediaPacket **msgs_;
+ int max_;
public:
// Create msg array, initialize array to NULL ptrs.
diff --git a/trunk/src/protocol/srs_protocol_rtmp_stack.cpp b/trunk/src/protocol/srs_protocol_rtmp_stack.cpp
index 805939d5225..4fd46609e14 100644
--- a/trunk/src/protocol/srs_protocol_rtmp_stack.cpp
+++ b/trunk/src/protocol/srs_protocol_rtmp_stack.cpp
@@ -161,39 +161,39 @@ srs_error_t SrsRtmpCommand::encode_packet(SrsBuffer *stream)
SrsProtocol::AckWindowSize::AckWindowSize()
{
- window = 0;
- sequence_number = 0;
- nb_recv_bytes = 0;
+ window_ = 0;
+ sequence_number_ = 0;
+ nb_recv_bytes_ = 0;
}
SrsProtocol::SrsProtocol(ISrsProtocolReadWriter *io)
{
- in_buffer = new SrsFastStream();
- skt = io;
+ in_buffer_ = new SrsFastStream();
+ skt_ = io;
- in_chunk_size = SRS_CONSTS_RTMP_PROTOCOL_CHUNK_SIZE;
- out_chunk_size = SRS_CONSTS_RTMP_PROTOCOL_CHUNK_SIZE;
+ in_chunk_size_ = SRS_CONSTS_RTMP_PROTOCOL_CHUNK_SIZE;
+ out_chunk_size_ = SRS_CONSTS_RTMP_PROTOCOL_CHUNK_SIZE;
- nb_out_iovs = 8 * SRS_CONSTS_IOVS_MAX;
- out_iovs = (iovec *)malloc(sizeof(iovec) * nb_out_iovs);
+ nb_out_iovs_ = 8 * SRS_CONSTS_IOVS_MAX;
+ out_iovs_ = (iovec *)malloc(sizeof(iovec) * nb_out_iovs_);
// each chunk consumers atleast 2 iovs
- srs_assert(nb_out_iovs >= 2);
+ srs_assert(nb_out_iovs_ >= 2);
- warned_c0c3_cache_dry = false;
- auto_response_when_recv = true;
- show_debug_info = true;
- in_buffer_length = 0;
+ warned_c0c3_cache_dry_ = false;
+ auto_response_when_recv_ = true;
+ show_debug_info_ = true;
+ in_buffer_length_ = 0;
- cs_cache = NULL;
+ cs_cache_ = NULL;
if (SRS_PERF_CHUNK_STREAM_CACHE > 0) {
- cs_cache = new SrsChunkStream *[SRS_PERF_CHUNK_STREAM_CACHE];
+ cs_cache_ = new SrsChunkStream *[SRS_PERF_CHUNK_STREAM_CACHE];
}
for (int cid = 0; cid < SRS_PERF_CHUNK_STREAM_CACHE; cid++) {
SrsChunkStream *cs = new SrsChunkStream(cid);
- cs_cache[cid] = cs;
+ cs_cache_[cid] = cs;
}
- out_c0c3_caches = new char[SRS_CONSTS_C0C3_HEADERS_MAX];
+ out_c0c3_caches_ = new char[SRS_CONSTS_C0C3_HEADERS_MAX];
}
SrsProtocol::~SrsProtocol()
@@ -201,60 +201,60 @@ SrsProtocol::~SrsProtocol()
if (true) {
std::map::iterator it;
- for (it = chunk_streams.begin(); it != chunk_streams.end(); ++it) {
+ for (it = chunk_streams_.begin(); it != chunk_streams_.end(); ++it) {
SrsChunkStream *stream = it->second;
srs_freep(stream);
}
- chunk_streams.clear();
+ chunk_streams_.clear();
}
if (true) {
std::vector::iterator it;
- for (it = manual_response_queue.begin(); it != manual_response_queue.end(); ++it) {
+ for (it = manual_response_queue_.begin(); it != manual_response_queue_.end(); ++it) {
SrsRtmpCommand *pkt = *it;
srs_freep(pkt);
}
- manual_response_queue.clear();
+ manual_response_queue_.clear();
}
- srs_freep(in_buffer);
+ srs_freep(in_buffer_);
// alloc by malloc, use free directly.
- if (out_iovs) {
- free(out_iovs);
- out_iovs = NULL;
+ if (out_iovs_) {
+ free(out_iovs_);
+ out_iovs_ = NULL;
}
// free all chunk stream cache.
for (int i = 0; i < SRS_PERF_CHUNK_STREAM_CACHE; i++) {
- SrsChunkStream *cs = cs_cache[i];
+ SrsChunkStream *cs = cs_cache_[i];
srs_freep(cs);
}
- srs_freepa(cs_cache);
+ srs_freepa(cs_cache_);
- srs_freepa(out_c0c3_caches);
+ srs_freepa(out_c0c3_caches_);
}
void SrsProtocol::set_auto_response(bool v)
{
- auto_response_when_recv = v;
+ auto_response_when_recv_ = v;
}
srs_error_t SrsProtocol::manual_response_flush()
{
srs_error_t err = srs_success;
- if (manual_response_queue.empty()) {
+ if (manual_response_queue_.empty()) {
return err;
}
std::vector::iterator it;
- for (it = manual_response_queue.begin(); it != manual_response_queue.end();) {
+ for (it = manual_response_queue_.begin(); it != manual_response_queue_.end();) {
SrsRtmpCommand *pkt = *it;
// erase this packet, the send api always free it.
- it = manual_response_queue.erase(it);
+ it = manual_response_queue_.erase(it);
// use underlayer api to send, donot flush again.
if ((err = do_send_and_free_packet(pkt, 0)) != srs_success) {
@@ -268,48 +268,48 @@ srs_error_t SrsProtocol::manual_response_flush()
#ifdef SRS_PERF_MERGED_READ
void SrsProtocol::set_merge_read(bool v, IMergeReadHandler *handler)
{
- in_buffer->set_merge_read(v, handler);
+ in_buffer_->set_merge_read(v, handler);
}
void SrsProtocol::set_recv_buffer(int buffer_size)
{
- in_buffer->set_buffer(buffer_size);
+ in_buffer_->set_buffer(buffer_size);
}
#endif
void SrsProtocol::set_recv_timeout(srs_utime_t tm)
{
- return skt->set_recv_timeout(tm);
+ return skt_->set_recv_timeout(tm);
}
srs_utime_t SrsProtocol::get_recv_timeout()
{
- return skt->get_recv_timeout();
+ return skt_->get_recv_timeout();
}
void SrsProtocol::set_send_timeout(srs_utime_t tm)
{
- return skt->set_send_timeout(tm);
+ return skt_->set_send_timeout(tm);
}
srs_utime_t SrsProtocol::get_send_timeout()
{
- return skt->get_send_timeout();
+ return skt_->get_send_timeout();
}
int64_t SrsProtocol::get_recv_bytes()
{
- return skt->get_recv_bytes();
+ return skt_->get_recv_bytes();
}
int64_t SrsProtocol::get_send_bytes()
{
- return skt->get_send_bytes();
+ return skt_->get_send_bytes();
}
srs_error_t SrsProtocol::set_in_window_ack_size(int ack_size)
{
- in_ack_size.window = ack_size;
+ in_ack_size_.window_ = ack_size;
return srs_success;
}
@@ -382,10 +382,10 @@ srs_error_t SrsProtocol::do_send_messages(SrsMediaPacket **msgs, int nb_msgs)
#ifdef SRS_PERF_COMPLEX_SEND
int iov_index = 0;
- iovec *iovs = out_iovs + iov_index;
+ iovec *iovs = out_iovs_ + iov_index;
int c0c3_cache_index = 0;
- char *c0c3_cache = out_c0c3_caches + c0c3_cache_index;
+ char *c0c3_cache = out_c0c3_caches_ + c0c3_cache_index;
// try to send use the c0c3 header cache,
// if cache is consumed, try another loop.
@@ -418,7 +418,7 @@ srs_error_t SrsProtocol::do_send_messages(SrsMediaPacket **msgs, int nb_msgs)
iovs[0].iov_len = nbh;
// payload iov
- int payload_size = srs_min(out_chunk_size, (int)(pend - p));
+ int payload_size = srs_min(out_chunk_size_, (int)(pend - p));
iovs[1].iov_base = p;
iovs[1].iov_len = payload_size;
@@ -428,21 +428,21 @@ srs_error_t SrsProtocol::do_send_messages(SrsMediaPacket **msgs, int nb_msgs)
// realloc the iovs if exceed,
// for we donot know how many messges maybe to send entirely,
// we just alloc the iovs, it's ok.
- if (iov_index >= nb_out_iovs - 2) {
- int ov = nb_out_iovs;
- nb_out_iovs = 2 * nb_out_iovs;
- int realloc_size = sizeof(iovec) * nb_out_iovs;
- out_iovs = (iovec *)realloc(out_iovs, realloc_size);
- srs_warn("resize iovs %d => %d, max_msgs=%d", ov, nb_out_iovs, SRS_PERF_MW_MSGS);
+ if (iov_index >= nb_out_iovs_ - 2) {
+ int ov = nb_out_iovs_;
+ nb_out_iovs_ = 2 * nb_out_iovs_;
+ int realloc_size = sizeof(iovec) * nb_out_iovs_;
+ out_iovs_ = (iovec *)realloc(out_iovs_, realloc_size);
+ srs_warn("resize iovs %d => %d, max_msgs=%d", ov, nb_out_iovs_, SRS_PERF_MW_MSGS);
}
// to next pair of iovs
iov_index += 2;
- iovs = out_iovs + iov_index;
+ iovs = out_iovs_ + iov_index;
// to next c0c3 header cache
c0c3_cache_index += nbh;
- c0c3_cache = out_c0c3_caches + c0c3_cache_index;
+ c0c3_cache = out_c0c3_caches_ + c0c3_cache_index;
// the cache header should never be realloc again,
// for the ptr is set to iovs, so we just warn user to set larger
@@ -450,24 +450,24 @@ srs_error_t SrsProtocol::do_send_messages(SrsMediaPacket **msgs, int nb_msgs)
int c0c3_left = SRS_CONSTS_C0C3_HEADERS_MAX - c0c3_cache_index;
if (c0c3_left < SRS_CONSTS_RTMP_MAX_FMT0_HEADER_SIZE) {
// only warn once for a connection.
- if (!warned_c0c3_cache_dry) {
+ if (!warned_c0c3_cache_dry_) {
srs_warn("c0c3 cache header too small, recoment to %d", SRS_CONSTS_C0C3_HEADERS_MAX + SRS_CONSTS_RTMP_MAX_FMT0_HEADER_SIZE);
- warned_c0c3_cache_dry = true;
+ warned_c0c3_cache_dry_ = true;
}
// when c0c3 cache dry,
// sendout all messages and reset the cache, then send again.
- if ((err = do_iovs_send(out_iovs, iov_index)) != srs_success) {
+ if ((err = do_iovs_send(out_iovs_, iov_index)) != srs_success) {
return srs_error_wrap(err, "send iovs");
}
// reset caches, while these cache ensure
// atleast we can sendout a chunk.
iov_index = 0;
- iovs = out_iovs + iov_index;
+ iovs = out_iovs_ + iov_index;
c0c3_cache_index = 0;
- c0c3_cache = out_c0c3_caches + c0c3_cache_index;
+ c0c3_cache = out_c0c3_caches_ + c0c3_cache_index;
}
}
}
@@ -479,7 +479,7 @@ srs_error_t SrsProtocol::do_send_messages(SrsMediaPacket **msgs, int nb_msgs)
}
// Send out iovs at a time.
- if ((err = do_iovs_send(out_iovs, iov_index)) != srs_success) {
+ if ((err = do_iovs_send(out_iovs_, iov_index)) != srs_success) {
return srs_error_wrap(err, "send iovs");
}
@@ -507,8 +507,8 @@ srs_error_t SrsProtocol::do_send_messages(SrsMediaPacket **msgs, int nb_msgs)
// always write the header event payload is empty.
while (p < pend) {
// for simple send, send each chunk one by one
- iovec *iovs = out_iovs;
- char *c0c3_cache = out_c0c3_caches;
+ iovec *iovs = out_iovs_;
+ char *c0c3_cache = out_c0c3_caches_;
int nb_cache = SRS_CONSTS_C0C3_HEADERS_MAX;
// always has header
@@ -539,7 +539,7 @@ srs_error_t SrsProtocol::do_send_messages(SrsMediaPacket **msgs, int nb_msgs)
srs_error_t SrsProtocol::do_iovs_send(iovec *iovs, int size)
{
- return srs_write_large_iovs(skt, iovs, size);
+ return srs_write_large_iovs(skt_, iovs, size);
}
srs_error_t SrsProtocol::do_send_and_free_packet(SrsRtmpCommand *packet_raw, int stream_id)
@@ -608,11 +608,11 @@ srs_error_t SrsProtocol::do_decode_message(SrsMessageHeader &header, SrsBuffer *
}
// find the call name
- if (requests.find(transactionId) == requests.end()) {
+ if (requests_.find(transactionId) == requests_.end()) {
return srs_error_new(ERROR_RTMP_NO_REQUEST, "find request for command=%s, tid=%.2f", command.c_str(), transactionId);
}
- std::string request_name = requests[transactionId];
+ std::string request_name = requests_[transactionId];
if (request_name == RTMP_AMF0_COMMAND_CONNECT) {
*ppacket = packet = new SrsConnectAppResPacket();
return packet->decode(stream);
@@ -788,13 +788,13 @@ srs_error_t SrsProtocol::recv_interlaced_message(SrsRtmpCommonMessage **pmsg)
// use chunk stream cache to get the chunk info.
if (cid < SRS_PERF_CHUNK_STREAM_CACHE) {
// already init, use it direclty
- chunk = cs_cache[cid];
+ chunk = cs_cache_[cid];
} else {
// chunk stream cache miss, use map.
- if (chunk_streams.find(cid) == chunk_streams.end()) {
- chunk = chunk_streams[cid] = new SrsChunkStream(cid);
+ if (chunk_streams_.find(cid) == chunk_streams_.end()) {
+ chunk = chunk_streams_[cid] = new SrsChunkStream(cid);
} else {
- chunk = chunk_streams[cid];
+ chunk = chunk_streams_[cid];
}
}
@@ -866,11 +866,11 @@ srs_error_t SrsProtocol::read_basic_header(char &fmt, int &cid)
{
srs_error_t err = srs_success;
- if ((err = in_buffer->grow(skt, 1)) != srs_success) {
+ if ((err = in_buffer_->grow(skt_, 1)) != srs_success) {
return srs_error_wrap(err, "basic header requires 1 bytes");
}
- fmt = in_buffer->read_1byte();
+ fmt = in_buffer_->read_1byte();
cid = fmt & 0x3f;
fmt = (fmt >> 6) & 0x03;
@@ -879,23 +879,23 @@ srs_error_t SrsProtocol::read_basic_header(char &fmt, int &cid)
return err;
// 64-319, 2B chunk header
} else if (cid == 0) {
- if ((err = in_buffer->grow(skt, 1)) != srs_success) {
+ if ((err = in_buffer_->grow(skt_, 1)) != srs_success) {
return srs_error_wrap(err, "basic header requires 2 bytes");
}
cid = 64;
- cid += (uint8_t)in_buffer->read_1byte();
+ cid += (uint8_t)in_buffer_->read_1byte();
// 64-65599, 3B chunk header
} else {
srs_assert(cid == 1);
- if ((err = in_buffer->grow(skt, 2)) != srs_success) {
+ if ((err = in_buffer_->grow(skt_, 2)) != srs_success) {
return srs_error_wrap(err, "basic header requires 3 bytes");
}
cid = 64;
- cid += (uint8_t)in_buffer->read_1byte();
- cid += ((uint8_t)in_buffer->read_1byte()) * 256;
+ cid += (uint8_t)in_buffer_->read_1byte();
+ cid += ((uint8_t)in_buffer_->read_1byte()) * 256;
}
return err;
@@ -940,11 +940,11 @@ srs_error_t SrsProtocol::read_message_header(SrsChunkStream *chunk, char fmt)
*/
// fresh packet used to update the timestamp even fmt=3 for first packet.
// fresh packet always means the chunk is the first one of message.
- bool is_first_chunk_of_msg = !chunk->msg;
+ bool is_first_chunk_of_msg = !chunk->msg_;
// but, we can ensure that when a chunk stream is fresh,
// the fmt must be 0, a new stream.
- if (chunk->msg_count == 0 && fmt != RTMP_FMT_TYPE0) {
+ if (chunk->msg_count_ == 0 && fmt != RTMP_FMT_TYPE0) {
// for librtmp, if ping, it will send a fresh stream with fmt=1,
// 0x42 where: fmt=1, cid=2, protocol contorl user-control message
// 0x00 0x00 0x00 where: timestamp=0
@@ -956,27 +956,27 @@ srs_error_t SrsProtocol::read_message_header(SrsChunkStream *chunk, char fmt)
srs_warn("fresh chunk starts with fmt=1");
} else {
// must be a RTMP protocol level error.
- return srs_error_new(ERROR_RTMP_CHUNK_START, "fresh chunk expect fmt=0, actual=%d, cid=%d", fmt, chunk->cid);
+ return srs_error_new(ERROR_RTMP_CHUNK_START, "fresh chunk expect fmt=0, actual=%d, cid=%d", fmt, chunk->cid_);
}
}
// when exists cache msg, means got an partial message,
// the fmt must not be type0 which means new message.
- if (chunk->msg && fmt == RTMP_FMT_TYPE0) {
+ if (chunk->msg_ && fmt == RTMP_FMT_TYPE0) {
return srs_error_new(ERROR_RTMP_CHUNK_START, "for existed chunk, fmt should not be 0");
}
// create msg when new chunk stream start
- if (!chunk->msg) {
- chunk->msg = new SrsRtmpCommonMessage();
- chunk->writing_pos_ = chunk->msg->payload();
+ if (!chunk->msg_) {
+ chunk->msg_ = new SrsRtmpCommonMessage();
+ chunk->writing_pos_ = chunk->msg_->payload();
}
// read message header from socket to buffer.
static char mh_sizes[] = {11, 7, 3, 0};
int mh_size = mh_sizes[(int)fmt];
- if (mh_size > 0 && (err = in_buffer->grow(skt, mh_size)) != srs_success) {
+ if (mh_size > 0 && (err = in_buffer_->grow(skt_, mh_size)) != srs_success) {
return srs_error_wrap(err, "read %d bytes message header", mh_size);
}
@@ -994,9 +994,9 @@ srs_error_t SrsProtocol::read_message_header(SrsChunkStream *chunk, char fmt)
*/
// see also: ngx_rtmp_recv
if (fmt <= RTMP_FMT_TYPE2) {
- char *p = in_buffer->read_slice(mh_size);
+ char *p = in_buffer_->read_slice(mh_size);
- char *pp = (char *)&chunk->header.timestamp_delta_;
+ char *pp = (char *)&chunk->header_.timestamp_delta_;
pp[2] = *p++;
pp[1] = *p++;
pp[0] = *p++;
@@ -1015,7 +1015,7 @@ srs_error_t SrsProtocol::read_message_header(SrsChunkStream *chunk, char fmt)
// 0x00ffffff), this value MUST be 16777215, and the 'extended
// timestamp header' MUST be present. Otherwise, this value SHOULD be
// the entire delta.
- chunk->has_extended_timestamp = (chunk->header.timestamp_delta_ >= RTMP_EXTENDED_TIMESTAMP);
+ chunk->has_extended_timestamp_ = (chunk->header_.timestamp_delta_ >= RTMP_EXTENDED_TIMESTAMP);
if (fmt <= RTMP_FMT_TYPE1) {
int32_t payload_length = 0;
@@ -1029,15 +1029,15 @@ srs_error_t SrsProtocol::read_message_header(SrsChunkStream *chunk, char fmt)
// always use the actual msg size to compare, for the cache payload length can changed,
// for the fmt type1(stream_id not changed), user can change the payload
// length(it's not allowed in the continue chunks).
- if (!is_first_chunk_of_msg && chunk->header.payload_length_ != payload_length) {
- return srs_error_new(ERROR_RTMP_PACKET_SIZE, "msg in chunk cache, size=%d cannot change to %d", chunk->header.payload_length_, payload_length);
+ if (!is_first_chunk_of_msg && chunk->header_.payload_length_ != payload_length) {
+ return srs_error_new(ERROR_RTMP_PACKET_SIZE, "msg in chunk cache, size=%d cannot change to %d", chunk->header_.payload_length_, payload_length);
}
- chunk->header.payload_length_ = payload_length;
- chunk->header.message_type_ = *p++;
+ chunk->header_.payload_length_ = payload_length;
+ chunk->header_.message_type_ = *p++;
if (fmt == RTMP_FMT_TYPE0) {
- pp = (char *)&chunk->header.stream_id_;
+ pp = (char *)&chunk->header_.stream_id_;
pp[0] = *p++;
pp[1] = *p++;
pp[2] = *p++;
@@ -1047,13 +1047,13 @@ srs_error_t SrsProtocol::read_message_header(SrsChunkStream *chunk, char fmt)
}
// read extended-timestamp
- if (chunk->has_extended_timestamp) {
- if ((err = in_buffer->grow(skt, 4)) != srs_success) {
+ if (chunk->has_extended_timestamp_) {
+ if ((err = in_buffer_->grow(skt_, 4)) != srs_success) {
return srs_error_wrap(err, "read 4 bytes ext timestamp");
}
// the ptr to the slice maybe invalid when grow()
// reset the p to get 4bytes slice.
- char *p = in_buffer->read_slice(4);
+ char *p = in_buffer_->read_slice(4);
uint32_t timestamp = 0x00;
char *pp = (char *)×tamp;
@@ -1104,11 +1104,11 @@ srs_error_t SrsProtocol::read_message_header(SrsChunkStream *chunk, char fmt)
* is not present (RTMP v1 2009 version). See https://github.com/veovera/enhanced-rtmp/issues/42
* for details.
*/
- uint32_t chunk_extended_timestamp = (uint32_t)chunk->extended_timestamp;
+ uint32_t chunk_extended_timestamp = (uint32_t)chunk->extended_timestamp_;
if (!is_first_chunk_of_msg && chunk_extended_timestamp > 0 && chunk_extended_timestamp != timestamp) {
- in_buffer->skip(-4);
+ in_buffer_->skip(-4);
} else {
- chunk->extended_timestamp = timestamp;
+ chunk->extended_timestamp_ = timestamp;
}
}
@@ -1125,18 +1125,18 @@ srs_error_t SrsProtocol::read_message_header(SrsChunkStream *chunk, char fmt)
// 0x00ffffff), this value MUST be 16777215, and the 'extended
// timestamp header' MUST be present. Otherwise, this value SHOULD be
// the entire delta.
- uint32_t timestamp = chunk->has_extended_timestamp ? chunk->extended_timestamp : chunk->header.timestamp_delta_;
+ uint32_t timestamp = chunk->has_extended_timestamp_ ? chunk->extended_timestamp_ : chunk->header_.timestamp_delta_;
if (fmt == RTMP_FMT_TYPE0) {
// 6.1.2.1. Type 0
// For a type-0 chunk, the absolute timestamp of the message is sent
// here.
- chunk->header.timestamp_ = timestamp;
+ chunk->header_.timestamp_ = timestamp;
} else if (is_first_chunk_of_msg) {
// 6.1.2.2. Type 1
// 6.1.2.3. Type 2
// For a type-1 or type-2 chunk, the difference between the previous
// chunk's timestamp and the current chunk's timestamp is sent here.
- chunk->header.timestamp_ += timestamp;
+ chunk->header_.timestamp_ += timestamp;
}
// the extended-timestamp must be unsigned-int,
@@ -1159,17 +1159,17 @@ srs_error_t SrsProtocol::read_message_header(SrsChunkStream *chunk, char fmt)
// milliseconds.
// in a word, 31bits timestamp is ok.
// convert extended timestamp to 31bits.
- chunk->header.timestamp_ &= 0x7fffffff;
+ chunk->header_.timestamp_ &= 0x7fffffff;
// valid message, the payload_length is 24bits,
// so it should never be negative.
- srs_assert(chunk->header.payload_length_ >= 0);
+ srs_assert(chunk->header_.payload_length_ >= 0);
// copy header to msg
- chunk->msg->header_ = chunk->header;
+ chunk->msg_->header_ = chunk->header_;
// increase the msg count, the chunk stream can accept fmt=1/2/3 message now.
- chunk->msg_count++;
+ chunk->msg_count_++;
return err;
}
@@ -1179,43 +1179,43 @@ srs_error_t SrsProtocol::read_message_payload(SrsChunkStream *chunk, SrsRtmpComm
srs_error_t err = srs_success;
// empty message
- if (chunk->header.payload_length_ <= 0) {
- srs_trace("get an empty RTMP message(type=%d, size=%d, time=%" PRId64 ", sid=%d)", chunk->header.message_type_,
- chunk->header.payload_length_, chunk->header.timestamp_, chunk->header.stream_id_);
+ if (chunk->header_.payload_length_ <= 0) {
+ srs_trace("get an empty RTMP message(type=%d, size=%d, time=%" PRId64 ", sid=%d)", chunk->header_.message_type_,
+ chunk->header_.payload_length_, chunk->header_.timestamp_, chunk->header_.stream_id_);
- *pmsg = chunk->msg;
+ *pmsg = chunk->msg_;
- chunk->msg = NULL;
+ chunk->msg_ = NULL;
chunk->writing_pos_ = NULL;
return err;
}
- srs_assert(chunk->header.payload_length_ > 0);
+ srs_assert(chunk->header_.payload_length_ > 0);
// the chunk payload size.
- int nn_written = (int)(chunk->writing_pos_ - chunk->msg->payload());
- int payload_size = chunk->header.payload_length_ - nn_written; // Left bytes to read.
- payload_size = srs_min(payload_size, in_chunk_size); // Restrict to chunk size.
+ int nn_written = (int)(chunk->writing_pos_ - chunk->msg_->payload());
+ int payload_size = chunk->header_.payload_length_ - nn_written; // Left bytes to read.
+ payload_size = srs_min(payload_size, in_chunk_size_); // Restrict to chunk size.
// create msg payload if not initialized
- if (!chunk->msg->payload()) {
- chunk->msg->create_payload(chunk->header.payload_length_);
- chunk->writing_pos_ = chunk->msg->payload();
+ if (!chunk->msg_->payload()) {
+ chunk->msg_->create_payload(chunk->header_.payload_length_);
+ chunk->writing_pos_ = chunk->msg_->payload();
}
// read payload to buffer
- if ((err = in_buffer->grow(skt, payload_size)) != srs_success) {
+ if ((err = in_buffer_->grow(skt_, payload_size)) != srs_success) {
return srs_error_wrap(err, "read %d bytes payload", payload_size);
}
- memcpy(chunk->writing_pos_, in_buffer->read_slice(payload_size), payload_size);
+ memcpy(chunk->writing_pos_, in_buffer_->read_slice(payload_size), payload_size);
chunk->writing_pos_ += payload_size;
// got entire RTMP message?
- nn_written = (int)(chunk->writing_pos_ - chunk->msg->payload());
- if (nn_written == chunk->header.payload_length_) {
- *pmsg = chunk->msg;
+ nn_written = (int)(chunk->writing_pos_ - chunk->msg_->payload());
+ if (nn_written == chunk->header_.payload_length_) {
+ *pmsg = chunk->msg_;
- chunk->msg = NULL;
+ chunk->msg_ = NULL;
chunk->writing_pos_ = NULL;
return err;
}
@@ -1259,8 +1259,8 @@ srs_error_t SrsProtocol::on_recv_message(SrsRtmpCommonMessage *msg)
SrsSetWindowAckSizePacket *pkt = dynamic_cast(packet.get());
srs_assert(pkt != NULL);
- if (pkt->ackowledgement_window_size > 0) {
- in_ack_size.window = (uint32_t)pkt->ackowledgement_window_size;
+ if (pkt->ackowledgement_window_size_ > 0) {
+ in_ack_size_.window_ = (uint32_t)pkt->ackowledgement_window_size_;
// @remark, we ignore this message, for user noneed to care.
// but it's important for dev, for client/server will block if required
// ack msg not arrived.
@@ -1274,28 +1274,28 @@ srs_error_t SrsProtocol::on_recv_message(SrsRtmpCommonMessage *msg)
// for some server, the actual chunk size can greater than the max value(65536),
// so we just warning the invalid chunk size, and actually use it is ok,
// @see: https://github.com/ossrs/srs/issues/160
- if (pkt->chunk_size < SRS_CONSTS_RTMP_MIN_CHUNK_SIZE || pkt->chunk_size > SRS_CONSTS_RTMP_MAX_CHUNK_SIZE) {
+ if (pkt->chunk_size_ < SRS_CONSTS_RTMP_MIN_CHUNK_SIZE || pkt->chunk_size_ > SRS_CONSTS_RTMP_MAX_CHUNK_SIZE) {
srs_warn("accept chunk=%d, should in [%d, %d], please see #160",
- pkt->chunk_size, SRS_CONSTS_RTMP_MIN_CHUNK_SIZE, SRS_CONSTS_RTMP_MAX_CHUNK_SIZE);
+ pkt->chunk_size_, SRS_CONSTS_RTMP_MIN_CHUNK_SIZE, SRS_CONSTS_RTMP_MAX_CHUNK_SIZE);
}
// @see: https://github.com/ossrs/srs/issues/541
- if (pkt->chunk_size < SRS_CONSTS_RTMP_MIN_CHUNK_SIZE) {
- return srs_error_new(ERROR_RTMP_CHUNK_SIZE, "chunk size should be %d+, value=%d", SRS_CONSTS_RTMP_MIN_CHUNK_SIZE, pkt->chunk_size);
+ if (pkt->chunk_size_ < SRS_CONSTS_RTMP_MIN_CHUNK_SIZE) {
+ return srs_error_new(ERROR_RTMP_CHUNK_SIZE, "chunk size should be %d+, value=%d", SRS_CONSTS_RTMP_MIN_CHUNK_SIZE, pkt->chunk_size_);
}
- in_chunk_size = pkt->chunk_size;
+ in_chunk_size_ = pkt->chunk_size_;
break;
}
case RTMP_MSG_UserControlMessage: {
SrsUserControlPacket *pkt = dynamic_cast(packet.get());
srs_assert(pkt != NULL);
- if (pkt->event_type == SrcPCUCSetBufferLength) {
- in_buffer_length = pkt->extra_data;
+ if (pkt->event_type_ == SrcPCUCSetBufferLength) {
+ in_buffer_length_ = pkt->extra_data_;
}
- if (pkt->event_type == SrcPCUCPingRequest) {
- if ((err = response_ping_message(pkt->event_data)) != srs_success) {
+ if (pkt->event_type_ == SrcPCUCPingRequest) {
+ if ((err = response_ping_message(pkt->event_data_)) != srs_success) {
return srs_error_wrap(err, "response ping");
}
}
@@ -1320,12 +1320,12 @@ srs_error_t SrsProtocol::on_send_packet(SrsMessageHeader *mh, SrsRtmpCommand *pa
switch (mh->message_type_) {
case RTMP_MSG_SetChunkSize: {
SrsSetChunkSizePacket *pkt = dynamic_cast(packet);
- out_chunk_size = pkt->chunk_size;
+ out_chunk_size_ = pkt->chunk_size_;
break;
}
case RTMP_MSG_WindowAcknowledgementSize: {
SrsSetWindowAckSizePacket *pkt = dynamic_cast(packet);
- out_ack_size.window = (uint32_t)pkt->ackowledgement_window_size;
+ out_ack_size_.window_ = (uint32_t)pkt->ackowledgement_window_size_;
break;
}
case RTMP_MSG_AMF0CommandMessage:
@@ -1333,21 +1333,21 @@ srs_error_t SrsProtocol::on_send_packet(SrsMessageHeader *mh, SrsRtmpCommand *pa
if (true) {
SrsConnectAppPacket *pkt = dynamic_cast(packet);
if (pkt) {
- requests[pkt->transaction_id] = pkt->command_name;
+ requests_[pkt->transaction_id_] = pkt->command_name_;
break;
}
}
if (true) {
SrsCreateStreamPacket *pkt = dynamic_cast(packet);
if (pkt) {
- requests[pkt->transaction_id] = pkt->command_name;
+ requests_[pkt->transaction_id_] = pkt->command_name_;
break;
}
}
if (true) {
SrsFMLEStartPacket *pkt = dynamic_cast(packet);
if (pkt) {
- requests[pkt->transaction_id] = pkt->command_name;
+ requests_[pkt->transaction_id_] = pkt->command_name_;
break;
}
}
@@ -1367,30 +1367,30 @@ srs_error_t SrsProtocol::response_acknowledgement_message()
{
srs_error_t err = srs_success;
- if (in_ack_size.window <= 0) {
+ if (in_ack_size_.window_ <= 0) {
return err;
}
// ignore when delta bytes not exceed half of window(ack size).
- uint32_t delta = (uint32_t)(skt->get_recv_bytes() - in_ack_size.nb_recv_bytes);
- if (delta < in_ack_size.window / 2) {
+ uint32_t delta = (uint32_t)(skt_->get_recv_bytes() - in_ack_size_.nb_recv_bytes_);
+ if (delta < in_ack_size_.window_ / 2) {
return err;
}
- in_ack_size.nb_recv_bytes = skt->get_recv_bytes();
+ in_ack_size_.nb_recv_bytes_ = skt_->get_recv_bytes();
// when the sequence number overflow, reset it.
- uint32_t sequence_number = in_ack_size.sequence_number + delta;
+ uint32_t sequence_number = in_ack_size_.sequence_number_ + delta;
if (sequence_number > 0xf0000000) {
sequence_number = delta;
}
- in_ack_size.sequence_number = sequence_number;
+ in_ack_size_.sequence_number_ = sequence_number;
SrsAcknowledgementPacket *pkt = new SrsAcknowledgementPacket();
- pkt->sequence_number = sequence_number;
+ pkt->sequence_number_ = sequence_number;
// cache the message and use flush to send.
- if (!auto_response_when_recv) {
- manual_response_queue.push_back(pkt);
+ if (!auto_response_when_recv_) {
+ manual_response_queue_.push_back(pkt);
return err;
}
@@ -1410,12 +1410,12 @@ srs_error_t SrsProtocol::response_ping_message(int32_t timestamp)
SrsUserControlPacket *pkt = new SrsUserControlPacket();
- pkt->event_type = SrcPCUCPingResponse;
- pkt->event_data = timestamp;
+ pkt->event_type_ = SrcPCUCPingResponse;
+ pkt->event_data_ = timestamp;
// cache the message and use flush to send.
- if (!auto_response_when_recv) {
- manual_response_queue.push_back(pkt);
+ if (!auto_response_when_recv_) {
+ manual_response_queue_.push_back(pkt);
return err;
}
@@ -1429,27 +1429,27 @@ srs_error_t SrsProtocol::response_ping_message(int32_t timestamp)
void SrsProtocol::print_debug_info()
{
- if (show_debug_info) {
- show_debug_info = false;
- srs_trace("protocol in.buffer=%d, in.ack=%d, out.ack=%d, in.chunk=%d, out.chunk=%d", in_buffer_length,
- in_ack_size.window, out_ack_size.window, in_chunk_size, out_chunk_size);
+ if (show_debug_info_) {
+ show_debug_info_ = false;
+ srs_trace("protocol in.buffer=%d, in.ack=%d, out.ack=%d, in.chunk=%d, out.chunk=%d", in_buffer_length_,
+ in_ack_size_.window_, out_ack_size_.window_, in_chunk_size_, out_chunk_size_);
}
}
SrsChunkStream::SrsChunkStream(int _cid)
{
- fmt = 0;
- cid = _cid;
- has_extended_timestamp = false;
- msg = NULL;
+ fmt_ = 0;
+ cid_ = _cid;
+ has_extended_timestamp_ = false;
+ msg_ = NULL;
writing_pos_ = NULL;
- msg_count = 0;
- extended_timestamp = 0;
+ msg_count_ = 0;
+ extended_timestamp_ = 0;
}
SrsChunkStream::~SrsChunkStream()
{
- srs_freep(msg);
+ srs_freep(msg_);
}
ISrsRequest::ISrsRequest()
@@ -1466,106 +1466,106 @@ void ISrsRequest::on_source_created()
SrsRequest::SrsRequest()
{
- objectEncoding = RTMP_SIG_AMF0_VER;
- duration = -1;
- port = SRS_CONSTS_RTMP_DEFAULT_PORT;
- args = NULL;
+ objectEncoding_ = RTMP_SIG_AMF0_VER;
+ duration_ = -1;
+ port_ = SRS_CONSTS_RTMP_DEFAULT_PORT;
+ args_ = NULL;
- protocol = "rtmp";
+ protocol_ = "rtmp";
}
SrsRequest::~SrsRequest()
{
- srs_freep(args);
+ srs_freep(args_);
}
ISrsRequest *SrsRequest::copy()
{
SrsRequest *cp = new SrsRequest();
- cp->ip = ip;
- cp->vhost = vhost;
- cp->app = app;
- cp->objectEncoding = objectEncoding;
- cp->pageUrl = pageUrl;
- cp->host = host;
- cp->port = port;
- cp->param = param;
- cp->schema = schema;
- cp->stream = stream;
- cp->swfUrl = swfUrl;
- cp->tcUrl = tcUrl;
- cp->duration = duration;
- if (args) {
- cp->args = args->copy()->to_object();
- }
-
- cp->protocol = protocol;
+ cp->ip_ = ip_;
+ cp->vhost_ = vhost_;
+ cp->app_ = app_;
+ cp->objectEncoding_ = objectEncoding_;
+ cp->pageUrl_ = pageUrl_;
+ cp->host_ = host_;
+ cp->port_ = port_;
+ cp->param_ = param_;
+ cp->schema_ = schema_;
+ cp->stream_ = stream_;
+ cp->swfUrl_ = swfUrl_;
+ cp->tcUrl_ = tcUrl_;
+ cp->duration_ = duration_;
+ if (args_) {
+ cp->args_ = args_->copy()->to_object();
+ }
+
+ cp->protocol_ = protocol_;
return cp;
}
void SrsRequest::update_auth(ISrsRequest *req)
{
- pageUrl = req->pageUrl;
- swfUrl = req->swfUrl;
- tcUrl = req->tcUrl;
- param = req->param;
+ pageUrl_ = req->pageUrl_;
+ swfUrl_ = req->swfUrl_;
+ tcUrl_ = req->tcUrl_;
+ param_ = req->param_;
- ip = req->ip;
- vhost = req->vhost;
- app = req->app;
- objectEncoding = req->objectEncoding;
- host = req->host;
- port = req->port;
- param = req->param;
- schema = req->schema;
- duration = req->duration;
+ ip_ = req->ip_;
+ vhost_ = req->vhost_;
+ app_ = req->app_;
+ objectEncoding_ = req->objectEncoding_;
+ host_ = req->host_;
+ port_ = req->port_;
+ param_ = req->param_;
+ schema_ = req->schema_;
+ duration_ = req->duration_;
- if (args) {
- srs_freep(args);
+ if (args_) {
+ srs_freep(args_);
}
- if (req->args) {
- args = req->args->copy()->to_object();
+ if (req->args_) {
+ args_ = req->args_->copy()->to_object();
}
- protocol = req->protocol;
+ protocol_ = req->protocol_;
srs_info("update req of soruce for auth ok");
}
string SrsRequest::get_stream_url()
{
- return srs_net_url_encode_sid(vhost, app, stream);
+ return srs_net_url_encode_sid(vhost_, app_, stream_);
}
void SrsRequest::strip()
{
// remove the unsupported chars in names.
- host = srs_strings_remove(host, "/ \n\r\t");
- vhost = srs_strings_remove(vhost, "/ \n\r\t");
- app = srs_strings_remove(app, " \n\r\t");
- stream = srs_strings_remove(stream, " \n\r\t");
+ host_ = srs_strings_remove(host_, "/ \n\r\t");
+ vhost_ = srs_strings_remove(vhost_, "/ \n\r\t");
+ app_ = srs_strings_remove(app_, " \n\r\t");
+ stream_ = srs_strings_remove(stream_, " \n\r\t");
// remove end slash of app/stream
- app = srs_strings_trim_end(app, "/");
- stream = srs_strings_trim_end(stream, "/");
+ app_ = srs_strings_trim_end(app_, "/");
+ stream_ = srs_strings_trim_end(stream_, "/");
// remove start slash of app/stream
- app = srs_strings_trim_start(app, "/");
- stream = srs_strings_trim_start(stream, "/");
+ app_ = srs_strings_trim_start(app_, "/");
+ stream_ = srs_strings_trim_start(stream_, "/");
}
ISrsRequest *SrsRequest::as_http()
{
- schema = "http";
- tcUrl = srs_net_url_encode_tcurl(schema, host, vhost, app, port);
+ schema_ = "http";
+ tcUrl_ = srs_net_url_encode_tcurl(schema_, host_, vhost_, app_, port_);
return this;
}
SrsResponse::SrsResponse()
{
- stream_id = SRS_DEFAULT_SID;
+ stream_id_ = SRS_DEFAULT_SID;
}
SrsResponse::~SrsResponse()
@@ -1607,8 +1607,8 @@ bool srs_client_type_is_publish(SrsRtmpConnType type)
SrsHandshakeBytes::SrsHandshakeBytes()
{
- c0c1 = s0s1s2 = c2 = NULL;
- proxy_real_ip = 0;
+ c0c1_ = s0s1s2_ = c2_ = NULL;
+ proxy_real_ip_ = 0;
}
SrsHandshakeBytes::~SrsHandshakeBytes()
@@ -1618,29 +1618,29 @@ SrsHandshakeBytes::~SrsHandshakeBytes()
void SrsHandshakeBytes::dispose()
{
- srs_freepa(c0c1);
- srs_freepa(s0s1s2);
- srs_freepa(c2);
+ srs_freepa(c0c1_);
+ srs_freepa(s0s1s2_);
+ srs_freepa(c2_);
}
srs_error_t SrsHandshakeBytes::read_c0c1(ISrsProtocolReader *io)
{
srs_error_t err = srs_success;
- if (c0c1) {
+ if (c0c1_) {
return err;
}
ssize_t nsize;
- c0c1 = new char[1537];
- if ((err = io->read_fully(c0c1, 1537, &nsize)) != srs_success) {
+ c0c1_ = new char[1537];
+ if ((err = io->read_fully(c0c1_, 1537, &nsize)) != srs_success) {
return srs_error_wrap(err, "read c0c1");
}
// Whether RTMP proxy, @see https://github.com/ossrs/go-oryx/wiki/RtmpProxy
- if (uint8_t(c0c1[0]) == 0xF3) {
- uint16_t nn = uint16_t(c0c1[1]) << 8 | uint16_t(c0c1[2]);
+ if (uint8_t(c0c1_[0]) == 0xF3) {
+ uint16_t nn = uint16_t(c0c1_[1]) << 8 | uint16_t(c0c1_[2]);
ssize_t nn_consumed = 3 + nn;
if (nn > 1024) {
return srs_error_new(ERROR_RTMP_PROXY_EXCEED, "proxy exceed max size, nn=%d", nn);
@@ -1648,12 +1648,12 @@ srs_error_t SrsHandshakeBytes::read_c0c1(ISrsProtocolReader *io)
// 4B client real IP.
if (nn >= 4) {
- proxy_real_ip = uint32_t(c0c1[3]) << 24 | uint32_t(c0c1[4]) << 16 | uint32_t(c0c1[5]) << 8 | uint32_t(c0c1[6]);
+ proxy_real_ip_ = uint32_t(c0c1_[3]) << 24 | uint32_t(c0c1_[4]) << 16 | uint32_t(c0c1_[5]) << 8 | uint32_t(c0c1_[6]);
nn -= 4;
}
- memmove(c0c1, c0c1 + nn_consumed, 1537 - nn_consumed);
- if ((err = io->read_fully(c0c1 + 1537 - nn_consumed, nn_consumed, &nsize)) != srs_success) {
+ memmove(c0c1_, c0c1_ + nn_consumed, 1537 - nn_consumed);
+ if ((err = io->read_fully(c0c1_ + 1537 - nn_consumed, nn_consumed, &nsize)) != srs_success) {
return srs_error_wrap(err, "read c0c1");
}
}
@@ -1665,14 +1665,14 @@ srs_error_t SrsHandshakeBytes::read_s0s1s2(ISrsProtocolReader *io)
{
srs_error_t err = srs_success;
- if (s0s1s2) {
+ if (s0s1s2_) {
return err;
}
ssize_t nsize;
- s0s1s2 = new char[3073];
- if ((err = io->read_fully(s0s1s2, 3073, &nsize)) != srs_success) {
+ s0s1s2_ = new char[3073];
+ if ((err = io->read_fully(s0s1s2_, 3073, &nsize)) != srs_success) {
return srs_error_wrap(err, "read s0s1s2");
}
@@ -1683,14 +1683,14 @@ srs_error_t SrsHandshakeBytes::read_c2(ISrsProtocolReader *io)
{
srs_error_t err = srs_success;
- if (c2) {
+ if (c2_) {
return err;
}
ssize_t nsize;
- c2 = new char[1536];
- if ((err = io->read_fully(c2, 1536, &nsize)) != srs_success) {
+ c2_ = new char[1536];
+ if ((err = io->read_fully(c2_, 1536, &nsize)) != srs_success) {
return srs_error_wrap(err, "read c2");
}
@@ -1701,15 +1701,15 @@ srs_error_t SrsHandshakeBytes::create_c0c1()
{
srs_error_t err = srs_success;
- if (c0c1) {
+ if (c0c1_) {
return err;
}
- c0c1 = new char[1537];
- srs_rand_gen_bytes(c0c1, 1537);
+ c0c1_ = new char[1537];
+ srs_rand_gen_bytes(c0c1_, 1537);
// plain text required.
- SrsBuffer stream(c0c1, 9);
+ SrsBuffer stream(c0c1_, 9);
stream.write_1bytes(0x03);
stream.write_4bytes((int32_t)::time(NULL));
@@ -1722,27 +1722,27 @@ srs_error_t SrsHandshakeBytes::create_s0s1s2(const char *c1)
{
srs_error_t err = srs_success;
- if (s0s1s2) {
+ if (s0s1s2_) {
return err;
}
- s0s1s2 = new char[3073];
- srs_rand_gen_bytes(s0s1s2, 3073);
+ s0s1s2_ = new char[3073];
+ srs_rand_gen_bytes(s0s1s2_, 3073);
// plain text required.
- SrsBuffer stream(s0s1s2, 9);
+ SrsBuffer stream(s0s1s2_, 9);
stream.write_1bytes(0x03);
stream.write_4bytes((int32_t)::time(NULL));
// s1 time2 copy from c1
- if (c0c1) {
- stream.write_bytes(c0c1 + 1, 4);
+ if (c0c1_) {
+ stream.write_bytes(c0c1_ + 1, 4);
}
// if c1 specified, copy c1 to s2.
// @see: https://github.com/ossrs/srs/issues/46
if (c1) {
- memcpy(s0s1s2 + 1537, c1, 1536);
+ memcpy(s0s1s2_ + 1537, c1, 1536);
}
return err;
@@ -1752,20 +1752,20 @@ srs_error_t SrsHandshakeBytes::create_c2()
{
srs_error_t err = srs_success;
- if (c2) {
+ if (c2_) {
return err;
}
- c2 = new char[1536];
- srs_rand_gen_bytes(c2, 1536);
+ c2_ = new char[1536];
+ srs_rand_gen_bytes(c2_, 1536);
// time
- SrsBuffer stream(c2, 8);
+ SrsBuffer stream(c2_, 8);
stream.write_4bytes((int32_t)::time(NULL));
// c2 time2 copy from s1
- if (s0s1s2) {
- stream.write_bytes(s0s1s2 + 1, 4);
+ if (s0s1s2_) {
+ stream.write_bytes(s0s1s2_ + 1, 4);
}
return err;
@@ -1773,85 +1773,85 @@ srs_error_t SrsHandshakeBytes::create_c2()
SrsServerInfo::SrsServerInfo()
{
- pid = cid = 0;
- major = minor = revision = build = 0;
+ pid_ = cid_ = 0;
+ major_ = minor_ = revision_ = build_ = 0;
}
SrsRtmpClient::SrsRtmpClient(ISrsProtocolReadWriter *skt)
{
- io = skt;
- protocol = new SrsProtocol(skt);
- hs_bytes = new SrsHandshakeBytes();
+ io_ = skt;
+ protocol_ = new SrsProtocol(skt);
+ hs_bytes_ = new SrsHandshakeBytes();
}
SrsRtmpClient::~SrsRtmpClient()
{
- srs_freep(protocol);
- srs_freep(hs_bytes);
+ srs_freep(protocol_);
+ srs_freep(hs_bytes_);
}
void SrsRtmpClient::set_recv_timeout(srs_utime_t tm)
{
- protocol->set_recv_timeout(tm);
+ protocol_->set_recv_timeout(tm);
}
void SrsRtmpClient::set_send_timeout(srs_utime_t tm)
{
- protocol->set_send_timeout(tm);
+ protocol_->set_send_timeout(tm);
}
int64_t SrsRtmpClient::get_recv_bytes()
{
- return protocol->get_recv_bytes();
+ return protocol_->get_recv_bytes();
}
int64_t SrsRtmpClient::get_send_bytes()
{
- return protocol->get_send_bytes();
+ return protocol_->get_send_bytes();
}
srs_error_t SrsRtmpClient::recv_message(SrsRtmpCommonMessage **pmsg)
{
- return protocol->recv_message(pmsg);
+ return protocol_->recv_message(pmsg);
}
srs_error_t SrsRtmpClient::decode_message(SrsRtmpCommonMessage *msg, SrsRtmpCommand **ppacket)
{
- return protocol->decode_message(msg, ppacket);
+ return protocol_->decode_message(msg, ppacket);
}
srs_error_t SrsRtmpClient::send_and_free_message(SrsMediaPacket *msg, int stream_id)
{
- return protocol->send_and_free_message(msg, stream_id);
+ return protocol_->send_and_free_message(msg, stream_id);
}
srs_error_t SrsRtmpClient::send_and_free_messages(SrsMediaPacket **msgs, int nb_msgs, int stream_id)
{
- return protocol->send_and_free_messages(msgs, nb_msgs, stream_id);
+ return protocol_->send_and_free_messages(msgs, nb_msgs, stream_id);
}
srs_error_t SrsRtmpClient::send_and_free_packet(SrsRtmpCommand *packet, int stream_id)
{
- return protocol->send_and_free_packet(packet, stream_id);
+ return protocol_->send_and_free_packet(packet, stream_id);
}
srs_error_t SrsRtmpClient::handshake()
{
srs_error_t err = srs_success;
- srs_assert(hs_bytes);
+ srs_assert(hs_bytes_);
// maybe st has problem when alloc object on stack, always alloc object at heap.
// @see https://github.com/ossrs/srs/issues/509
SrsUniquePtr complex_hs(new SrsComplexHandshake());
- if ((err = complex_hs->handshake_with_server(hs_bytes, io)) != srs_success) {
+ if ((err = complex_hs->handshake_with_server(hs_bytes_, io_)) != srs_success) {
// As client, we never verify s0s1s2, because some server doesn't follow the RTMP spec.
// So we never have chance to use simple handshake.
return srs_error_wrap(err, "complex handshake");
}
- hs_bytes->dispose();
+ hs_bytes_->dispose();
return err;
}
@@ -1860,14 +1860,14 @@ srs_error_t SrsRtmpClient::simple_handshake()
{
srs_error_t err = srs_success;
- srs_assert(hs_bytes);
+ srs_assert(hs_bytes_);
SrsSimpleHandshake simple_hs;
- if ((err = simple_hs.handshake_with_server(hs_bytes, io)) != srs_success) {
+ if ((err = simple_hs.handshake_with_server(hs_bytes_, io_)) != srs_success) {
return srs_error_wrap(err, "simple handshake");
}
- hs_bytes->dispose();
+ hs_bytes_->dispose();
return err;
}
@@ -1876,14 +1876,14 @@ srs_error_t SrsRtmpClient::complex_handshake()
{
srs_error_t err = srs_success;
- srs_assert(hs_bytes);
+ srs_assert(hs_bytes_);
SrsComplexHandshake complex_hs;
- if ((err = complex_hs.handshake_with_server(hs_bytes, io)) != srs_success) {
+ if ((err = complex_hs.handshake_with_server(hs_bytes_, io_)) != srs_success) {
return srs_error_wrap(err, "complex handshake");
}
- hs_bytes->dispose();
+ hs_bytes_->dispose();
return err;
}
@@ -1896,38 +1896,38 @@ srs_error_t SrsRtmpClient::connect_app(string app, string tcUrl, ISrsRequest *r,
if (true) {
SrsConnectAppPacket *pkt = new SrsConnectAppPacket();
- pkt->command_object->set("app", SrsAmf0Any::str(app.c_str()));
- pkt->command_object->set("flashVer", SrsAmf0Any::str("WIN 15,0,0,239"));
+ pkt->command_object_->set("app", SrsAmf0Any::str(app.c_str()));
+ pkt->command_object_->set("flashVer", SrsAmf0Any::str("WIN 15,0,0,239"));
if (r) {
- pkt->command_object->set("swfUrl", SrsAmf0Any::str(r->swfUrl.c_str()));
+ pkt->command_object_->set("swfUrl", SrsAmf0Any::str(r->swfUrl_.c_str()));
} else {
- pkt->command_object->set("swfUrl", SrsAmf0Any::str());
+ pkt->command_object_->set("swfUrl", SrsAmf0Any::str());
}
- if (r && r->tcUrl != "") {
- pkt->command_object->set("tcUrl", SrsAmf0Any::str(r->tcUrl.c_str()));
+ if (r && r->tcUrl_ != "") {
+ pkt->command_object_->set("tcUrl", SrsAmf0Any::str(r->tcUrl_.c_str()));
} else {
- pkt->command_object->set("tcUrl", SrsAmf0Any::str(tcUrl.c_str()));
+ pkt->command_object_->set("tcUrl", SrsAmf0Any::str(tcUrl.c_str()));
}
- pkt->command_object->set("fpad", SrsAmf0Any::boolean(false));
- pkt->command_object->set("capabilities", SrsAmf0Any::number(239));
- pkt->command_object->set("audioCodecs", SrsAmf0Any::number(3575));
- pkt->command_object->set("videoCodecs", SrsAmf0Any::number(252));
- pkt->command_object->set("videoFunction", SrsAmf0Any::number(1));
+ pkt->command_object_->set("fpad", SrsAmf0Any::boolean(false));
+ pkt->command_object_->set("capabilities", SrsAmf0Any::number(239));
+ pkt->command_object_->set("audioCodecs", SrsAmf0Any::number(3575));
+ pkt->command_object_->set("videoCodecs", SrsAmf0Any::number(252));
+ pkt->command_object_->set("videoFunction", SrsAmf0Any::number(1));
if (r) {
- pkt->command_object->set("pageUrl", SrsAmf0Any::str(r->pageUrl.c_str()));
+ pkt->command_object_->set("pageUrl", SrsAmf0Any::str(r->pageUrl_.c_str()));
} else {
- pkt->command_object->set("pageUrl", SrsAmf0Any::str());
+ pkt->command_object_->set("pageUrl", SrsAmf0Any::str());
}
- pkt->command_object->set("objectEncoding", SrsAmf0Any::number(0));
+ pkt->command_object_->set("objectEncoding", SrsAmf0Any::number(0));
// @see https://github.com/ossrs/srs/issues/160
// the debug_srs_upnode is config in vhost and default to true.
- if (dsu && r && r->args && r->args->count() > 0) {
- srs_freep(pkt->args);
- pkt->args = r->args->copy()->to_object();
+ if (dsu && r && r->args_ && r->args_->count() > 0) {
+ srs_freep(pkt->args_);
+ pkt->args_ = r->args_->copy()->to_object();
}
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send packet");
}
}
@@ -1935,8 +1935,8 @@ srs_error_t SrsRtmpClient::connect_app(string app, string tcUrl, ISrsRequest *r,
// Set Window Acknowledgement size(2500000)
if (true) {
SrsSetWindowAckSizePacket *pkt = new SrsSetWindowAckSizePacket();
- pkt->ackowledgement_window_size = 2500000;
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ pkt->ackowledgement_window_size_ = 2500000;
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send packet");
}
}
@@ -1952,33 +1952,33 @@ srs_error_t SrsRtmpClient::connect_app(string app, string tcUrl, ISrsRequest *r,
SrsUniquePtr pkt(pkt_raw);
// server info
- SrsAmf0Any *data = pkt->info->get_property("data");
+ SrsAmf0Any *data = pkt->info_->get_property("data");
if (si && data && data->is_ecma_array()) {
SrsAmf0EcmaArray *arr = data->to_ecma_array();
SrsAmf0Any *prop = NULL;
if ((prop = arr->ensure_property_string("srs_server_ip")) != NULL) {
- si->ip = prop->to_str();
+ si->ip_ = prop->to_str();
}
if ((prop = arr->ensure_property_string("srs_server")) != NULL) {
- si->sig = prop->to_str();
+ si->sig_ = prop->to_str();
}
if ((prop = arr->ensure_property_number("srs_id")) != NULL) {
- si->cid = (int)prop->to_number();
+ si->cid_ = (int)prop->to_number();
}
if ((prop = arr->ensure_property_number("srs_pid")) != NULL) {
- si->pid = (int)prop->to_number();
+ si->pid_ = (int)prop->to_number();
}
if ((prop = arr->ensure_property_string("srs_version")) != NULL) {
vector versions = srs_strings_split(prop->to_str(), ".");
if (versions.size() > 0) {
- si->major = ::atoi(versions.at(0).c_str());
+ si->major_ = ::atoi(versions.at(0).c_str());
if (versions.size() > 1) {
- si->minor = ::atoi(versions.at(1).c_str());
+ si->minor_ = ::atoi(versions.at(1).c_str());
if (versions.size() > 2) {
- si->revision = ::atoi(versions.at(2).c_str());
+ si->revision_ = ::atoi(versions.at(2).c_str());
if (versions.size() > 3) {
- si->build = ::atoi(versions.at(3).c_str());
+ si->build_ = ::atoi(versions.at(3).c_str());
}
}
}
@@ -1988,7 +1988,7 @@ srs_error_t SrsRtmpClient::connect_app(string app, string tcUrl, ISrsRequest *r,
if (si) {
srs_trace("connected, version=%d.%d.%d.%d, ip=%s, pid=%d, id=%d, dsu=%d",
- si->major, si->minor, si->revision, si->build, si->ip.c_str(), si->pid, si->cid, dsu);
+ si->major_, si->minor_, si->revision_, si->build_, si->ip_.c_str(), si->pid_, si->cid_, dsu);
} else {
srs_trace("connected, dsu=%d", dsu);
}
@@ -2003,7 +2003,7 @@ srs_error_t SrsRtmpClient::create_stream(int &stream_id)
// CreateStream
if (true) {
SrsCreateStreamPacket *pkt = new SrsCreateStreamPacket();
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send packet");
}
}
@@ -2019,7 +2019,7 @@ srs_error_t SrsRtmpClient::create_stream(int &stream_id)
SrsUniquePtr msg(msg_raw);
SrsUniquePtr pkt(pkt_raw);
- stream_id = (int)pkt->stream_id;
+ stream_id = (int)pkt->stream_id_;
}
return err;
@@ -2032,8 +2032,8 @@ srs_error_t SrsRtmpClient::play(string stream, int stream_id, int chunk_size)
// Play(stream)
if (true) {
SrsPlayPacket *pkt = new SrsPlayPacket();
- pkt->stream_name = stream;
- if ((err = protocol->send_and_free_packet(pkt, stream_id)) != srs_success) {
+ pkt->stream_name_ = stream;
+ if ((err = protocol_->send_and_free_packet(pkt, stream_id)) != srs_success) {
return srs_error_wrap(err, "send play stream failed. stream=%s, stream_id=%d", stream.c_str(), stream_id);
}
}
@@ -2043,11 +2043,11 @@ srs_error_t SrsRtmpClient::play(string stream, int stream_id, int chunk_size)
if (true) {
SrsUserControlPacket *pkt = new SrsUserControlPacket();
- pkt->event_type = SrcPCUCSetBufferLength;
- pkt->event_data = stream_id;
- pkt->extra_data = buffer_length_ms;
+ pkt->event_type_ = SrcPCUCSetBufferLength;
+ pkt->event_data_ = stream_id;
+ pkt->extra_data_ = buffer_length_ms;
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send set buffer length failed. stream=%s, stream_id=%d, bufferLength=%d", stream.c_str(), stream_id, buffer_length_ms);
}
}
@@ -2055,8 +2055,8 @@ srs_error_t SrsRtmpClient::play(string stream, int stream_id, int chunk_size)
// SetChunkSize
if (chunk_size != SRS_CONSTS_RTMP_PROTOCOL_CHUNK_SIZE) {
SrsSetChunkSizePacket *pkt = new SrsSetChunkSizePacket();
- pkt->chunk_size = chunk_size;
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ pkt->chunk_size_ = chunk_size;
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send set chunk size failed. stream=%s, chunk_size=%d", stream.c_str(), chunk_size);
}
}
@@ -2071,8 +2071,8 @@ srs_error_t SrsRtmpClient::publish(string stream, int stream_id, int chunk_size)
// SetChunkSize
if (chunk_size != SRS_CONSTS_RTMP_PROTOCOL_CHUNK_SIZE) {
SrsSetChunkSizePacket *pkt = new SrsSetChunkSizePacket();
- pkt->chunk_size = chunk_size;
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ pkt->chunk_size_ = chunk_size;
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send set chunk size failed. stream=%s, chunk_size=%d", stream.c_str(), chunk_size);
}
}
@@ -2080,8 +2080,8 @@ srs_error_t SrsRtmpClient::publish(string stream, int stream_id, int chunk_size)
// publish(stream)
if (true) {
SrsPublishPacket *pkt = new SrsPublishPacket();
- pkt->stream_name = stream;
- if ((err = protocol->send_and_free_packet(pkt, stream_id)) != srs_success) {
+ pkt->stream_name_ = stream;
+ if ((err = protocol_->send_and_free_packet(pkt, stream_id)) != srs_success) {
return srs_error_wrap(err, "send publish message failed. stream=%s, stream_id=%d", stream.c_str(), stream_id);
}
}
@@ -2098,7 +2098,7 @@ srs_error_t SrsRtmpClient::fmle_publish(string stream, int &stream_id)
// SrsFMLEStartPacket
if (true) {
SrsFMLEStartPacket *pkt = SrsFMLEStartPacket::create_release_stream(stream);
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send FMLE publish release stream failed. stream=%s", stream.c_str());
}
}
@@ -2106,7 +2106,7 @@ srs_error_t SrsRtmpClient::fmle_publish(string stream, int &stream_id)
// FCPublish
if (true) {
SrsFMLEStartPacket *pkt = SrsFMLEStartPacket::create_FC_publish(stream);
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send FMLE publish FCPublish failed. stream=%s", stream.c_str());
}
}
@@ -2114,8 +2114,8 @@ srs_error_t SrsRtmpClient::fmle_publish(string stream, int &stream_id)
// CreateStream
if (true) {
SrsCreateStreamPacket *pkt = new SrsCreateStreamPacket();
- pkt->transaction_id = 4;
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ pkt->transaction_id_ = 4;
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send FMLE publish createStream failed. stream=%s", stream.c_str());
}
}
@@ -2131,14 +2131,14 @@ srs_error_t SrsRtmpClient::fmle_publish(string stream, int &stream_id)
SrsUniquePtr msg(msg_raw);
SrsUniquePtr pkt(pkt_raw);
- stream_id = (int)pkt->stream_id;
+ stream_id = (int)pkt->stream_id_;
}
// publish(stream)
if (true) {
SrsPublishPacket *pkt = new SrsPublishPacket();
- pkt->stream_name = stream;
- if ((err = protocol->send_and_free_packet(pkt, stream_id)) != srs_success) {
+ pkt->stream_name_ = stream;
+ if ((err = protocol_->send_and_free_packet(pkt, stream_id)) != srs_success) {
return srs_error_wrap(err, "send FMLE publish publish failed. stream=%s, stream_id=%d", stream.c_str(), stream_id);
}
}
@@ -2148,107 +2148,107 @@ srs_error_t SrsRtmpClient::fmle_publish(string stream, int &stream_id)
SrsRtmpServer::SrsRtmpServer(ISrsProtocolReadWriter *skt)
{
- io = skt;
- protocol = new SrsProtocol(skt);
- hs_bytes = new SrsHandshakeBytes();
+ io_ = skt;
+ protocol_ = new SrsProtocol(skt);
+ hs_bytes_ = new SrsHandshakeBytes();
}
SrsRtmpServer::~SrsRtmpServer()
{
- srs_freep(protocol);
- srs_freep(hs_bytes);
+ srs_freep(protocol_);
+ srs_freep(hs_bytes_);
}
uint32_t SrsRtmpServer::proxy_real_ip()
{
- return hs_bytes->proxy_real_ip;
+ return hs_bytes_->proxy_real_ip_;
}
void SrsRtmpServer::set_auto_response(bool v)
{
- protocol->set_auto_response(v);
+ protocol_->set_auto_response(v);
}
#ifdef SRS_PERF_MERGED_READ
void SrsRtmpServer::set_merge_read(bool v, IMergeReadHandler *handler)
{
- protocol->set_merge_read(v, handler);
+ protocol_->set_merge_read(v, handler);
}
void SrsRtmpServer::set_recv_buffer(int buffer_size)
{
- protocol->set_recv_buffer(buffer_size);
+ protocol_->set_recv_buffer(buffer_size);
}
#endif
void SrsRtmpServer::set_recv_timeout(srs_utime_t tm)
{
- protocol->set_recv_timeout(tm);
+ protocol_->set_recv_timeout(tm);
}
srs_utime_t SrsRtmpServer::get_recv_timeout()
{
- return protocol->get_recv_timeout();
+ return protocol_->get_recv_timeout();
}
void SrsRtmpServer::set_send_timeout(srs_utime_t tm)
{
- protocol->set_send_timeout(tm);
+ protocol_->set_send_timeout(tm);
}
srs_utime_t SrsRtmpServer::get_send_timeout()
{
- return protocol->get_send_timeout();
+ return protocol_->get_send_timeout();
}
int64_t SrsRtmpServer::get_recv_bytes()
{
- return protocol->get_recv_bytes();
+ return protocol_->get_recv_bytes();
}
int64_t SrsRtmpServer::get_send_bytes()
{
- return protocol->get_send_bytes();
+ return protocol_->get_send_bytes();
}
srs_error_t SrsRtmpServer::recv_message(SrsRtmpCommonMessage **pmsg)
{
- return protocol->recv_message(pmsg);
+ return protocol_->recv_message(pmsg);
}
srs_error_t SrsRtmpServer::decode_message(SrsRtmpCommonMessage *msg, SrsRtmpCommand **ppacket)
{
- return protocol->decode_message(msg, ppacket);
+ return protocol_->decode_message(msg, ppacket);
}
srs_error_t SrsRtmpServer::send_and_free_message(SrsMediaPacket *msg, int stream_id)
{
- return protocol->send_and_free_message(msg, stream_id);
+ return protocol_->send_and_free_message(msg, stream_id);
}
srs_error_t SrsRtmpServer::send_and_free_messages(SrsMediaPacket **msgs, int nb_msgs, int stream_id)
{
- return protocol->send_and_free_messages(msgs, nb_msgs, stream_id);
+ return protocol_->send_and_free_messages(msgs, nb_msgs, stream_id);
}
srs_error_t SrsRtmpServer::send_and_free_packet(SrsRtmpCommand *packet, int stream_id)
{
- return protocol->send_and_free_packet(packet, stream_id);
+ return protocol_->send_and_free_packet(packet, stream_id);
}
srs_error_t SrsRtmpServer::handshake()
{
srs_error_t err = srs_success;
- srs_assert(hs_bytes);
+ srs_assert(hs_bytes_);
SrsComplexHandshake complex_hs;
- if ((err = complex_hs.handshake_with_client(hs_bytes, io)) != srs_success) {
+ if ((err = complex_hs.handshake_with_client(hs_bytes_, io_)) != srs_success) {
if (srs_error_code(err) == ERROR_RTMP_TRY_SIMPLE_HS) {
srs_freep(err);
SrsSimpleHandshake simple_hs;
- if ((err = simple_hs.handshake_with_client(hs_bytes, io)) != srs_success) {
+ if ((err = simple_hs.handshake_with_client(hs_bytes_, io_)) != srs_success) {
return srs_error_wrap(err, "simple handshake");
}
} else {
@@ -2256,7 +2256,7 @@ srs_error_t SrsRtmpServer::handshake()
}
}
- hs_bytes->dispose();
+ hs_bytes_->dispose();
return err;
}
@@ -2276,29 +2276,29 @@ srs_error_t SrsRtmpServer::connect_app(ISrsRequest *req)
SrsAmf0Any *prop = NULL;
- if ((prop = pkt->command_object->ensure_property_string("tcUrl")) == NULL) {
+ if ((prop = pkt->command_object_->ensure_property_string("tcUrl")) == NULL) {
return srs_error_new(ERROR_RTMP_REQ_CONNECT, "invalid request without tcUrl");
}
- req->tcUrl = prop->to_str();
+ req->tcUrl_ = prop->to_str();
- if ((prop = pkt->command_object->ensure_property_string("pageUrl")) != NULL) {
- req->pageUrl = prop->to_str();
+ if ((prop = pkt->command_object_->ensure_property_string("pageUrl")) != NULL) {
+ req->pageUrl_ = prop->to_str();
}
- if ((prop = pkt->command_object->ensure_property_string("swfUrl")) != NULL) {
- req->swfUrl = prop->to_str();
+ if ((prop = pkt->command_object_->ensure_property_string("swfUrl")) != NULL) {
+ req->swfUrl_ = prop->to_str();
}
- if ((prop = pkt->command_object->ensure_property_number("objectEncoding")) != NULL) {
- req->objectEncoding = prop->to_number();
+ if ((prop = pkt->command_object_->ensure_property_number("objectEncoding")) != NULL) {
+ req->objectEncoding_ = prop->to_number();
}
- if (pkt->args) {
- srs_freep(req->args);
- req->args = pkt->args->copy()->to_object();
+ if (pkt->args_) {
+ srs_freep(req->args_);
+ req->args_ = pkt->args_->copy()->to_object();
}
- srs_net_url_parse_tcurl(req->tcUrl, req->schema, req->host, req->vhost, req->app, req->stream, req->port, req->param);
+ srs_net_url_parse_tcurl(req->tcUrl_, req->schema_, req->host_, req->vhost_, req->app_, req->stream_, req->port_, req->param_);
req->strip();
return err;
@@ -2309,8 +2309,8 @@ srs_error_t SrsRtmpServer::set_window_ack_size(int ack_size)
srs_error_t err = srs_success;
SrsSetWindowAckSizePacket *pkt = new SrsSetWindowAckSizePacket();
- pkt->ackowledgement_window_size = ack_size;
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ pkt->ackowledgement_window_size_ = ack_size;
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send ack");
}
@@ -2319,7 +2319,7 @@ srs_error_t SrsRtmpServer::set_window_ack_size(int ack_size)
srs_error_t SrsRtmpServer::set_in_window_ack_size(int ack_size)
{
- return protocol->set_in_window_ack_size(ack_size);
+ return protocol_->set_in_window_ack_size(ack_size);
}
srs_error_t SrsRtmpServer::set_peer_bandwidth(int bandwidth, int type)
@@ -2327,9 +2327,9 @@ srs_error_t SrsRtmpServer::set_peer_bandwidth(int bandwidth, int type)
srs_error_t err = srs_success;
SrsSetPeerBandwidthPacket *pkt = new SrsSetPeerBandwidthPacket();
- pkt->bandwidth = bandwidth;
- pkt->type = type;
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ pkt->bandwidth_ = bandwidth;
+ pkt->type_ = type;
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send set peer bandwidth");
}
@@ -2343,16 +2343,16 @@ srs_error_t SrsRtmpServer::response_connect_app(ISrsRequest *req, const char *se
SrsConnectAppResPacket *pkt = new SrsConnectAppResPacket();
// @remark For windows, there must be a space between const string and macro.
- pkt->props->set("fmsVer", SrsAmf0Any::str("FMS/" RTMP_SIG_FMS_VER));
- pkt->props->set("capabilities", SrsAmf0Any::number(127));
- pkt->props->set("mode", SrsAmf0Any::number(1));
-
- 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", SrsAmf0Any::number(req->objectEncoding));
+ pkt->props_->set("fmsVer", SrsAmf0Any::str("FMS/" RTMP_SIG_FMS_VER));
+ pkt->props_->set("capabilities", SrsAmf0Any::number(127));
+ pkt->props_->set("mode", SrsAmf0Any::number(1));
+
+ 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", SrsAmf0Any::number(req->objectEncoding_));
SrsAmf0EcmaArray *data = SrsAmf0Any::ecma_array();
- pkt->info->set("data", data);
+ pkt->info_->set("data", data);
data->set("version", SrsAmf0Any::str(RTMP_SIG_FMS_VER));
data->set("srs_sig", SrsAmf0Any::str(RTMP_SIG_SRS_KEY));
@@ -2369,7 +2369,7 @@ srs_error_t SrsRtmpServer::response_connect_app(ISrsRequest *req, const char *se
data->set("srs_pid", SrsAmf0Any::number(getpid()));
data->set("srs_id", SrsAmf0Any::str(_srs_context->get_id().c_str()));
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send connect app response");
}
@@ -2393,19 +2393,19 @@ srs_error_t SrsRtmpServer::redirect(ISrsRequest *r, string url, bool &accepted)
SrsOnStatusCallPacket *pkt = new SrsOnStatusCallPacket();
- pkt->data->set(StatusLevel, SrsAmf0Any::str(StatusLevelError));
- pkt->data->set(StatusCode, SrsAmf0Any::str(StatusCodeConnectRejected));
- pkt->data->set(StatusDescription, SrsAmf0Any::str("RTMP 302 Redirect"));
- pkt->data->set("ex", ex);
+ pkt->data_->set(StatusLevel, SrsAmf0Any::str(StatusLevelError));
+ pkt->data_->set(StatusCode, SrsAmf0Any::str(StatusCodeConnectRejected));
+ pkt->data_->set(StatusDescription, SrsAmf0Any::str("RTMP 302 Redirect"));
+ pkt->data_->set("ex", ex);
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send redirect/reject");
}
}
// client must response a call message.
// or we never know whether the client is ok to redirect.
- protocol->set_recv_timeout(SRS_RTMP_REDIRECT_TIMEOUT);
+ protocol_->set_recv_timeout(SRS_RTMP_REDIRECT_TIMEOUT);
if (true) {
SrsRtmpCommonMessage *msg_raw = NULL;
SrsCallPacket *pkt_raw = NULL;
@@ -2419,8 +2419,8 @@ srs_error_t SrsRtmpServer::redirect(ISrsRequest *r, string url, bool &accepted)
SrsUniquePtr pkt(pkt_raw);
string message;
- if (pkt->arguments && pkt->arguments->is_string()) {
- message = pkt->arguments->to_str();
+ if (pkt->arguments_ && pkt->arguments_->is_string()) {
+ message = pkt->arguments_->to_str();
accepted = true;
}
}
@@ -2433,11 +2433,11 @@ void SrsRtmpServer::response_connect_reject(ISrsRequest * /*req*/, const char *d
srs_error_t err = srs_success;
SrsOnStatusCallPacket *pkt = new SrsOnStatusCallPacket();
- pkt->data->set(StatusLevel, SrsAmf0Any::str(StatusLevelError));
- pkt->data->set(StatusCode, SrsAmf0Any::str(StatusCodeConnectRejected));
- pkt->data->set(StatusDescription, SrsAmf0Any::str(desc));
+ pkt->data_->set(StatusLevel, SrsAmf0Any::str(StatusLevelError));
+ pkt->data_->set(StatusCode, SrsAmf0Any::str(StatusCodeConnectRejected));
+ pkt->data_->set(StatusDescription, SrsAmf0Any::str(desc));
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
srs_warn("send reject response err %s", srs_error_desc(err).c_str());
srs_freep(err);
}
@@ -2450,7 +2450,7 @@ srs_error_t SrsRtmpServer::on_bw_done()
srs_error_t err = srs_success;
SrsOnBWDonePacket *pkt = new SrsOnBWDonePacket();
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send onBWDone");
}
@@ -2464,7 +2464,7 @@ srs_error_t SrsRtmpServer::identify_client(int stream_id, SrsRtmpConnType &type,
while (true) {
SrsRtmpCommonMessage *msg_raw = NULL;
- if ((err = protocol->recv_message(&msg_raw)) != srs_success) {
+ if ((err = protocol_->recv_message(&msg_raw)) != srs_success) {
return srs_error_wrap(err, "recv identify message");
}
@@ -2481,7 +2481,7 @@ srs_error_t SrsRtmpServer::identify_client(int stream_id, SrsRtmpConnType &type,
}
SrsRtmpCommand *pkt_raw = NULL;
- if ((err = protocol->decode_message(msg.get(), &pkt_raw)) != srs_success) {
+ if ((err = protocol_->decode_message(msg.get(), &pkt_raw)) != srs_success) {
return srs_error_wrap(err, "decode identify");
}
SrsUniquePtr pkt(pkt_raw);
@@ -2501,17 +2501,17 @@ srs_error_t SrsRtmpServer::identify_client(int stream_id, SrsRtmpConnType &type,
// TODO: FIXME: response in right way, or forward in edge mode.
SrsCallPacket *call = dynamic_cast(pkt.get());
if (call) {
- SrsCallResPacket *res = new SrsCallResPacket(call->transaction_id);
- res->command_object = SrsAmf0Any::null();
- res->response = SrsAmf0Any::null();
- if ((err = protocol->send_and_free_packet(res, 0)) != srs_success) {
+ SrsCallResPacket *res = new SrsCallResPacket(call->transaction_id_);
+ res->command_object_ = SrsAmf0Any::null();
+ res->response_ = SrsAmf0Any::null();
+ if ((err = protocol_->send_and_free_packet(res, 0)) != srs_success) {
return srs_error_wrap(err, "response call");
}
// For encoder of Haivision, it always send a _checkbw call message.
// @remark the next message is createStream, so we continue to identify it.
// @see https://github.com/ossrs/srs/issues/844
- if (call->command_name == "_checkbw") {
+ if (call->command_name_ == "_checkbw") {
continue;
}
continue;
@@ -2528,8 +2528,8 @@ srs_error_t SrsRtmpServer::set_chunk_size(int chunk_size)
srs_error_t err = srs_success;
SrsSetChunkSizePacket *pkt = new SrsSetChunkSizePacket();
- pkt->chunk_size = chunk_size;
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ pkt->chunk_size_ = chunk_size;
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send set chunk size");
}
@@ -2543,9 +2543,9 @@ srs_error_t SrsRtmpServer::start_play(int stream_id)
// StreamBegin
if (true) {
SrsUserControlPacket *pkt = new SrsUserControlPacket();
- pkt->event_type = SrcPCUCStreamBegin;
- pkt->event_data = stream_id;
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ pkt->event_type_ = SrcPCUCStreamBegin;
+ pkt->event_data_ = stream_id;
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send StreamBegin");
}
}
@@ -2554,13 +2554,13 @@ srs_error_t SrsRtmpServer::start_play(int stream_id)
if (true) {
SrsOnStatusCallPacket *pkt = new SrsOnStatusCallPacket();
- 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));
+ 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));
- if ((err = protocol->send_and_free_packet(pkt, stream_id)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, stream_id)) != srs_success) {
return srs_error_wrap(err, "send NetStream.Play.Reset");
}
}
@@ -2569,13 +2569,13 @@ srs_error_t SrsRtmpServer::start_play(int stream_id)
if (true) {
SrsOnStatusCallPacket *pkt = new SrsOnStatusCallPacket();
- 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));
+ 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));
- if ((err = protocol->send_and_free_packet(pkt, stream_id)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, stream_id)) != srs_success) {
return srs_error_wrap(err, "send NetStream.Play.Start");
}
}
@@ -2586,10 +2586,10 @@ srs_error_t SrsRtmpServer::start_play(int stream_id)
// allow audio/video sample.
// @see: https://github.com/ossrs/srs/issues/49
- pkt->audio_sample_access = true;
- pkt->video_sample_access = true;
+ pkt->audio_sample_access_ = true;
+ pkt->video_sample_access_ = true;
- if ((err = protocol->send_and_free_packet(pkt, stream_id)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, stream_id)) != srs_success) {
return srs_error_wrap(err, "send |RtmpSampleAccess true");
}
}
@@ -2598,8 +2598,8 @@ srs_error_t SrsRtmpServer::start_play(int stream_id)
// We should not response this packet, or there is an empty stream "Stream #0:0: Data: none" in FFmpeg.
if (false) {
SrsOnStatusDataPacket *pkt = new SrsOnStatusDataPacket();
- pkt->data->set(StatusCode, SrsAmf0Any::str(StatusCodeDataStart));
- if ((err = protocol->send_and_free_packet(pkt, stream_id)) != srs_success) {
+ pkt->data_->set(StatusCode, SrsAmf0Any::str(StatusCodeDataStart));
+ if ((err = protocol_->send_and_free_packet(pkt, stream_id)) != srs_success) {
return srs_error_wrap(err, "send NetStream.Data.Start");
}
}
@@ -2616,11 +2616,11 @@ srs_error_t SrsRtmpServer::on_play_client_pause(int stream_id, bool is_pause)
if (true) {
SrsOnStatusCallPacket *pkt = new SrsOnStatusCallPacket();
- pkt->data->set(StatusLevel, SrsAmf0Any::str(StatusLevelStatus));
- pkt->data->set(StatusCode, SrsAmf0Any::str(StatusCodeStreamPause));
- pkt->data->set(StatusDescription, SrsAmf0Any::str("Paused stream."));
+ pkt->data_->set(StatusLevel, SrsAmf0Any::str(StatusLevelStatus));
+ pkt->data_->set(StatusCode, SrsAmf0Any::str(StatusCodeStreamPause));
+ pkt->data_->set(StatusDescription, SrsAmf0Any::str("Paused stream."));
- if ((err = protocol->send_and_free_packet(pkt, stream_id)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, stream_id)) != srs_success) {
return srs_error_wrap(err, "send NetStream.Pause.Notify");
}
}
@@ -2628,10 +2628,10 @@ srs_error_t SrsRtmpServer::on_play_client_pause(int stream_id, bool is_pause)
if (true) {
SrsUserControlPacket *pkt = new SrsUserControlPacket();
- pkt->event_type = SrcPCUCStreamEOF;
- pkt->event_data = stream_id;
+ pkt->event_type_ = SrcPCUCStreamEOF;
+ pkt->event_data_ = stream_id;
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send StreamEOF");
}
}
@@ -2640,11 +2640,11 @@ srs_error_t SrsRtmpServer::on_play_client_pause(int stream_id, bool is_pause)
if (true) {
SrsOnStatusCallPacket *pkt = new SrsOnStatusCallPacket();
- pkt->data->set(StatusLevel, SrsAmf0Any::str(StatusLevelStatus));
- pkt->data->set(StatusCode, SrsAmf0Any::str(StatusCodeStreamUnpause));
- pkt->data->set(StatusDescription, SrsAmf0Any::str("Unpaused stream."));
+ pkt->data_->set(StatusLevel, SrsAmf0Any::str(StatusLevelStatus));
+ pkt->data_->set(StatusCode, SrsAmf0Any::str(StatusCodeStreamUnpause));
+ pkt->data_->set(StatusDescription, SrsAmf0Any::str("Unpaused stream."));
- if ((err = protocol->send_and_free_packet(pkt, stream_id)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, stream_id)) != srs_success) {
return srs_error_wrap(err, "send NetStream.Unpause.Notify");
}
}
@@ -2652,10 +2652,10 @@ srs_error_t SrsRtmpServer::on_play_client_pause(int stream_id, bool is_pause)
if (true) {
SrsUserControlPacket *pkt = new SrsUserControlPacket();
- pkt->event_type = SrcPCUCStreamBegin;
- pkt->event_data = stream_id;
+ pkt->event_type_ = SrcPCUCStreamBegin;
+ pkt->event_data_ = stream_id;
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send StreamBegin");
}
}
@@ -2680,12 +2680,12 @@ srs_error_t SrsRtmpServer::start_fmle_publish(int stream_id)
SrsUniquePtr msg(msg_raw);
SrsUniquePtr pkt(pkt_raw);
- fc_publish_tid = pkt->transaction_id;
+ fc_publish_tid = pkt->transaction_id_;
}
// FCPublish response
if (true) {
SrsFMLEStartResPacket *pkt = new SrsFMLEStartResPacket(fc_publish_tid);
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send FCPublish response");
}
}
@@ -2702,12 +2702,12 @@ srs_error_t SrsRtmpServer::start_fmle_publish(int stream_id)
SrsUniquePtr msg(msg_raw);
SrsUniquePtr pkt(pkt_raw);
- create_stream_tid = pkt->transaction_id;
+ create_stream_tid = pkt->transaction_id_;
}
// createStream response
if (true) {
SrsCreateStreamResPacket *pkt = new SrsCreateStreamResPacket(create_stream_tid, stream_id);
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send createStream response");
}
}
@@ -2727,11 +2727,11 @@ srs_error_t SrsRtmpServer::start_fmle_publish(int stream_id)
if (true) {
SrsOnStatusCallPacket *pkt = new SrsOnStatusCallPacket();
- pkt->command_name = RTMP_AMF0_COMMAND_ON_FC_PUBLISH;
- pkt->data->set(StatusCode, SrsAmf0Any::str(StatusCodePublishStart));
- pkt->data->set(StatusDescription, SrsAmf0Any::str("Started publishing stream."));
+ pkt->command_name_ = RTMP_AMF0_COMMAND_ON_FC_PUBLISH;
+ pkt->data_->set(StatusCode, SrsAmf0Any::str(StatusCodePublishStart));
+ pkt->data_->set(StatusDescription, SrsAmf0Any::str("Started publishing stream."));
- if ((err = protocol->send_and_free_packet(pkt, stream_id)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, stream_id)) != srs_success) {
return srs_error_wrap(err, "send NetStream.Publish.Start");
}
}
@@ -2759,11 +2759,11 @@ srs_error_t SrsRtmpServer::start_haivision_publish(int stream_id)
if (true) {
SrsOnStatusCallPacket *pkt = new SrsOnStatusCallPacket();
- pkt->command_name = RTMP_AMF0_COMMAND_ON_FC_PUBLISH;
- pkt->data->set(StatusCode, SrsAmf0Any::str(StatusCodePublishStart));
- pkt->data->set(StatusDescription, SrsAmf0Any::str("Started publishing stream."));
+ pkt->command_name_ = RTMP_AMF0_COMMAND_ON_FC_PUBLISH;
+ pkt->data_->set(StatusCode, SrsAmf0Any::str(StatusCodePublishStart));
+ pkt->data_->set(StatusDescription, SrsAmf0Any::str("Started publishing stream."));
- if ((err = protocol->send_and_free_packet(pkt, stream_id)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, stream_id)) != srs_success) {
return srs_error_wrap(err, "send NetStream.Publish.Start");
}
}
@@ -2779,18 +2779,18 @@ srs_error_t SrsRtmpServer::fmle_unpublish(int stream_id, double unpublish_tid)
if (true) {
SrsOnStatusCallPacket *pkt = new SrsOnStatusCallPacket();
- pkt->command_name = RTMP_AMF0_COMMAND_ON_FC_UNPUBLISH;
- pkt->data->set(StatusCode, SrsAmf0Any::str(StatusCodeUnpublishSuccess));
- pkt->data->set(StatusDescription, SrsAmf0Any::str("Stop publishing stream."));
+ pkt->command_name_ = RTMP_AMF0_COMMAND_ON_FC_UNPUBLISH;
+ pkt->data_->set(StatusCode, SrsAmf0Any::str(StatusCodeUnpublishSuccess));
+ pkt->data_->set(StatusDescription, SrsAmf0Any::str("Stop publishing stream."));
- if ((err = protocol->send_and_free_packet(pkt, stream_id)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, stream_id)) != srs_success) {
return srs_error_wrap(err, "send NetStream.unpublish.Success");
}
}
// FCUnpublish response
if (true) {
SrsFMLEStartResPacket *pkt = new SrsFMLEStartResPacket(unpublish_tid);
- if ((err = protocol->send_and_free_packet(pkt, stream_id)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, stream_id)) != srs_success) {
return srs_error_wrap(err, "send FCUnpublish response");
}
}
@@ -2798,12 +2798,12 @@ srs_error_t SrsRtmpServer::fmle_unpublish(int stream_id, double unpublish_tid)
if (true) {
SrsOnStatusCallPacket *pkt = new SrsOnStatusCallPacket();
- 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));
+ 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));
- if ((err = protocol->send_and_free_packet(pkt, stream_id)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, stream_id)) != srs_success) {
return srs_error_wrap(err, "send NetStream.Unpublish.Success");
}
}
@@ -2825,12 +2825,12 @@ srs_error_t SrsRtmpServer::start_publishing(int stream_id)
if (true) {
SrsOnStatusCallPacket *pkt = new SrsOnStatusCallPacket();
- 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));
+ 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));
- if ((err = protocol->send_and_free_packet(pkt, stream_id)) != srs_success) {
+ if ((err = protocol_->send_and_free_packet(pkt, stream_id)) != srs_success) {
return srs_error_wrap(err, "send NetStream.Publish.Start");
}
}
@@ -2847,15 +2847,15 @@ srs_error_t SrsRtmpServer::identify_create_stream_client(SrsCreateStreamPacket *
}
if (true) {
- SrsCreateStreamResPacket *pkt = new SrsCreateStreamResPacket(req->transaction_id, stream_id);
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ SrsCreateStreamResPacket *pkt = new SrsCreateStreamResPacket(req->transaction_id_, stream_id);
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send createStream response");
}
}
while (true) {
SrsRtmpCommonMessage *msg_raw = NULL;
- if ((err = protocol->recv_message(&msg_raw)) != srs_success) {
+ if ((err = protocol_->recv_message(&msg_raw)) != srs_success) {
return srs_error_wrap(err, "recv identify");
}
@@ -2872,7 +2872,7 @@ srs_error_t SrsRtmpServer::identify_create_stream_client(SrsCreateStreamPacket *
}
SrsRtmpCommand *pkt_raw = NULL;
- if ((err = protocol->decode_message(msg.get(), &pkt_raw)) != srs_success) {
+ if ((err = protocol_->decode_message(msg.get(), &pkt_raw)) != srs_success) {
return srs_error_wrap(err, "decode identify");
}
SrsUniquePtr pkt(pkt_raw);
@@ -2901,12 +2901,12 @@ srs_error_t SrsRtmpServer::identify_fmle_publish_client(SrsFMLEStartPacket *req,
srs_error_t err = srs_success;
type = SrsRtmpConnFMLEPublish;
- stream_name = req->stream_name;
+ stream_name = req->stream_name_;
// releaseStream response
if (true) {
- SrsFMLEStartResPacket *pkt = new SrsFMLEStartResPacket(req->transaction_id);
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ SrsFMLEStartResPacket *pkt = new SrsFMLEStartResPacket(req->transaction_id_);
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send releaseStream response");
}
}
@@ -2919,12 +2919,12 @@ srs_error_t SrsRtmpServer::identify_haivision_publish_client(SrsFMLEStartPacket
srs_error_t err = srs_success;
type = SrsRtmpConnHaivisionPublish;
- stream_name = req->stream_name;
+ stream_name = req->stream_name_;
// FCPublish response
if (true) {
- SrsFMLEStartResPacket *pkt = new SrsFMLEStartResPacket(req->transaction_id);
- if ((err = protocol->send_and_free_packet(pkt, 0)) != srs_success) {
+ SrsFMLEStartResPacket *pkt = new SrsFMLEStartResPacket(req->transaction_id_);
+ if ((err = protocol_->send_and_free_packet(pkt, 0)) != srs_success) {
return srs_error_wrap(err, "send FCPublish");
}
}
@@ -2935,7 +2935,7 @@ srs_error_t SrsRtmpServer::identify_haivision_publish_client(SrsFMLEStartPacket
srs_error_t SrsRtmpServer::identify_flash_publish_client(SrsPublishPacket *req, SrsRtmpConnType &type, string &stream_name)
{
type = SrsRtmpConnFlashPublish;
- stream_name = req->stream_name;
+ stream_name = req->stream_name_;
return srs_success;
}
@@ -2943,53 +2943,53 @@ srs_error_t SrsRtmpServer::identify_flash_publish_client(SrsPublishPacket *req,
srs_error_t SrsRtmpServer::identify_play_client(SrsPlayPacket *req, SrsRtmpConnType &type, string &stream_name, srs_utime_t &duration)
{
type = SrsRtmpConnPlay;
- stream_name = req->stream_name;
- duration = srs_utime_t(req->duration) * SRS_UTIME_MILLISECONDS;
+ stream_name = req->stream_name_;
+ duration = srs_utime_t(req->duration_) * SRS_UTIME_MILLISECONDS;
return srs_success;
}
SrsConnectAppPacket::SrsConnectAppPacket()
{
- command_name = RTMP_AMF0_COMMAND_CONNECT;
- transaction_id = 1;
- command_object = SrsAmf0Any::object();
+ command_name_ = RTMP_AMF0_COMMAND_CONNECT;
+ transaction_id_ = 1;
+ command_object_ = SrsAmf0Any::object();
// optional
- args = NULL;
+ args_ = NULL;
}
SrsConnectAppPacket::~SrsConnectAppPacket()
{
- srs_freep(command_object);
- srs_freep(args);
+ srs_freep(command_object_);
+ srs_freep(args_);
}
srs_error_t SrsConnectAppPacket::decode(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_read_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_read_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if (command_name.empty() || command_name != RTMP_AMF0_COMMAND_CONNECT) {
- return srs_error_new(ERROR_RTMP_AMF0_DECODE, "invalid command_name=%s", command_name.c_str());
+ if (command_name_.empty() || command_name_ != RTMP_AMF0_COMMAND_CONNECT) {
+ return srs_error_new(ERROR_RTMP_AMF0_DECODE, "invalid command_name=%s", command_name_.c_str());
}
- if ((err = srs_amf0_read_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_read_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
// some client donot send id=1.0, so we only warn user if not match.
- if (transaction_id != 1.0) {
- srs_warn("invalid transaction_id=%.2f", transaction_id);
+ if (transaction_id_ != 1.0) {
+ srs_warn("invalid transaction_id=%.2f", transaction_id_);
}
- if ((err = command_object->read(stream)) != srs_success) {
+ if ((err = command_object_->read(stream)) != srs_success) {
return srs_error_wrap(err, "command_object");
}
if (!stream->empty()) {
- srs_freep(args);
+ srs_freep(args_);
// see: https://github.com/ossrs/srs/issues/186
// the args maybe any amf0, for instance, a string. we should drop if not object.
@@ -3007,10 +3007,10 @@ srs_error_t SrsConnectAppPacket::decode(SrsBuffer *stream)
// drop when not an AMF0 object.
if (!any->is_object()) {
- srs_warn("drop the args, see: '4.1.1. connect', marker=%#x", (uint8_t)any->marker);
+ srs_warn("drop the args, see: '4.1.1. connect', marker=%#x", (uint8_t)any->marker_);
srs_freep(any);
} else {
- args = any->to_object();
+ args_ = any->to_object();
}
}
@@ -3026,11 +3026,11 @@ int SrsConnectAppPacket::get_size()
{
int size = 0;
- size += SrsAmf0Size::str(command_name);
+ size += SrsAmf0Size::str(command_name_);
size += SrsAmf0Size::number();
- size += SrsAmf0Size::object(command_object);
- if (args) {
- size += SrsAmf0Size::object(args);
+ size += SrsAmf0Size::object(command_object_);
+ if (args_) {
+ size += SrsAmf0Size::object(args_);
}
return size;
@@ -3040,19 +3040,19 @@ srs_error_t SrsConnectAppPacket::encode_packet(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_write_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_write_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if ((err = srs_amf0_write_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_write_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
- if ((err = command_object->write(stream)) != srs_success) {
+ if ((err = command_object_->write(stream)) != srs_success) {
return srs_error_wrap(err, "command_object");
}
- if (args && (err = args->write(stream)) != srs_success) {
+ if (args_ && (err = args_->write(stream)) != srs_success) {
return srs_error_wrap(err, "args");
}
@@ -3061,36 +3061,36 @@ srs_error_t SrsConnectAppPacket::encode_packet(SrsBuffer *stream)
SrsConnectAppResPacket::SrsConnectAppResPacket()
{
- command_name = RTMP_AMF0_COMMAND_RESULT;
- transaction_id = 1;
- props = SrsAmf0Any::object();
- info = SrsAmf0Any::object();
+ command_name_ = RTMP_AMF0_COMMAND_RESULT;
+ transaction_id_ = 1;
+ props_ = SrsAmf0Any::object();
+ info_ = SrsAmf0Any::object();
}
SrsConnectAppResPacket::~SrsConnectAppResPacket()
{
- srs_freep(props);
- srs_freep(info);
+ srs_freep(props_);
+ srs_freep(info_);
}
srs_error_t SrsConnectAppResPacket::decode(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_read_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_read_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if (command_name.empty() || command_name != RTMP_AMF0_COMMAND_RESULT) {
- return srs_error_new(ERROR_RTMP_AMF0_DECODE, "command_name=%s", command_name.c_str());
+ if (command_name_.empty() || command_name_ != RTMP_AMF0_COMMAND_RESULT) {
+ return srs_error_new(ERROR_RTMP_AMF0_DECODE, "command_name=%s", command_name_.c_str());
}
- if ((err = srs_amf0_read_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_read_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
// some client donot send id=1.0, so we only warn user if not match.
- if (transaction_id != 1.0) {
- srs_warn("invalid transaction_id=%.2f", transaction_id);
+ if (transaction_id_ != 1.0) {
+ srs_warn("invalid transaction_id=%.2f", transaction_id_);
}
// for RED5(1.0.6), the props is NULL, we must ignore it.
@@ -3103,15 +3103,15 @@ srs_error_t SrsConnectAppResPacket::decode(SrsBuffer *stream)
// ignore when props is not amf0 object.
if (!p->is_object()) {
- srs_warn("ignore connect response props marker=%#x.", (uint8_t)p->marker);
+ srs_warn("ignore connect response props marker=%#x.", (uint8_t)p->marker_);
srs_freep(p);
} else {
- srs_freep(props);
- props = p->to_object();
+ srs_freep(props_);
+ props_ = p->to_object();
}
}
- if ((err = info->read(stream)) != srs_success) {
+ if ((err = info_->read(stream)) != srs_success) {
return srs_error_wrap(err, "args");
}
@@ -3125,26 +3125,26 @@ int SrsConnectAppResPacket::get_message_type()
int SrsConnectAppResPacket::get_size()
{
- return SrsAmf0Size::str(command_name) + SrsAmf0Size::number() + SrsAmf0Size::object(props) + SrsAmf0Size::object(info);
+ return SrsAmf0Size::str(command_name_) + SrsAmf0Size::number() + SrsAmf0Size::object(props_) + SrsAmf0Size::object(info_);
}
srs_error_t SrsConnectAppResPacket::encode_packet(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_write_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_write_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if ((err = srs_amf0_write_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_write_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
- if ((err = props->write(stream)) != srs_success) {
+ if ((err = props_->write(stream)) != srs_success) {
return srs_error_wrap(err, "props");
}
- if ((err = info->write(stream)) != srs_success) {
+ if ((err = info_->write(stream)) != srs_success) {
return srs_error_wrap(err, "info");
}
@@ -3153,47 +3153,47 @@ srs_error_t SrsConnectAppResPacket::encode_packet(SrsBuffer *stream)
SrsCallPacket::SrsCallPacket()
{
- command_name = "";
- transaction_id = 0;
- command_object = NULL;
- arguments = NULL;
+ command_name_ = "";
+ transaction_id_ = 0;
+ command_object_ = NULL;
+ arguments_ = NULL;
}
SrsCallPacket::~SrsCallPacket()
{
- srs_freep(command_object);
- srs_freep(arguments);
+ srs_freep(command_object_);
+ srs_freep(arguments_);
}
srs_error_t SrsCallPacket::decode(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_read_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_read_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if (command_name.empty()) {
+ if (command_name_.empty()) {
return srs_error_new(ERROR_RTMP_AMF0_DECODE, "empty command_name");
}
- if ((err = srs_amf0_read_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_read_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
- srs_freep(command_object);
- if ((err = SrsAmf0Any::discovery(stream, &command_object)) != srs_success) {
+ srs_freep(command_object_);
+ if ((err = SrsAmf0Any::discovery(stream, &command_object_)) != srs_success) {
return srs_error_wrap(err, "discovery command_object");
}
- if ((err = command_object->read(stream)) != srs_success) {
+ if ((err = command_object_->read(stream)) != srs_success) {
return srs_error_wrap(err, "command_object");
}
if (!stream->empty()) {
- srs_freep(arguments);
- if ((err = SrsAmf0Any::discovery(stream, &arguments)) != srs_success) {
+ srs_freep(arguments_);
+ if ((err = SrsAmf0Any::discovery(stream, &arguments_)) != srs_success) {
return srs_error_wrap(err, "discovery args");
}
- if ((err = arguments->read(stream)) != srs_success) {
+ if ((err = arguments_->read(stream)) != srs_success) {
return srs_error_wrap(err, "read args");
}
}
@@ -3210,14 +3210,14 @@ int SrsCallPacket::get_size()
{
int size = 0;
- size += SrsAmf0Size::str(command_name) + SrsAmf0Size::number();
+ size += SrsAmf0Size::str(command_name_) + SrsAmf0Size::number();
- if (command_object) {
- size += command_object->total_size();
+ if (command_object_) {
+ size += command_object_->total_size();
}
- if (arguments) {
- size += arguments->total_size();
+ if (arguments_) {
+ size += arguments_->total_size();
}
return size;
@@ -3227,19 +3227,19 @@ srs_error_t SrsCallPacket::encode_packet(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_write_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_write_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if ((err = srs_amf0_write_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_write_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
- if (command_object && (err = command_object->write(stream)) != srs_success) {
+ if (command_object_ && (err = command_object_->write(stream)) != srs_success) {
return srs_error_wrap(err, "command_object");
}
- if (arguments && (err = arguments->write(stream)) != srs_success) {
+ if (arguments_ && (err = arguments_->write(stream)) != srs_success) {
return srs_error_wrap(err, "args");
}
@@ -3248,16 +3248,16 @@ srs_error_t SrsCallPacket::encode_packet(SrsBuffer *stream)
SrsCallResPacket::SrsCallResPacket(double _transaction_id)
{
- command_name = RTMP_AMF0_COMMAND_RESULT;
- transaction_id = _transaction_id;
- command_object = NULL;
- response = NULL;
+ command_name_ = RTMP_AMF0_COMMAND_RESULT;
+ transaction_id_ = _transaction_id;
+ command_object_ = NULL;
+ response_ = NULL;
}
SrsCallResPacket::~SrsCallResPacket()
{
- srs_freep(command_object);
- srs_freep(response);
+ srs_freep(command_object_);
+ srs_freep(response_);
}
int SrsCallResPacket::get_message_type()
@@ -3269,14 +3269,14 @@ int SrsCallResPacket::get_size()
{
int size = 0;
- size += SrsAmf0Size::str(command_name) + SrsAmf0Size::number();
+ size += SrsAmf0Size::str(command_name_) + SrsAmf0Size::number();
- if (command_object) {
- size += command_object->total_size();
+ if (command_object_) {
+ size += command_object_->total_size();
}
- if (response) {
- size += response->total_size();
+ if (response_) {
+ size += response_->total_size();
}
return size;
@@ -3286,19 +3286,19 @@ srs_error_t SrsCallResPacket::encode_packet(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_write_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_write_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if ((err = srs_amf0_write_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_write_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
- if (command_object && (err = command_object->write(stream)) != srs_success) {
+ if (command_object_ && (err = command_object_->write(stream)) != srs_success) {
return srs_error_wrap(err, "command_object");
}
- if (response && (err = response->write(stream)) != srs_success) {
+ if (response_ && (err = response_->write(stream)) != srs_success) {
return srs_error_wrap(err, "response");
}
@@ -3307,34 +3307,34 @@ srs_error_t SrsCallResPacket::encode_packet(SrsBuffer *stream)
SrsCreateStreamPacket::SrsCreateStreamPacket()
{
- command_name = RTMP_AMF0_COMMAND_CREATE_STREAM;
- transaction_id = 2;
- command_object = SrsAmf0Any::null();
+ command_name_ = RTMP_AMF0_COMMAND_CREATE_STREAM;
+ transaction_id_ = 2;
+ command_object_ = SrsAmf0Any::null();
}
SrsCreateStreamPacket::~SrsCreateStreamPacket()
{
- srs_freep(command_object);
+ srs_freep(command_object_);
}
void SrsCreateStreamPacket::set_command_object(SrsAmf0Any *v)
{
- srs_freep(command_object);
- command_object = v;
+ srs_freep(command_object_);
+ command_object_ = v;
}
srs_error_t SrsCreateStreamPacket::decode(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_read_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_read_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if (command_name.empty() || command_name != RTMP_AMF0_COMMAND_CREATE_STREAM) {
- return srs_error_new(ERROR_RTMP_AMF0_DECODE, "invalid command_name=%s", command_name.c_str());
+ if (command_name_.empty() || command_name_ != RTMP_AMF0_COMMAND_CREATE_STREAM) {
+ return srs_error_new(ERROR_RTMP_AMF0_DECODE, "invalid command_name=%s", command_name_.c_str());
}
- if ((err = srs_amf0_read_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_read_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
@@ -3352,18 +3352,18 @@ int SrsCreateStreamPacket::get_message_type()
int SrsCreateStreamPacket::get_size()
{
- return SrsAmf0Size::str(command_name) + SrsAmf0Size::number() + SrsAmf0Size::null();
+ return SrsAmf0Size::str(command_name_) + SrsAmf0Size::number() + SrsAmf0Size::null();
}
srs_error_t SrsCreateStreamPacket::encode_packet(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_write_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_write_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if ((err = srs_amf0_write_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_write_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
@@ -3376,29 +3376,29 @@ srs_error_t SrsCreateStreamPacket::encode_packet(SrsBuffer *stream)
SrsCreateStreamResPacket::SrsCreateStreamResPacket(double _transaction_id, double _stream_id)
{
- command_name = RTMP_AMF0_COMMAND_RESULT;
- transaction_id = _transaction_id;
- command_object = SrsAmf0Any::null();
- stream_id = _stream_id;
+ command_name_ = RTMP_AMF0_COMMAND_RESULT;
+ transaction_id_ = _transaction_id;
+ command_object_ = SrsAmf0Any::null();
+ stream_id_ = _stream_id;
}
SrsCreateStreamResPacket::~SrsCreateStreamResPacket()
{
- srs_freep(command_object);
+ srs_freep(command_object_);
}
srs_error_t SrsCreateStreamResPacket::decode(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_read_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_read_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if (command_name.empty() || command_name != RTMP_AMF0_COMMAND_RESULT) {
- return srs_error_new(ERROR_RTMP_AMF0_DECODE, "invalid command_name=%s", command_name.c_str());
+ if (command_name_.empty() || command_name_ != RTMP_AMF0_COMMAND_RESULT) {
+ return srs_error_new(ERROR_RTMP_AMF0_DECODE, "invalid command_name=%s", command_name_.c_str());
}
- if ((err = srs_amf0_read_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_read_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
@@ -3406,7 +3406,7 @@ srs_error_t SrsCreateStreamResPacket::decode(SrsBuffer *stream)
return srs_error_wrap(err, "command_object");
}
- if ((err = srs_amf0_read_number(stream, stream_id)) != srs_success) {
+ if ((err = srs_amf0_read_number(stream, stream_id_)) != srs_success) {
return srs_error_wrap(err, "stream_id");
}
@@ -3420,18 +3420,18 @@ int SrsCreateStreamResPacket::get_message_type()
int SrsCreateStreamResPacket::get_size()
{
- return SrsAmf0Size::str(command_name) + SrsAmf0Size::number() + SrsAmf0Size::null() + SrsAmf0Size::number();
+ return SrsAmf0Size::str(command_name_) + SrsAmf0Size::number() + SrsAmf0Size::null() + SrsAmf0Size::number();
}
srs_error_t SrsCreateStreamResPacket::encode_packet(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_write_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_write_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if ((err = srs_amf0_write_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_write_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
@@ -3439,7 +3439,7 @@ srs_error_t SrsCreateStreamResPacket::encode_packet(SrsBuffer *stream)
return srs_error_wrap(err, "command_object");
}
- if ((err = srs_amf0_write_number(stream, stream_id)) != srs_success) {
+ if ((err = srs_amf0_write_number(stream, stream_id_)) != srs_success) {
return srs_error_wrap(err, "stream_id");
}
@@ -3448,25 +3448,25 @@ srs_error_t SrsCreateStreamResPacket::encode_packet(SrsBuffer *stream)
SrsCloseStreamPacket::SrsCloseStreamPacket()
{
- command_name = RTMP_AMF0_COMMAND_CLOSE_STREAM;
- transaction_id = 0;
- command_object = SrsAmf0Any::null();
+ command_name_ = RTMP_AMF0_COMMAND_CLOSE_STREAM;
+ transaction_id_ = 0;
+ command_object_ = SrsAmf0Any::null();
}
SrsCloseStreamPacket::~SrsCloseStreamPacket()
{
- srs_freep(command_object);
+ srs_freep(command_object_);
}
srs_error_t SrsCloseStreamPacket::decode(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_read_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_read_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if ((err = srs_amf0_read_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_read_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
@@ -3479,36 +3479,36 @@ srs_error_t SrsCloseStreamPacket::decode(SrsBuffer *stream)
SrsFMLEStartPacket::SrsFMLEStartPacket()
{
- command_name = RTMP_AMF0_COMMAND_RELEASE_STREAM;
- transaction_id = 0;
- command_object = SrsAmf0Any::null();
+ command_name_ = RTMP_AMF0_COMMAND_RELEASE_STREAM;
+ transaction_id_ = 0;
+ command_object_ = SrsAmf0Any::null();
}
SrsFMLEStartPacket::~SrsFMLEStartPacket()
{
- srs_freep(command_object);
+ srs_freep(command_object_);
}
void SrsFMLEStartPacket::set_command_object(SrsAmf0Any *v)
{
- srs_freep(command_object);
- command_object = v;
+ srs_freep(command_object_);
+ command_object_ = v;
}
srs_error_t SrsFMLEStartPacket::decode(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_read_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_read_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- bool invalid_command_name = (command_name != RTMP_AMF0_COMMAND_RELEASE_STREAM && command_name != RTMP_AMF0_COMMAND_FC_PUBLISH && command_name != RTMP_AMF0_COMMAND_UNPUBLISH);
- if (command_name.empty() || invalid_command_name) {
- return srs_error_new(ERROR_RTMP_AMF0_DECODE, "invalid command_name=%s", command_name.c_str());
+ bool invalid_command_name = (command_name_ != RTMP_AMF0_COMMAND_RELEASE_STREAM && command_name_ != RTMP_AMF0_COMMAND_FC_PUBLISH && command_name_ != RTMP_AMF0_COMMAND_UNPUBLISH);
+ if (command_name_.empty() || invalid_command_name) {
+ return srs_error_new(ERROR_RTMP_AMF0_DECODE, "invalid command_name=%s", command_name_.c_str());
}
- if ((err = srs_amf0_read_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_read_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
@@ -3516,7 +3516,7 @@ srs_error_t SrsFMLEStartPacket::decode(SrsBuffer *stream)
return srs_error_wrap(err, "command_object");
}
- if ((err = srs_amf0_read_string(stream, stream_name)) != srs_success) {
+ if ((err = srs_amf0_read_string(stream, stream_name_)) != srs_success) {
return srs_error_wrap(err, "stream_name");
}
@@ -3530,18 +3530,18 @@ int SrsFMLEStartPacket::get_message_type()
int SrsFMLEStartPacket::get_size()
{
- return SrsAmf0Size::str(command_name) + SrsAmf0Size::number() + SrsAmf0Size::null() + SrsAmf0Size::str(stream_name);
+ return SrsAmf0Size::str(command_name_) + SrsAmf0Size::number() + SrsAmf0Size::null() + SrsAmf0Size::str(stream_name_);
}
srs_error_t SrsFMLEStartPacket::encode_packet(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_write_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_write_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if ((err = srs_amf0_write_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_write_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
@@ -3549,7 +3549,7 @@ srs_error_t SrsFMLEStartPacket::encode_packet(SrsBuffer *stream)
return srs_error_wrap(err, "command_object");
}
- if ((err = srs_amf0_write_string(stream, stream_name)) != srs_success) {
+ if ((err = srs_amf0_write_string(stream, stream_name_)) != srs_success) {
return srs_error_wrap(err, "stream_name");
}
@@ -3560,9 +3560,9 @@ SrsFMLEStartPacket *SrsFMLEStartPacket::create_release_stream(string stream)
{
SrsFMLEStartPacket *pkt = new SrsFMLEStartPacket();
- pkt->command_name = RTMP_AMF0_COMMAND_RELEASE_STREAM;
- pkt->transaction_id = 2;
- pkt->stream_name = stream;
+ pkt->command_name_ = RTMP_AMF0_COMMAND_RELEASE_STREAM;
+ pkt->transaction_id_ = 2;
+ pkt->stream_name_ = stream;
return pkt;
}
@@ -3571,51 +3571,51 @@ SrsFMLEStartPacket *SrsFMLEStartPacket::create_FC_publish(string stream)
{
SrsFMLEStartPacket *pkt = new SrsFMLEStartPacket();
- pkt->command_name = RTMP_AMF0_COMMAND_FC_PUBLISH;
- pkt->transaction_id = 3;
- pkt->stream_name = stream;
+ pkt->command_name_ = RTMP_AMF0_COMMAND_FC_PUBLISH;
+ pkt->transaction_id_ = 3;
+ pkt->stream_name_ = stream;
return pkt;
}
SrsFMLEStartResPacket::SrsFMLEStartResPacket(double _transaction_id)
{
- command_name = RTMP_AMF0_COMMAND_RESULT;
- transaction_id = _transaction_id;
- command_object = SrsAmf0Any::null();
- args = SrsAmf0Any::undefined();
+ command_name_ = RTMP_AMF0_COMMAND_RESULT;
+ transaction_id_ = _transaction_id;
+ command_object_ = SrsAmf0Any::null();
+ args_ = SrsAmf0Any::undefined();
}
SrsFMLEStartResPacket::~SrsFMLEStartResPacket()
{
- srs_freep(command_object);
- srs_freep(args);
+ srs_freep(command_object_);
+ srs_freep(args_);
}
void SrsFMLEStartResPacket::set_args(SrsAmf0Any *v)
{
- srs_freep(args);
- args = v;
+ srs_freep(args_);
+ args_ = v;
}
void SrsFMLEStartResPacket::set_command_object(SrsAmf0Any *v)
{
- srs_freep(command_object);
- command_object = v;
+ srs_freep(command_object_);
+ command_object_ = v;
}
srs_error_t SrsFMLEStartResPacket::decode(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_read_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_read_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if (command_name.empty() || command_name != RTMP_AMF0_COMMAND_RESULT) {
- return srs_error_new(ERROR_RTMP_AMF0_DECODE, "invalid command_name=%s", command_name.c_str());
+ if (command_name_.empty() || command_name_ != RTMP_AMF0_COMMAND_RESULT) {
+ return srs_error_new(ERROR_RTMP_AMF0_DECODE, "invalid command_name=%s", command_name_.c_str());
}
- if ((err = srs_amf0_read_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_read_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
@@ -3637,18 +3637,18 @@ int SrsFMLEStartResPacket::get_message_type()
int SrsFMLEStartResPacket::get_size()
{
- return SrsAmf0Size::str(command_name) + SrsAmf0Size::number() + SrsAmf0Size::null() + SrsAmf0Size::undefined();
+ return SrsAmf0Size::str(command_name_) + SrsAmf0Size::number() + SrsAmf0Size::null() + SrsAmf0Size::undefined();
}
srs_error_t SrsFMLEStartResPacket::encode_packet(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_write_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_write_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if ((err = srs_amf0_write_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_write_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
@@ -3665,35 +3665,35 @@ srs_error_t SrsFMLEStartResPacket::encode_packet(SrsBuffer *stream)
SrsPublishPacket::SrsPublishPacket()
{
- command_name = RTMP_AMF0_COMMAND_PUBLISH;
- transaction_id = 0;
- command_object = SrsAmf0Any::null();
- type = "live";
+ command_name_ = RTMP_AMF0_COMMAND_PUBLISH;
+ transaction_id_ = 0;
+ command_object_ = SrsAmf0Any::null();
+ type_ = "live";
}
SrsPublishPacket::~SrsPublishPacket()
{
- srs_freep(command_object);
+ srs_freep(command_object_);
}
void SrsPublishPacket::set_command_object(SrsAmf0Any *v)
{
- srs_freep(command_object);
- command_object = v;
+ srs_freep(command_object_);
+ command_object_ = v;
}
srs_error_t SrsPublishPacket::decode(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_read_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_read_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if (command_name.empty() || command_name != RTMP_AMF0_COMMAND_PUBLISH) {
- return srs_error_new(ERROR_RTMP_AMF0_DECODE, "invalid command_name=%s", command_name.c_str());
+ if (command_name_.empty() || command_name_ != RTMP_AMF0_COMMAND_PUBLISH) {
+ return srs_error_new(ERROR_RTMP_AMF0_DECODE, "invalid command_name=%s", command_name_.c_str());
}
- if ((err = srs_amf0_read_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_read_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
@@ -3701,11 +3701,11 @@ srs_error_t SrsPublishPacket::decode(SrsBuffer *stream)
return srs_error_wrap(err, "command_object");
}
- if ((err = srs_amf0_read_string(stream, stream_name)) != srs_success) {
+ if ((err = srs_amf0_read_string(stream, stream_name_)) != srs_success) {
return srs_error_wrap(err, "stream_name");
}
- if (!stream->empty() && (err = srs_amf0_read_string(stream, type)) != srs_success) {
+ if (!stream->empty() && (err = srs_amf0_read_string(stream, type_)) != srs_success) {
return srs_error_wrap(err, "publish type");
}
@@ -3719,18 +3719,18 @@ int SrsPublishPacket::get_message_type()
int SrsPublishPacket::get_size()
{
- return SrsAmf0Size::str(command_name) + SrsAmf0Size::number() + SrsAmf0Size::null() + SrsAmf0Size::str(stream_name) + SrsAmf0Size::str(type);
+ return SrsAmf0Size::str(command_name_) + SrsAmf0Size::number() + SrsAmf0Size::null() + SrsAmf0Size::str(stream_name_) + SrsAmf0Size::str(type_);
}
srs_error_t SrsPublishPacket::encode_packet(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_write_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_write_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if ((err = srs_amf0_write_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_write_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
@@ -3738,11 +3738,11 @@ srs_error_t SrsPublishPacket::encode_packet(SrsBuffer *stream)
return srs_error_wrap(err, "command_object");
}
- if ((err = srs_amf0_write_string(stream, stream_name)) != srs_success) {
+ if ((err = srs_amf0_write_string(stream, stream_name_)) != srs_success) {
return srs_error_wrap(err, "stream_name");
}
- if ((err = srs_amf0_write_string(stream, type)) != srs_success) {
+ if ((err = srs_amf0_write_string(stream, type_)) != srs_success) {
return srs_error_wrap(err, "type");
}
@@ -3751,31 +3751,31 @@ srs_error_t SrsPublishPacket::encode_packet(SrsBuffer *stream)
SrsPausePacket::SrsPausePacket()
{
- command_name = RTMP_AMF0_COMMAND_PAUSE;
- transaction_id = 0;
- command_object = SrsAmf0Any::null();
+ command_name_ = RTMP_AMF0_COMMAND_PAUSE;
+ transaction_id_ = 0;
+ command_object_ = SrsAmf0Any::null();
- time_ms = 0;
- is_pause = true;
+ time_ms_ = 0;
+ is_pause_ = true;
}
SrsPausePacket::~SrsPausePacket()
{
- srs_freep(command_object);
+ srs_freep(command_object_);
}
srs_error_t SrsPausePacket::decode(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_read_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_read_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if (command_name.empty() || command_name != RTMP_AMF0_COMMAND_PAUSE) {
- return srs_error_new(ERROR_RTMP_AMF0_DECODE, "invalid command_name=%s", command_name.c_str());
+ if (command_name_.empty() || command_name_ != RTMP_AMF0_COMMAND_PAUSE) {
+ return srs_error_new(ERROR_RTMP_AMF0_DECODE, "invalid command_name=%s", command_name_.c_str());
}
- if ((err = srs_amf0_read_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_read_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
@@ -3783,11 +3783,11 @@ srs_error_t SrsPausePacket::decode(SrsBuffer *stream)
return srs_error_wrap(err, "command_object");
}
- if ((err = srs_amf0_read_boolean(stream, is_pause)) != srs_success) {
+ if ((err = srs_amf0_read_boolean(stream, is_pause_)) != srs_success) {
return srs_error_wrap(err, "is_pause");
}
- if ((err = srs_amf0_read_number(stream, time_ms)) != srs_success) {
+ if ((err = srs_amf0_read_number(stream, time_ms_)) != srs_success) {
return srs_error_wrap(err, "time");
}
@@ -3796,32 +3796,32 @@ srs_error_t SrsPausePacket::decode(SrsBuffer *stream)
SrsPlayPacket::SrsPlayPacket()
{
- command_name = RTMP_AMF0_COMMAND_PLAY;
- transaction_id = 0;
- command_object = SrsAmf0Any::null();
+ command_name_ = RTMP_AMF0_COMMAND_PLAY;
+ transaction_id_ = 0;
+ command_object_ = SrsAmf0Any::null();
- start = -2;
- duration = -1;
- reset = true;
+ start_ = -2;
+ duration_ = -1;
+ reset_ = true;
}
SrsPlayPacket::~SrsPlayPacket()
{
- srs_freep(command_object);
+ srs_freep(command_object_);
}
srs_error_t SrsPlayPacket::decode(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_read_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_read_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if (command_name.empty() || command_name != RTMP_AMF0_COMMAND_PLAY) {
- return srs_error_new(ERROR_RTMP_AMF0_DECODE, "invalid command_name=%s", command_name.c_str());
+ if (command_name_.empty() || command_name_ != RTMP_AMF0_COMMAND_PLAY) {
+ return srs_error_new(ERROR_RTMP_AMF0_DECODE, "invalid command_name=%s", command_name_.c_str());
}
- if ((err = srs_amf0_read_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_read_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
@@ -3829,14 +3829,14 @@ srs_error_t SrsPlayPacket::decode(SrsBuffer *stream)
return srs_error_wrap(err, "command_object");
}
- if ((err = srs_amf0_read_string(stream, stream_name)) != srs_success) {
+ if ((err = srs_amf0_read_string(stream, stream_name_)) != srs_success) {
return srs_error_wrap(err, "stream_name");
}
- if (!stream->empty() && (err = srs_amf0_read_number(stream, start)) != srs_success) {
+ if (!stream->empty() && (err = srs_amf0_read_number(stream, start_)) != srs_success) {
return srs_error_wrap(err, "start");
}
- if (!stream->empty() && (err = srs_amf0_read_number(stream, duration)) != srs_success) {
+ if (!stream->empty() && (err = srs_amf0_read_number(stream, duration_)) != srs_success) {
return srs_error_wrap(err, "duration");
}
@@ -3855,11 +3855,11 @@ srs_error_t SrsPlayPacket::decode(SrsBuffer *stream)
// An optional Boolean value or number that specifies whether
// to flush any previous playlist
if (reset_value->is_boolean()) {
- reset = reset_value->to_boolean();
+ reset_ = reset_value->to_boolean();
} else if (reset_value->is_number()) {
- reset = (reset_value->to_number() != 0);
+ reset_ = (reset_value->to_number() != 0);
} else {
- return srs_error_new(ERROR_RTMP_AMF0_DECODE, "invalid marker=%#x", (uint8_t)reset_value->marker);
+ return srs_error_new(ERROR_RTMP_AMF0_DECODE, "invalid marker=%#x", (uint8_t)reset_value->marker_);
}
}
@@ -3873,17 +3873,17 @@ int SrsPlayPacket::get_message_type()
int SrsPlayPacket::get_size()
{
- int size = SrsAmf0Size::str(command_name) + SrsAmf0Size::number() + SrsAmf0Size::null() + SrsAmf0Size::str(stream_name);
+ int size = SrsAmf0Size::str(command_name_) + SrsAmf0Size::number() + SrsAmf0Size::null() + SrsAmf0Size::str(stream_name_);
- if (start != -2 || duration != -1 || !reset) {
+ if (start_ != -2 || duration_ != -1 || !reset_) {
size += SrsAmf0Size::number();
}
- if (duration != -1 || !reset) {
+ if (duration_ != -1 || !reset_) {
size += SrsAmf0Size::number();
}
- if (!reset) {
+ if (!reset_) {
size += SrsAmf0Size::boolean();
}
@@ -3894,11 +3894,11 @@ srs_error_t SrsPlayPacket::encode_packet(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_write_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_write_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if ((err = srs_amf0_write_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_write_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
@@ -3906,19 +3906,19 @@ srs_error_t SrsPlayPacket::encode_packet(SrsBuffer *stream)
return srs_error_wrap(err, "command_object");
}
- if ((err = srs_amf0_write_string(stream, stream_name)) != srs_success) {
+ if ((err = srs_amf0_write_string(stream, stream_name_)) != srs_success) {
return srs_error_wrap(err, "stream_name");
}
- if ((start != -2 || duration != -1 || !reset) && (err = srs_amf0_write_number(stream, start)) != srs_success) {
+ if ((start_ != -2 || duration_ != -1 || !reset_) && (err = srs_amf0_write_number(stream, start_)) != srs_success) {
return srs_error_wrap(err, "start");
}
- if ((duration != -1 || !reset) && (err = srs_amf0_write_number(stream, duration)) != srs_success) {
+ if ((duration_ != -1 || !reset_) && (err = srs_amf0_write_number(stream, duration_)) != srs_success) {
return srs_error_wrap(err, "duration");
}
- if (!reset && (err = srs_amf0_write_boolean(stream, reset)) != srs_success) {
+ if (!reset_ && (err = srs_amf0_write_boolean(stream, reset_)) != srs_success) {
return srs_error_wrap(err, "reset");
}
@@ -3927,28 +3927,28 @@ srs_error_t SrsPlayPacket::encode_packet(SrsBuffer *stream)
SrsPlayResPacket::SrsPlayResPacket()
{
- command_name = RTMP_AMF0_COMMAND_RESULT;
- transaction_id = 0;
- command_object = SrsAmf0Any::null();
- desc = SrsAmf0Any::object();
+ command_name_ = RTMP_AMF0_COMMAND_RESULT;
+ transaction_id_ = 0;
+ command_object_ = SrsAmf0Any::null();
+ desc_ = SrsAmf0Any::object();
}
SrsPlayResPacket::~SrsPlayResPacket()
{
- srs_freep(command_object);
- srs_freep(desc);
+ srs_freep(command_object_);
+ srs_freep(desc_);
}
void SrsPlayResPacket::set_command_object(SrsAmf0Any *v)
{
- srs_freep(command_object);
- command_object = v;
+ srs_freep(command_object_);
+ command_object_ = v;
}
void SrsPlayResPacket::set_desc(SrsAmf0Object *v)
{
- srs_freep(desc);
- desc = v;
+ srs_freep(desc_);
+ desc_ = v;
}
int SrsPlayResPacket::get_message_type()
@@ -3958,18 +3958,18 @@ int SrsPlayResPacket::get_message_type()
int SrsPlayResPacket::get_size()
{
- return SrsAmf0Size::str(command_name) + SrsAmf0Size::number() + SrsAmf0Size::null() + SrsAmf0Size::object(desc);
+ return SrsAmf0Size::str(command_name_) + SrsAmf0Size::number() + SrsAmf0Size::null() + SrsAmf0Size::object(desc_);
}
srs_error_t SrsPlayResPacket::encode_packet(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_write_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_write_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if ((err = srs_amf0_write_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_write_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
@@ -3977,7 +3977,7 @@ srs_error_t SrsPlayResPacket::encode_packet(SrsBuffer *stream)
return srs_error_wrap(err, "command_object");
}
- if ((err = desc->write(stream)) != srs_success) {
+ if ((err = desc_->write(stream)) != srs_success) {
return srs_error_wrap(err, "desc");
}
@@ -3986,20 +3986,20 @@ srs_error_t SrsPlayResPacket::encode_packet(SrsBuffer *stream)
SrsOnBWDonePacket::SrsOnBWDonePacket()
{
- command_name = RTMP_AMF0_COMMAND_ON_BW_DONE;
- transaction_id = 0;
- args = SrsAmf0Any::null();
+ command_name_ = RTMP_AMF0_COMMAND_ON_BW_DONE;
+ transaction_id_ = 0;
+ args_ = SrsAmf0Any::null();
}
SrsOnBWDonePacket::~SrsOnBWDonePacket()
{
- srs_freep(args);
+ srs_freep(args_);
}
void SrsOnBWDonePacket::set_args(SrsAmf0Any *v)
{
- srs_freep(args);
- args = v;
+ srs_freep(args_);
+ args_ = v;
}
int SrsOnBWDonePacket::get_message_type()
@@ -4009,18 +4009,18 @@ int SrsOnBWDonePacket::get_message_type()
int SrsOnBWDonePacket::get_size()
{
- return SrsAmf0Size::str(command_name) + SrsAmf0Size::number() + SrsAmf0Size::null();
+ return SrsAmf0Size::str(command_name_) + SrsAmf0Size::number() + SrsAmf0Size::null();
}
srs_error_t SrsOnBWDonePacket::encode_packet(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_write_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_write_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if ((err = srs_amf0_write_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_write_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
@@ -4033,28 +4033,28 @@ srs_error_t SrsOnBWDonePacket::encode_packet(SrsBuffer *stream)
SrsOnStatusCallPacket::SrsOnStatusCallPacket()
{
- command_name = RTMP_AMF0_COMMAND_ON_STATUS;
- transaction_id = 0;
- args = SrsAmf0Any::null();
- data = SrsAmf0Any::object();
+ command_name_ = RTMP_AMF0_COMMAND_ON_STATUS;
+ transaction_id_ = 0;
+ args_ = SrsAmf0Any::null();
+ data_ = SrsAmf0Any::object();
}
SrsOnStatusCallPacket::~SrsOnStatusCallPacket()
{
- srs_freep(args);
- srs_freep(data);
+ srs_freep(args_);
+ srs_freep(data_);
}
void SrsOnStatusCallPacket::set_args(SrsAmf0Any *v)
{
- srs_freep(args);
- args = v;
+ srs_freep(args_);
+ args_ = v;
}
void SrsOnStatusCallPacket::set_data(SrsAmf0Object *v)
{
- srs_freep(data);
- data = v;
+ srs_freep(data_);
+ data_ = v;
}
int SrsOnStatusCallPacket::get_message_type()
@@ -4064,18 +4064,18 @@ int SrsOnStatusCallPacket::get_message_type()
int SrsOnStatusCallPacket::get_size()
{
- return SrsAmf0Size::str(command_name) + SrsAmf0Size::number() + SrsAmf0Size::null() + SrsAmf0Size::object(data);
+ return SrsAmf0Size::str(command_name_) + SrsAmf0Size::number() + SrsAmf0Size::null() + SrsAmf0Size::object(data_);
}
srs_error_t SrsOnStatusCallPacket::encode_packet(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_write_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_write_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if ((err = srs_amf0_write_number(stream, transaction_id)) != srs_success) {
+ if ((err = srs_amf0_write_number(stream, transaction_id_)) != srs_success) {
return srs_error_wrap(err, "transaction_id");
}
@@ -4083,7 +4083,7 @@ srs_error_t SrsOnStatusCallPacket::encode_packet(SrsBuffer *stream)
return srs_error_wrap(err, "args");
}
- if ((err = data->write(stream)) != srs_success) {
+ if ((err = data_->write(stream)) != srs_success) {
return srs_error_wrap(err, "data");
}
@@ -4092,19 +4092,19 @@ srs_error_t SrsOnStatusCallPacket::encode_packet(SrsBuffer *stream)
SrsOnStatusDataPacket::SrsOnStatusDataPacket()
{
- command_name = RTMP_AMF0_COMMAND_ON_STATUS;
- data = SrsAmf0Any::object();
+ command_name_ = RTMP_AMF0_COMMAND_ON_STATUS;
+ data_ = SrsAmf0Any::object();
}
SrsOnStatusDataPacket::~SrsOnStatusDataPacket()
{
- srs_freep(data);
+ srs_freep(data_);
}
void SrsOnStatusDataPacket::set_data(SrsAmf0Object *v)
{
- srs_freep(data);
- data = v;
+ srs_freep(data_);
+ data_ = v;
}
int SrsOnStatusDataPacket::get_message_type()
@@ -4114,18 +4114,18 @@ int SrsOnStatusDataPacket::get_message_type()
int SrsOnStatusDataPacket::get_size()
{
- return SrsAmf0Size::str(command_name) + SrsAmf0Size::object(data);
+ return SrsAmf0Size::str(command_name_) + SrsAmf0Size::object(data_);
}
srs_error_t SrsOnStatusDataPacket::encode_packet(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_write_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_write_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if ((err = data->write(stream)) != srs_success) {
+ if ((err = data_->write(stream)) != srs_success) {
return srs_error_wrap(err, "data");
}
@@ -4134,9 +4134,9 @@ srs_error_t SrsOnStatusDataPacket::encode_packet(SrsBuffer *stream)
SrsNaluSampleAccessPacket::SrsNaluSampleAccessPacket()
{
- command_name = RTMP_AMF0_DATA_SAMPLE_ACCESS;
- video_sample_access = false;
- audio_sample_access = false;
+ command_name_ = RTMP_AMF0_DATA_SAMPLE_ACCESS;
+ video_sample_access_ = false;
+ audio_sample_access_ = false;
}
SrsNaluSampleAccessPacket::~SrsNaluSampleAccessPacket()
@@ -4150,22 +4150,22 @@ int SrsNaluSampleAccessPacket::get_message_type()
int SrsNaluSampleAccessPacket::get_size()
{
- return SrsAmf0Size::str(command_name) + SrsAmf0Size::boolean() + SrsAmf0Size::boolean();
+ return SrsAmf0Size::str(command_name_) + SrsAmf0Size::boolean() + SrsAmf0Size::boolean();
}
srs_error_t SrsNaluSampleAccessPacket::encode_packet(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_write_string(stream, command_name)) != srs_success) {
+ if ((err = srs_amf0_write_string(stream, command_name_)) != srs_success) {
return srs_error_wrap(err, "command_name");
}
- if ((err = srs_amf0_write_boolean(stream, video_sample_access)) != srs_success) {
+ if ((err = srs_amf0_write_boolean(stream, video_sample_access_)) != srs_success) {
return srs_error_wrap(err, "video sample access");
}
- if ((err = srs_amf0_write_boolean(stream, audio_sample_access)) != srs_success) {
+ if ((err = srs_amf0_write_boolean(stream, audio_sample_access_)) != srs_success) {
return srs_error_wrap(err, "audio sample access");
}
@@ -4174,32 +4174,32 @@ srs_error_t SrsNaluSampleAccessPacket::encode_packet(SrsBuffer *stream)
SrsOnMetaDataPacket::SrsOnMetaDataPacket()
{
- name = SRS_CONSTS_RTMP_ON_METADATA;
- metadata = SrsAmf0Any::object();
+ name_ = SRS_CONSTS_RTMP_ON_METADATA;
+ metadata_ = SrsAmf0Any::object();
}
SrsOnMetaDataPacket::~SrsOnMetaDataPacket()
{
- srs_freep(metadata);
+ srs_freep(metadata_);
}
void SrsOnMetaDataPacket::set_metadata(SrsAmf0Object *v)
{
- srs_freep(metadata);
- metadata = v;
+ srs_freep(metadata_);
+ metadata_ = v;
}
srs_error_t SrsOnMetaDataPacket::decode(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_read_string(stream, name)) != srs_success) {
+ if ((err = srs_amf0_read_string(stream, name_)) != srs_success) {
return srs_error_wrap(err, "name");
}
// ignore the @setDataFrame
- if (name == SRS_CONSTS_RTMP_SET_DATAFRAME) {
- if ((err = srs_amf0_read_string(stream, name)) != srs_success) {
+ if (name_ == SRS_CONSTS_RTMP_SET_DATAFRAME) {
+ if ((err = srs_amf0_read_string(stream, name_)) != srs_success) {
return srs_error_wrap(err, "name");
}
}
@@ -4217,8 +4217,8 @@ srs_error_t SrsOnMetaDataPacket::decode(SrsBuffer *stream)
srs_assert(any_raw);
if (any_raw->is_object()) {
- srs_freep(metadata);
- metadata = any_raw->to_object();
+ srs_freep(metadata_);
+ metadata_ = any_raw->to_object();
return err;
}
@@ -4228,7 +4228,7 @@ srs_error_t SrsOnMetaDataPacket::decode(SrsBuffer *stream)
// if ecma array, copy to object.
for (int i = 0; i < arr->count(); i++) {
- metadata->set(arr->key_at(i), arr->value_at(i)->copy());
+ metadata_->set(arr->key_at(i), arr->value_at(i)->copy());
}
}
@@ -4242,18 +4242,18 @@ int SrsOnMetaDataPacket::get_message_type()
int SrsOnMetaDataPacket::get_size()
{
- return SrsAmf0Size::str(name) + SrsAmf0Size::object(metadata);
+ return SrsAmf0Size::str(name_) + SrsAmf0Size::object(metadata_);
}
srs_error_t SrsOnMetaDataPacket::encode_packet(SrsBuffer *stream)
{
srs_error_t err = srs_success;
- if ((err = srs_amf0_write_string(stream, name)) != srs_success) {
+ if ((err = srs_amf0_write_string(stream, name_)) != srs_success) {
return srs_error_wrap(err, "name");
}
- if ((err = metadata->write(stream)) != srs_success) {
+ if ((err = metadata_->write(stream)) != srs_success) {
return srs_error_wrap(err, "metadata");
}
@@ -4262,7 +4262,7 @@ srs_error_t SrsOnMetaDataPacket::encode_packet(SrsBuffer *stream)
SrsSetWindowAckSizePacket::SrsSetWindowAckSizePacket()
{
- ackowledgement_window_size = 0;
+ ackowledgement_window_size_ = 0;
}
SrsSetWindowAckSizePacket::~SrsSetWindowAckSizePacket()
@@ -4277,7 +4277,7 @@ srs_error_t SrsSetWindowAckSizePacket::decode(SrsBuffer *stream)
return srs_error_new(ERROR_RTMP_MESSAGE_DECODE, "requires 4 only %d bytes", stream->left());
}
- ackowledgement_window_size = stream->read_4bytes();
+ ackowledgement_window_size_ = stream->read_4bytes();
return err;
}
@@ -4300,14 +4300,14 @@ srs_error_t SrsSetWindowAckSizePacket::encode_packet(SrsBuffer *stream)
return srs_error_new(ERROR_RTMP_MESSAGE_ENCODE, "requires 4 only %d bytes", stream->left());
}
- stream->write_4bytes(ackowledgement_window_size);
+ stream->write_4bytes(ackowledgement_window_size_);
return err;
}
SrsAcknowledgementPacket::SrsAcknowledgementPacket()
{
- sequence_number = 0;
+ sequence_number_ = 0;
}
SrsAcknowledgementPacket::~SrsAcknowledgementPacket()
@@ -4322,7 +4322,7 @@ srs_error_t SrsAcknowledgementPacket::decode(SrsBuffer *stream)
return srs_error_new(ERROR_RTMP_MESSAGE_DECODE, "requires 4 only %d bytes", stream->left());
}
- sequence_number = (uint32_t)stream->read_4bytes();
+ sequence_number_ = (uint32_t)stream->read_4bytes();
return err;
}
@@ -4345,14 +4345,14 @@ srs_error_t SrsAcknowledgementPacket::encode_packet(SrsBuffer *stream)
return srs_error_new(ERROR_RTMP_MESSAGE_ENCODE, "requires 4 only %d bytes", stream->left());
}
- stream->write_4bytes(sequence_number);
+ stream->write_4bytes(sequence_number_);
return err;
}
SrsSetChunkSizePacket::SrsSetChunkSizePacket()
{
- chunk_size = SRS_CONSTS_RTMP_PROTOCOL_CHUNK_SIZE;
+ chunk_size_ = SRS_CONSTS_RTMP_PROTOCOL_CHUNK_SIZE;
}
SrsSetChunkSizePacket::~SrsSetChunkSizePacket()
@@ -4367,7 +4367,7 @@ srs_error_t SrsSetChunkSizePacket::decode(SrsBuffer *stream)
return srs_error_new(ERROR_RTMP_MESSAGE_DECODE, "requires 4 only %d bytes", stream->left());
}
- chunk_size = stream->read_4bytes();
+ chunk_size_ = stream->read_4bytes();
return err;
}
@@ -4390,15 +4390,15 @@ srs_error_t SrsSetChunkSizePacket::encode_packet(SrsBuffer *stream)
return srs_error_new(ERROR_RTMP_MESSAGE_ENCODE, "requires 4 only %d bytes", stream->left());
}
- stream->write_4bytes(chunk_size);
+ stream->write_4bytes(chunk_size_);
return err;
}
SrsSetPeerBandwidthPacket::SrsSetPeerBandwidthPacket()
{
- bandwidth = 0;
- type = SrsPeerBandwidthDynamic;
+ bandwidth_ = 0;
+ type_ = SrsPeerBandwidthDynamic;
}
SrsSetPeerBandwidthPacket::~SrsSetPeerBandwidthPacket()
@@ -4423,17 +4423,17 @@ srs_error_t SrsSetPeerBandwidthPacket::encode_packet(SrsBuffer *stream)
return srs_error_new(ERROR_RTMP_MESSAGE_ENCODE, "requires 5 only %d bytes", stream->left());
}
- stream->write_4bytes(bandwidth);
- stream->write_1bytes(type);
+ stream->write_4bytes(bandwidth_);
+ stream->write_1bytes(type_);
return err;
}
SrsUserControlPacket::SrsUserControlPacket()
{
- event_type = 0;
- event_data = 0;
- extra_data = 0;
+ event_type_ = 0;
+ event_data_ = 0;
+ extra_data_ = 0;
}
SrsUserControlPacket::~SrsUserControlPacket()
@@ -4448,25 +4448,25 @@ srs_error_t SrsUserControlPacket::decode(SrsBuffer *stream)
return srs_error_new(ERROR_RTMP_MESSAGE_DECODE, "requires 2 only %d bytes", stream->left());
}
- event_type = stream->read_2bytes();
+ event_type_ = stream->read_2bytes();
- if (event_type == SrsPCUCFmsEvent0) {
+ if (event_type_ == SrsPCUCFmsEvent0) {
if (!stream->require(1)) {
return srs_error_new(ERROR_RTMP_MESSAGE_DECODE, "requires 1 only %d bytes", stream->left());
}
- event_data = stream->read_1bytes();
+ event_data_ = stream->read_1bytes();
} else {
if (!stream->require(4)) {
return srs_error_new(ERROR_RTMP_MESSAGE_DECODE, "requires 4 only %d bytes", stream->left());
}
- event_data = stream->read_4bytes();
+ event_data_ = stream->read_4bytes();
}
- if (event_type == SrcPCUCSetBufferLength) {
+ if (event_type_ == SrcPCUCSetBufferLength) {
if (!stream->require(4)) {
return srs_error_new(ERROR_RTMP_MESSAGE_ENCODE, "requires 4 only %d bytes", stream->left());
}
- extra_data = stream->read_4bytes();
+ extra_data_ = stream->read_4bytes();
}
return err;
@@ -4481,13 +4481,13 @@ int SrsUserControlPacket::get_size()
{
int size = 2;
- if (event_type == SrsPCUCFmsEvent0) {
+ if (event_type_ == SrsPCUCFmsEvent0) {
size += 1;
} else {
size += 4;
}
- if (event_type == SrcPCUCSetBufferLength) {
+ if (event_type_ == SrcPCUCSetBufferLength) {
size += 4;
}
@@ -4502,18 +4502,18 @@ srs_error_t SrsUserControlPacket::encode_packet(SrsBuffer *stream)
return srs_error_new(ERROR_RTMP_MESSAGE_ENCODE, "requires %d only %d bytes", get_size(), stream->left());
}
- stream->write_2bytes(event_type);
+ stream->write_2bytes(event_type_);
- if (event_type == SrsPCUCFmsEvent0) {
- stream->write_1bytes(event_data);
+ if (event_type_ == SrsPCUCFmsEvent0) {
+ stream->write_1bytes(event_data_);
} else {
- stream->write_4bytes(event_data);
+ stream->write_4bytes(event_data_);
}
// when event type is set buffer length,
// write the extra buffer length.
- if (event_type == SrcPCUCSetBufferLength) {
- stream->write_4bytes(extra_data);
+ if (event_type_ == SrcPCUCSetBufferLength) {
+ stream->write_4bytes(extra_data_);
}
return err;
diff --git a/trunk/src/protocol/srs_protocol_rtmp_stack.hpp b/trunk/src/protocol/srs_protocol_rtmp_stack.hpp
index 9fbc6c829a9..af30e21b0cb 100644
--- a/trunk/src/protocol/srs_protocol_rtmp_stack.hpp
+++ b/trunk/src/protocol/srs_protocol_rtmp_stack.hpp
@@ -136,55 +136,55 @@ class SrsProtocol
class AckWindowSize
{
public:
- uint32_t window;
+ uint32_t window_;
// number of received bytes.
- int64_t nb_recv_bytes;
+ int64_t nb_recv_bytes_;
// previous responsed sequence number.
- uint32_t sequence_number;
+ uint32_t sequence_number_;
AckWindowSize();
};
// For peer in/out
private:
// The underlayer socket object, send/recv bytes.
- ISrsProtocolReadWriter *skt;
+ ISrsProtocolReadWriter *skt_;
// The requests sent out, used to build the response.
// key: transactionId
// value: the request command name
- std::map requests;
+ std::map requests_;
// For peer in
private:
// The chunk stream to decode RTMP messages.
- std::map chunk_streams;
+ std::map chunk_streams_;
// Cache some frequently used chunk header.
// cs_cache, the chunk stream cache.
- SrsChunkStream **cs_cache;
+ SrsChunkStream **cs_cache_;
// The bytes buffer cache, recv from skt, provide services for stream.
- SrsFastStream *in_buffer;
+ SrsFastStream *in_buffer_;
// The input chunk size, default to 128, set by peer packet.
- int32_t in_chunk_size;
+ int32_t in_chunk_size_;
// The input ack window, to response acknowledge to peer,
// For example, to respose the encoder, for server got lots of packets.
- AckWindowSize in_ack_size;
+ AckWindowSize in_ack_size_;
// The output ack window, to require peer to response the ack.
- AckWindowSize out_ack_size;
+ AckWindowSize out_ack_size_;
// The buffer length set by peer.
- int32_t in_buffer_length;
+ int32_t in_buffer_length_;
// Whether print the protocol level debug info.
// Generally we print the debug info when got or send first A/V packet.
- bool show_debug_info;
+ bool show_debug_info_;
// Whether auto response when recv messages.
// default to true for it's very easy to use the protocol stack.
- bool auto_response_when_recv;
+ bool auto_response_when_recv_;
// When not auto response message, manual flush the messages in queue.
- std::vector manual_response_queue;
+ std::vector manual_response_queue_;
// For peer out
private:
// Cache for multiple messages send,
// initialize to iovec[SRS_CONSTS_IOVS_MAX] and realloc when consumed,
// it's ok to realloc the iovs cache, for all ptr is ok.
- iovec *out_iovs;
- int nb_out_iovs;
+ iovec *out_iovs_;
+ int nb_out_iovs_;
// The output header cache.
// used for type0, 11bytes(or 15bytes with extended timestamp) header.
// or for type3, 1bytes(or 5bytes with extended timestamp) header.
@@ -192,11 +192,11 @@ class SrsProtocol
//
// @remark, the c0c3 cache cannot be realloc.
// To allocate it in heap to make VS2015 happy.
- char *out_c0c3_caches;
+ char *out_c0c3_caches_;
// Whether warned user to increase the c0c3 header cache.
- bool warned_c0c3_cache_dry;
+ bool warned_c0c3_cache_dry_;
// The output chunk size, default to 128, set by config.
- int32_t out_chunk_size;
+ int32_t out_chunk_size_;
public:
SrsProtocol(ISrsProtocolReadWriter *io);
@@ -380,25 +380,25 @@ class SrsChunkStream
public:
// Represents the basic header fmt,
// which used to identify the variant message header type.
- char fmt;
+ char fmt_;
// Represents the basic header cid,
// which is the chunk stream id.
- int cid;
+ int cid_;
// Cached message header
- SrsMessageHeader header;
+ SrsMessageHeader header_;
// Whether the chunk message header has extended timestamp.
- bool has_extended_timestamp;
+ bool has_extended_timestamp_;
// The partially read message.
- SrsRtmpCommonMessage *msg;
+ SrsRtmpCommonMessage *msg_;
// Current writing position of message.
char *writing_pos_;
// Decoded msg count, to identify whether the chunk stream is fresh.
- int64_t msg_count;
+ int64_t msg_count_;
// Because the extended timestamp may be a delta timestamp, it can differ
// from the timestamp in the header, so it should be stored as a distinct field
// for comparison with the extended timestamp of subsequent chunks.
// See https://github.com/ossrs/srs/pull/4356 for details.
- int32_t extended_timestamp;
+ int32_t extended_timestamp_;
public:
SrsChunkStream(int _cid);
@@ -409,7 +409,7 @@ class ISrsRequest
{
public:
// The client ip.
- std::string ip;
+ std::string ip_;
public:
// Support pass vhost in RTMP URL, such as:
@@ -418,28 +418,28 @@ class ISrsRequest
// rtmp://ip:port/app?vhost=VHOST/stream
// rtmp://ip:port/app...vhost...VHOST/stream
// While tcUrl is url without stream.
- std::string tcUrl;
+ std::string tcUrl_;
public:
- std::string pageUrl;
- std::string swfUrl;
- double objectEncoding;
+ std::string pageUrl_;
+ std::string swfUrl_;
+ double objectEncoding_;
// The data discovery from request.
public:
// Discovery from tcUrl and play/publish.
- std::string schema;
+ std::string schema_;
// The vhost in tcUrl.
- std::string vhost;
+ std::string vhost_;
// The host in tcUrl.
- std::string host;
+ std::string host_;
// The port in tcUrl.
- int port;
+ int port_;
// The app in tcUrl, without param.
- std::string app;
+ std::string app_;
// The param in tcUrl(app).
- std::string param;
+ std::string param_;
// The stream in play/publish
- std::string stream;
+ std::string stream_;
// User specify the ice-ufrag, the username of ice, for test only.
std::string ice_ufrag_;
// User specify the ice-pwd, the password of ice, for test only.
@@ -447,18 +447,18 @@ class ISrsRequest
// For play live stream,
// used to specified the stop when exceed the duration.
// in srs_utime_t.
- srs_utime_t duration;
+ srs_utime_t duration_;
// The token in the connect request,
// used for edge traverse to origin authentication,
// @see https://github.com/ossrs/srs/issues/104
- SrsAmf0Object *args;
+ SrsAmf0Object *args_;
public:
// The protocol of client:
// rtmp, Adobe RTMP protocol.
// flv, HTTP-FLV protocol.
// flvs, HTTPS-FLV protocol.
- std::string protocol;
+ std::string protocol_;
public:
ISrsRequest();
@@ -509,7 +509,7 @@ class SrsResponse
{
public:
// The stream id to response client createStream.
- int stream_id;
+ int stream_id_;
public:
SrsResponse();
@@ -541,13 +541,13 @@ class SrsHandshakeBytes
{
public:
// For RTMP proxy, the real IP.
- uint32_t proxy_real_ip;
+ uint32_t proxy_real_ip_;
// [1+1536]
- char *c0c1;
+ char *c0c1_;
// [1+1536+1536]
- char *s0s1s2;
+ char *s0s1s2_;
// [1536]
- char *c2;
+ char *c2_;
public:
SrsHandshakeBytes();
@@ -567,14 +567,14 @@ class SrsHandshakeBytes
// The information return from RTMP server.
struct SrsServerInfo {
- std::string ip;
- std::string sig;
- int pid;
- int cid;
- int major;
- int minor;
- int revision;
- int build;
+ std::string ip_;
+ std::string sig_;
+ int pid_;
+ int cid_;
+ int major_;
+ int minor_;
+ int revision_;
+ int build_;
SrsServerInfo();
};
@@ -583,11 +583,11 @@ struct SrsServerInfo {
class SrsRtmpClient
{
private:
- SrsHandshakeBytes *hs_bytes;
+ SrsHandshakeBytes *hs_bytes_;
protected:
- SrsProtocol *protocol;
- ISrsProtocolReadWriter *io;
+ SrsProtocol *protocol_;
+ ISrsProtocolReadWriter *io_;
public:
SrsRtmpClient(ISrsProtocolReadWriter *skt);
@@ -649,7 +649,7 @@ class SrsRtmpClient
template
srs_error_t expect_message(SrsRtmpCommonMessage **pmsg, T **ppacket)
{
- return protocol->expect_message(pmsg, ppacket);
+ return protocol_->expect_message(pmsg, ppacket);
}
};
@@ -659,9 +659,9 @@ class SrsRtmpClient
class SrsRtmpServer
{
private:
- SrsHandshakeBytes *hs_bytes;
- SrsProtocol *protocol;
- ISrsProtocolReadWriter *io;
+ SrsHandshakeBytes *hs_bytes_;
+ SrsProtocol *protocol_;
+ ISrsProtocolReadWriter *io_;
public:
SrsRtmpServer(ISrsProtocolReadWriter *skt);
@@ -821,7 +821,7 @@ class SrsRtmpServer
template
srs_error_t expect_message(SrsRtmpCommonMessage **pmsg, T **ppacket)
{
- return protocol->expect_message(pmsg, ppacket);
+ return protocol_->expect_message(pmsg, ppacket);
}
private:
@@ -841,17 +841,17 @@ class SrsConnectAppPacket : public SrsRtmpCommand
{
public:
// Name of the command. Set to "connect".
- std::string command_name;
+ std::string command_name_;
// Always set to 1.
- double transaction_id;
+ double transaction_id_;
// Command information object which has the name-value pairs.
// @remark: alloc in packet constructor, user can directly use it,
// user should never alloc it again which will cause memory leak.
// @remark, never be NULL.
- SrsAmf0Object *command_object;
+ SrsAmf0Object *command_object_;
// Any optional information
// @remark, optional, init to and maybe NULL.
- SrsAmf0Object *args;
+ SrsAmf0Object *args_;
public:
SrsConnectAppPacket();
@@ -872,16 +872,16 @@ class SrsConnectAppResPacket : public SrsRtmpCommand
{
public:
// The _result or _error; indicates whether the response is result or error.
- std::string command_name;
+ std::string command_name_;
// Transaction ID is 1 for call connect responses
- double transaction_id;
+ double transaction_id_;
// Name-value pairs that describe the properties(fmsver etc.) of the connection.
// @remark, never be NULL.
- SrsAmf0Object *props;
+ SrsAmf0Object *props_;
// Name-value pairs that describe the response from|the server. 'code',
// 'level', 'description' are names of few among such information.
// @remark, never be NULL.
- SrsAmf0Object *info;
+ SrsAmf0Object *info_;
public:
SrsConnectAppResPacket();
@@ -906,16 +906,16 @@ class SrsCallPacket : public SrsRtmpCommand
{
public:
// Name of the remote procedure that is called.
- std::string command_name;
+ std::string command_name_;
// If a response is expected we give a transaction Id. Else we pass a value of 0
- double transaction_id;
+ double transaction_id_;
// If there exists any command info this
// is set, else this is set to null type.
// @remark, optional, init to and maybe NULL.
- SrsAmf0Any *command_object;
+ SrsAmf0Any *command_object_;
// Any optional arguments to be provided
// @remark, optional, init to and maybe NULL.
- SrsAmf0Any *arguments;
+ SrsAmf0Any *arguments_;
public:
SrsCallPacket();
@@ -936,15 +936,15 @@ class SrsCallResPacket : public SrsRtmpCommand
{
public:
// Name of the command.
- std::string command_name;
+ std::string command_name_;
// ID of the command, to which the response belongs to
- double transaction_id;
+ double transaction_id_;
// If there exists any command info this is set, else this is set to null type.
// @remark, optional, init to and maybe NULL.
- SrsAmf0Any *command_object;
+ SrsAmf0Any *command_object_;
// Response from the method that was called.
// @remark, optional, init to and maybe NULL.
- SrsAmf0Any *response;
+ SrsAmf0Any *response_;
public:
SrsCallResPacket(double _transaction_id);
@@ -967,12 +967,12 @@ class SrsCreateStreamPacket : public SrsRtmpCommand
{
public:
// Name of the command. Set to "createStream".
- std::string command_name;
+ std::string command_name_;
// Transaction ID of the command.
- double transaction_id;
+ double transaction_id_;
// If there exists any command info this is set, else this is set to null type.
// @remark, never be NULL, an AMF0 null instance.
- SrsAmf0Any *command_object; // null
+ SrsAmf0Any *command_object_; // null
public:
SrsCreateStreamPacket();
virtual ~SrsCreateStreamPacket();
@@ -995,14 +995,14 @@ class SrsCreateStreamResPacket : public SrsRtmpCommand
{
public:
// The _result or _error; indicates whether the response is result or error.
- std::string command_name;
+ std::string command_name_;
// ID of the command that response belongs to.
- double transaction_id;
+ double transaction_id_;
// If there exists any command info this is set, else this is set to null type.
// @remark, never be NULL, an AMF0 null instance.
- SrsAmf0Any *command_object; // null
+ SrsAmf0Any *command_object_; // null
// The return value is either a stream ID or an error information object.
- double stream_id;
+ double stream_id_;
public:
SrsCreateStreamResPacket(double _transaction_id, double _stream_id);
@@ -1024,12 +1024,12 @@ class SrsCloseStreamPacket : public SrsRtmpCommand
{
public:
// Name of the command, set to "closeStream".
- std::string command_name;
+ std::string command_name_;
// Transaction ID set to 0.
- double transaction_id;
+ double transaction_id_;
// Command information object does not exist. Set to null type.
// @remark, never be NULL, an AMF0 null instance.
- SrsAmf0Any *command_object; // null
+ SrsAmf0Any *command_object_; // null
public:
SrsCloseStreamPacket();
virtual ~SrsCloseStreamPacket();
@@ -1043,14 +1043,14 @@ class SrsFMLEStartPacket : public SrsRtmpCommand
{
public:
// Name of the command
- std::string command_name;
+ std::string command_name_;
// The transaction ID to get the response.
- double transaction_id;
+ double transaction_id_;
// If there exists any command info this is set, else this is set to null type.
// @remark, never be NULL, an AMF0 null instance.
- SrsAmf0Any *command_object; // null
+ SrsAmf0Any *command_object_; // null
// The stream name to start publish or release.
- std::string stream_name;
+ std::string stream_name_;
public:
SrsFMLEStartPacket();
@@ -1078,15 +1078,15 @@ class SrsFMLEStartResPacket : public SrsRtmpCommand
{
public:
// Name of the command
- std::string command_name;
+ std::string command_name_;
// The transaction ID to get the response.
- double transaction_id;
+ double transaction_id_;
// If there exists any command info this is set, else this is set to null type.
// @remark, never be NULL, an AMF0 null instance.
- SrsAmf0Any *command_object; // null
+ SrsAmf0Any *command_object_; // null
// The optional args, set to undefined.
// @remark, never be NULL, an AMF0 undefined instance.
- SrsAmf0Any *args; // undefined
+ SrsAmf0Any *args_; // undefined
public:
SrsFMLEStartResPacket(double _transaction_id);
virtual ~SrsFMLEStartResPacket();
@@ -1115,14 +1115,14 @@ class SrsPublishPacket : public SrsRtmpCommand
{
public:
// Name of the command, set to "publish".
- std::string command_name;
+ std::string command_name_;
// Transaction ID set to 0.
- double transaction_id;
+ double transaction_id_;
// Command information object does not exist. Set to null type.
// @remark, never be NULL, an AMF0 null instance.
- SrsAmf0Any *command_object; // null
+ SrsAmf0Any *command_object_; // null
// Name with which the stream is published.
- std::string stream_name;
+ std::string stream_name_;
// Type of publishing. Set to "live", "record", or "append".
// record: The stream is published and the data is recorded to a new file.The file
// is stored on the server in a subdirectory within the directory that
@@ -1133,7 +1133,7 @@ class SrsPublishPacket : public SrsRtmpCommand
// live: Live data is published without recording it in a file.
// @remark, SRS only support live.
// @remark, optional, default to live.
- std::string type;
+ std::string type_;
public:
SrsPublishPacket();
@@ -1160,19 +1160,19 @@ class SrsPausePacket : public SrsRtmpCommand
{
public:
// Name of the command, set to "pause".
- std::string command_name;
+ std::string command_name_;
// There is no transaction ID for this command. Set to 0.
- double transaction_id;
+ double transaction_id_;
// Command information object does not exist. Set to null type.
// @remark, never be NULL, an AMF0 null instance.
- SrsAmf0Any *command_object; // null
+ SrsAmf0Any *command_object_; // null
// true or false, to indicate pausing or resuming play
- bool is_pause;
+ bool is_pause_;
// Number of milliseconds at which the the stream is paused or play resumed.
// This is the current stream time at the Client when stream was paused. When the
// playback is resumed, the server will only send messages with timestamps
// greater than this value.
- double time_ms;
+ double time_ms_;
public:
SrsPausePacket();
@@ -1188,12 +1188,12 @@ class SrsPlayPacket : public SrsRtmpCommand
{
public:
// Name of the command. Set to "play".
- std::string command_name;
+ std::string command_name_;
// Transaction ID set to 0.
- double transaction_id;
+ double transaction_id_;
// Command information does not exist. Set to null type.
// @remark, never be NULL, an AMF0 null instance.
- SrsAmf0Any *command_object; // null
+ SrsAmf0Any *command_object_; // null
// Name of the stream to play.
// To play video (FLV) files, specify the name of the stream without a file
// extension (for example, "sample").
@@ -1202,7 +1202,7 @@ class SrsPlayPacket : public SrsRtmpCommand
// To play H.264/AAC files, you must precede the stream name with mp4: and specify the
// file extension. For example, to play the file sample.m4v, specify
// "mp4:sample.m4v"
- std::string stream_name;
+ std::string stream_name_;
// An optional parameter that specifies the start time in seconds.
// The default value is -2, which means the subscriber first tries to play the live
// stream specified in the Stream Name field. If a live stream of that name is
@@ -1213,7 +1213,7 @@ class SrsPlayPacket : public SrsRtmpCommand
// in the Stream Name field is played beginning from the time specified in the
// Start field.
// If no recorded stream is found, the next item in the playlist is played.
- double start;
+ double start_;
// An optional parameter that specifies the duration of playback in seconds.
// The default value is -1. The -1 value means a live stream is played until it is no
// longer available or a recorded stream is played until it ends.
@@ -1226,10 +1226,10 @@ class SrsPlayPacket : public SrsRtmpCommand
// time specified in the Duration field, playback ends when the stream ends.)
// If you pass a negative number other than -1 in the Duration field, it interprets the
// value as if it were -1.
- double duration;
+ double duration_;
// An optional Boolean value or number that specifies whether to flush any
// previous playlist.
- bool reset;
+ bool reset_;
public:
SrsPlayPacket();
@@ -1253,17 +1253,17 @@ class SrsPlayResPacket : public SrsRtmpCommand
public:
// Name of the command. If the play command is successful, the command
// name is set to onStatus.
- std::string command_name;
+ std::string command_name_;
// Transaction ID set to 0.
- double transaction_id;
+ double transaction_id_;
// Command information does not exist. Set to null type.
// @remark, never be NULL, an AMF0 null instance.
- SrsAmf0Any *command_object; // null
+ SrsAmf0Any *command_object_; // null
// If the play command is successful, the client receives OnStatus message from
// server which is NetStream.Play.Start. If the specified stream is not found,
// NetStream.Play.StreamNotFound is received.
// @remark, never be NULL, an AMF0 object instance.
- SrsAmf0Object *desc;
+ SrsAmf0Object *desc_;
public:
SrsPlayResPacket();
@@ -1286,12 +1286,12 @@ class SrsOnBWDonePacket : public SrsRtmpCommand
{
public:
// Name of command. Set to "onBWDone"
- std::string command_name;
+ std::string command_name_;
// Transaction ID set to 0.
- double transaction_id;
+ double transaction_id_;
// Command information does not exist. Set to null type.
// @remark, never be NULL, an AMF0 null instance.
- SrsAmf0Any *args; // null
+ SrsAmf0Any *args_; // null
public:
SrsOnBWDonePacket();
virtual ~SrsOnBWDonePacket();
@@ -1313,16 +1313,16 @@ class SrsOnStatusCallPacket : public SrsRtmpCommand
{
public:
// Name of command. Set to "onStatus"
- std::string command_name;
+ std::string command_name_;
// Transaction ID set to 0.
- double transaction_id;
+ double transaction_id_;
// Command information does not exist. Set to null type.
// @remark, never be NULL, an AMF0 null instance.
- SrsAmf0Any *args; // null
+ SrsAmf0Any *args_; // null
// Name-value pairs that describe the response from the server.
// 'code','level', 'description' are names of few among such information.
// @remark, never be NULL, an AMF0 object instance.
- SrsAmf0Object *data;
+ SrsAmf0Object *data_;
public:
SrsOnStatusCallPacket();
@@ -1346,11 +1346,11 @@ class SrsOnStatusDataPacket : public SrsRtmpCommand
{
public:
// Name of command. Set to "onStatus"
- std::string command_name;
+ std::string command_name_;
// Name-value pairs that describe the response from the server.
// 'code', are names of few among such information.
// @remark, never be NULL, an AMF0 object instance.
- SrsAmf0Object *data;
+ SrsAmf0Object *data_;
public:
SrsOnStatusDataPacket();
@@ -1374,13 +1374,13 @@ class SrsNaluSampleAccessPacket : public SrsRtmpCommand
{
public:
// Name of command. Set to "|RtmpSampleAccess".
- std::string command_name;
+ std::string command_name_;
// Whether allow access the sample of video.
// @see: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html#videoSampleAccess
- bool video_sample_access;
+ bool video_sample_access_;
// Whether allow access the sample of audio.
// @see: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html#audioSampleAccess
- bool audio_sample_access;
+ bool audio_sample_access_;
public:
SrsNaluSampleAccessPacket();
@@ -1401,10 +1401,10 @@ class SrsOnMetaDataPacket : public SrsRtmpCommand
{
public:
// Name of metadata. Set to "onMetaData"
- std::string name;
+ std::string name_;
// Metadata of stream.
// @remark, never be NULL, an AMF0 object instance.
- SrsAmf0Object *metadata;
+ SrsAmf0Object *metadata_;
public:
SrsOnMetaDataPacket();
@@ -1430,7 +1430,7 @@ class SrsOnMetaDataPacket : public SrsRtmpCommand
class SrsSetWindowAckSizePacket : public SrsRtmpCommand
{
public:
- int32_t ackowledgement_window_size;
+ int32_t ackowledgement_window_size_;
public:
SrsSetWindowAckSizePacket();
@@ -1453,7 +1453,7 @@ class SrsSetWindowAckSizePacket : public SrsRtmpCommand
class SrsAcknowledgementPacket : public SrsRtmpCommand
{
public:
- uint32_t sequence_number;
+ uint32_t sequence_number_;
public:
SrsAcknowledgementPacket();
@@ -1478,7 +1478,7 @@ class SrsSetChunkSizePacket : public SrsRtmpCommand
public:
// The maximum chunk size can be 65536 bytes. The chunk size is
// maintained independently for each direction.
- int32_t chunk_size;
+ int32_t chunk_size_;
public:
SrsSetChunkSizePacket();
@@ -1510,9 +1510,9 @@ enum SrsPeerBandwidthType {
class SrsSetPeerBandwidthPacket : public SrsRtmpCommand
{
public:
- int32_t bandwidth;
+ int32_t bandwidth_;
// @see: SrsPeerBandwidthType
- int8_t type;
+ int8_t type_;
public:
SrsSetPeerBandwidthPacket();
@@ -1614,13 +1614,13 @@ class SrsUserControlPacket : public SrsRtmpCommand
public:
// Event type is followed by Event data.
// @see: SrcPCUCEventType
- int16_t event_type;
+ int16_t event_type_;
// The event data generally in 4bytes.
// @remark for event type is 0x001a, only 1bytes.
// @see SrsPCUCFmsEvent0
- int32_t event_data;
+ int32_t event_data_;
// 4bytes if event_type is SetBufferLength; otherwise 0.
- int32_t extra_data;
+ int32_t extra_data_;
public:
SrsUserControlPacket();
diff --git a/trunk/src/utest/srs_utest_avc.cpp b/trunk/src/utest/srs_utest_avc.cpp
index 07e8df6e1f4..568a36ac895 100644
--- a/trunk/src/utest/srs_utest_avc.cpp
+++ b/trunk/src/utest/srs_utest_avc.cpp
@@ -324,16 +324,16 @@ VOID TEST(SrsAVCTest, AACDemuxADTS)
uint8_t b[] = {0xff, 0xf9, 0x2c, 0x40, 0, 0xe0, 0};
SrsBuffer buf((char *)b, sizeof(b));
HELPER_ASSERT_SUCCESS(h.adts_demux(&buf, &frame, &nb_frame, codec));
- EXPECT_EQ(1, codec.protection_absent); // b[1]
- EXPECT_EQ(SrsAacObjectTypeAacMain, codec.aac_object); // b[2]
- EXPECT_EQ(0xb, codec.sampling_frequency_index); // b[2]
- EXPECT_EQ(1, codec.channel_configuration); // b[3]
- EXPECT_EQ(7, codec.frame_length); // b[5]
+ EXPECT_EQ(1, codec.protection_absent_); // b[1]
+ EXPECT_EQ(SrsAacObjectTypeAacMain, codec.aac_object_); // b[2]
+ EXPECT_EQ(0xb, codec.sampling_frequency_index_); // b[2]
+ EXPECT_EQ(1, codec.channel_configuration_); // b[3]
+ EXPECT_EQ(7, codec.frame_length_); // b[5]
EXPECT_EQ(0, nb_frame);
- EXPECT_EQ(SrsAudioSampleRate5512, codec.sound_rate);
- EXPECT_EQ(0, codec.sound_type);
- EXPECT_EQ(1, codec.sound_size);
+ EXPECT_EQ(SrsAudioSampleRate5512, codec.sound_rate_);
+ EXPECT_EQ(0, codec.sound_type_);
+ EXPECT_EQ(1, codec.sound_size_);
}
// For lower sampling rate, such as 22050HZ.
@@ -345,16 +345,16 @@ VOID TEST(SrsAVCTest, AACDemuxADTS)
uint8_t b[] = {0xff, 0xf9, 0x18, 0x40, 0, 0xe0, 0};
SrsBuffer buf((char *)b, sizeof(b));
HELPER_ASSERT_SUCCESS(h.adts_demux(&buf, &frame, &nb_frame, codec));
- EXPECT_EQ(1, codec.protection_absent); // b[1]
- EXPECT_EQ(SrsAacObjectTypeAacMain, codec.aac_object); // b[2]
- EXPECT_EQ(6, codec.sampling_frequency_index); // b[2]
- EXPECT_EQ(1, codec.channel_configuration); // b[3]
- EXPECT_EQ(7, codec.frame_length); // b[5]
+ EXPECT_EQ(1, codec.protection_absent_); // b[1]
+ EXPECT_EQ(SrsAacObjectTypeAacMain, codec.aac_object_); // b[2]
+ EXPECT_EQ(6, codec.sampling_frequency_index_); // b[2]
+ EXPECT_EQ(1, codec.channel_configuration_); // b[3]
+ EXPECT_EQ(7, codec.frame_length_); // b[5]
EXPECT_EQ(0, nb_frame);
- EXPECT_EQ(SrsAudioSampleRate22050, codec.sound_rate);
- EXPECT_EQ(0, codec.sound_type);
- EXPECT_EQ(1, codec.sound_size);
+ EXPECT_EQ(SrsAudioSampleRate22050, codec.sound_rate_);
+ EXPECT_EQ(0, codec.sound_type_);
+ EXPECT_EQ(1, codec.sound_size_);
}
// For higher sampling rate, use 44100HZ.
@@ -366,16 +366,16 @@ VOID TEST(SrsAVCTest, AACDemuxADTS)
uint8_t b[] = {0xff, 0xf9, 0x04, 0x40, 0, 0xe0, 0};
SrsBuffer buf((char *)b, sizeof(b));
HELPER_ASSERT_SUCCESS(h.adts_demux(&buf, &frame, &nb_frame, codec));
- EXPECT_EQ(1, codec.protection_absent); // b[1]
- EXPECT_EQ(SrsAacObjectTypeAacMain, codec.aac_object); // b[2]
- EXPECT_EQ(1, codec.sampling_frequency_index); // b[2]
- EXPECT_EQ(1, codec.channel_configuration); // b[3]
- EXPECT_EQ(7, codec.frame_length); // b[5]
+ EXPECT_EQ(1, codec.protection_absent_); // b[1]
+ EXPECT_EQ(SrsAacObjectTypeAacMain, codec.aac_object_); // b[2]
+ EXPECT_EQ(1, codec.sampling_frequency_index_); // b[2]
+ EXPECT_EQ(1, codec.channel_configuration_); // b[3]
+ EXPECT_EQ(7, codec.frame_length_); // b[5]
EXPECT_EQ(0, nb_frame);
- EXPECT_EQ(SrsAudioSampleRate44100, codec.sound_rate);
- EXPECT_EQ(0, codec.sound_type);
- EXPECT_EQ(1, codec.sound_size);
+ EXPECT_EQ(SrsAudioSampleRate44100, codec.sound_rate_);
+ EXPECT_EQ(0, codec.sound_type_);
+ EXPECT_EQ(1, codec.sound_size_);
}
// If protected, there are 2B signature.
@@ -387,17 +387,17 @@ VOID TEST(SrsAVCTest, AACDemuxADTS)
uint8_t b[] = {0xff, 0xf0, 0x10, 0x40, 0x01, 0x40, 0, 0, 0, 1};
SrsBuffer buf((char *)b, sizeof(b));
HELPER_ASSERT_SUCCESS(h.adts_demux(&buf, &frame, &nb_frame, codec));
- EXPECT_EQ(0, codec.protection_absent); // b[1]
- EXPECT_EQ(SrsAacObjectTypeAacMain, codec.aac_object); // b[2]
- EXPECT_EQ(4, codec.sampling_frequency_index); // b[2]
- EXPECT_EQ(1, codec.channel_configuration); // b[3]
- EXPECT_EQ(10, codec.frame_length); // b[4,5]
+ EXPECT_EQ(0, codec.protection_absent_); // b[1]
+ EXPECT_EQ(SrsAacObjectTypeAacMain, codec.aac_object_); // b[2]
+ EXPECT_EQ(4, codec.sampling_frequency_index_); // b[2]
+ EXPECT_EQ(1, codec.channel_configuration_); // b[3]
+ EXPECT_EQ(10, codec.frame_length_); // b[4,5]
ASSERT_EQ(1, nb_frame);
EXPECT_EQ(1, (uint8_t)frame[0]);
- EXPECT_EQ(SrsAudioSampleRate44100, codec.sound_rate);
- EXPECT_EQ(0, codec.sound_type);
- EXPECT_EQ(1, codec.sound_size);
+ EXPECT_EQ(SrsAudioSampleRate44100, codec.sound_rate_);
+ EXPECT_EQ(0, codec.sound_type_);
+ EXPECT_EQ(1, codec.sound_size_);
}
// Fail if not enough data.
@@ -442,17 +442,17 @@ VOID TEST(SrsAVCTest, AACDemuxADTS)
uint8_t b[] = {0xff, 0xf9, 0x10, 0x40, 0x01, 0, 0, 1};
SrsBuffer buf((char *)b, sizeof(b));
HELPER_ASSERT_SUCCESS(h.adts_demux(&buf, &frame, &nb_frame, codec));
- EXPECT_EQ(1, codec.protection_absent); // b[1]
- EXPECT_EQ(SrsAacObjectTypeAacMain, codec.aac_object); // b[2]
- EXPECT_EQ(4, codec.sampling_frequency_index); // b[2]
- EXPECT_EQ(1, codec.channel_configuration); // b[3]
- EXPECT_EQ(8, codec.frame_length); // b[4]
+ EXPECT_EQ(1, codec.protection_absent_); // b[1]
+ EXPECT_EQ(SrsAacObjectTypeAacMain, codec.aac_object_); // b[2]
+ EXPECT_EQ(4, codec.sampling_frequency_index_); // b[2]
+ EXPECT_EQ(1, codec.channel_configuration_); // b[3]
+ EXPECT_EQ(8, codec.frame_length_); // b[4]
ASSERT_EQ(1, nb_frame);
EXPECT_EQ(1, (uint8_t)frame[0]);
- EXPECT_EQ(SrsAudioSampleRate44100, codec.sound_rate);
- EXPECT_EQ(0, codec.sound_type);
- EXPECT_EQ(1, codec.sound_size);
+ EXPECT_EQ(SrsAudioSampleRate44100, codec.sound_rate_);
+ EXPECT_EQ(0, codec.sound_type_);
+ EXPECT_EQ(1, codec.sound_size_);
}
// Minimum AAC frame, no raw data.
@@ -464,16 +464,16 @@ VOID TEST(SrsAVCTest, AACDemuxADTS)
uint8_t b[] = {0xff, 0xf9, 0x10, 0x40, 0, 0xe0, 0};
SrsBuffer buf((char *)b, sizeof(b));
HELPER_ASSERT_SUCCESS(h.adts_demux(&buf, &frame, &nb_frame, codec));
- EXPECT_EQ(1, codec.protection_absent); // b[1]
- EXPECT_EQ(SrsAacObjectTypeAacMain, codec.aac_object); // b[2]
- EXPECT_EQ(4, codec.sampling_frequency_index); // b[2]
- EXPECT_EQ(1, codec.channel_configuration); // b[3]
- EXPECT_EQ(7, codec.frame_length); // b[5]
+ EXPECT_EQ(1, codec.protection_absent_); // b[1]
+ EXPECT_EQ(SrsAacObjectTypeAacMain, codec.aac_object_); // b[2]
+ EXPECT_EQ(4, codec.sampling_frequency_index_); // b[2]
+ EXPECT_EQ(1, codec.channel_configuration_); // b[3]
+ EXPECT_EQ(7, codec.frame_length_); // b[5]
EXPECT_EQ(0, nb_frame);
- EXPECT_EQ(SrsAudioSampleRate44100, codec.sound_rate);
- EXPECT_EQ(0, codec.sound_type);
- EXPECT_EQ(1, codec.sound_size);
+ EXPECT_EQ(SrsAudioSampleRate44100, codec.sound_rate_);
+ EXPECT_EQ(0, codec.sound_type_);
+ EXPECT_EQ(1, codec.sound_size_);
}
}
@@ -486,10 +486,10 @@ VOID TEST(SrsAVCTest, AACMuxSequenceHeader)
SrsRawAacStream h;
string sh;
SrsRawAacStreamCodec codec;
- codec.aac_object = SrsAacObjectTypeAacMain;
- codec.channel_configuration = 1;
- codec.sound_rate = SrsAudioSampleRate22050;
- codec.sampling_frequency_index = 7;
+ codec.aac_object_ = SrsAacObjectTypeAacMain;
+ codec.channel_configuration_ = 1;
+ codec.sound_rate_ = SrsAudioSampleRate22050;
+ codec.sampling_frequency_index_ = 7;
HELPER_ASSERT_SUCCESS(h.mux_sequence_header(&codec, sh));
EXPECT_EQ(2, (int)sh.length());
EXPECT_EQ(0x0b, (uint8_t)sh.at(0));
@@ -501,10 +501,10 @@ VOID TEST(SrsAVCTest, AACMuxSequenceHeader)
SrsRawAacStream h;
string sh;
SrsRawAacStreamCodec codec;
- codec.aac_object = SrsAacObjectTypeAacMain;
- codec.channel_configuration = 1;
- codec.sound_rate = SrsAudioSampleRate11025;
- codec.sampling_frequency_index = 0xa;
+ codec.aac_object_ = SrsAacObjectTypeAacMain;
+ codec.channel_configuration_ = 1;
+ codec.sound_rate_ = SrsAudioSampleRate11025;
+ codec.sampling_frequency_index_ = 0xa;
HELPER_ASSERT_SUCCESS(h.mux_sequence_header(&codec, sh));
EXPECT_EQ(2, (int)sh.length());
EXPECT_EQ(0x0d, (uint8_t)sh.at(0));
@@ -516,9 +516,9 @@ VOID TEST(SrsAVCTest, AACMuxSequenceHeader)
SrsRawAacStream h;
string sh;
SrsRawAacStreamCodec codec;
- codec.aac_object = SrsAacObjectTypeAacMain;
- codec.sampling_frequency_index = SrsAacSampleRateUnset;
- codec.sound_rate = SrsAudioSampleRateReserved;
+ codec.aac_object_ = SrsAacObjectTypeAacMain;
+ codec.sampling_frequency_index_ = SrsAacSampleRateUnset;
+ codec.sound_rate_ = SrsAudioSampleRateReserved;
HELPER_EXPECT_FAILED(h.mux_sequence_header(&codec, sh));
}
@@ -527,10 +527,10 @@ VOID TEST(SrsAVCTest, AACMuxSequenceHeader)
SrsRawAacStream h;
string sh;
SrsRawAacStreamCodec codec;
- codec.aac_object = SrsAacObjectTypeAacMain;
- codec.channel_configuration = 1;
- codec.sampling_frequency_index = 4;
- codec.sound_rate = SrsAudioSampleRateReserved;
+ codec.aac_object_ = SrsAacObjectTypeAacMain;
+ codec.channel_configuration_ = 1;
+ codec.sampling_frequency_index_ = 4;
+ codec.sound_rate_ = SrsAudioSampleRateReserved;
HELPER_ASSERT_SUCCESS(h.mux_sequence_header(&codec, sh));
EXPECT_EQ(2, (int)sh.length());
EXPECT_EQ(0x0a, (uint8_t)sh.at(0));
@@ -542,7 +542,7 @@ VOID TEST(SrsAVCTest, AACMuxSequenceHeader)
SrsRawAacStream h;
string sh;
SrsRawAacStreamCodec codec;
- codec.aac_object = SrsAacObjectTypeReserved;
+ codec.aac_object_ = SrsAacObjectTypeReserved;
HELPER_EXPECT_FAILED(h.mux_sequence_header(&codec, sh));
}
@@ -551,10 +551,10 @@ VOID TEST(SrsAVCTest, AACMuxSequenceHeader)
SrsRawAacStream h;
string sh;
SrsRawAacStreamCodec codec;
- codec.aac_object = SrsAacObjectTypeAacMain;
- codec.channel_configuration = 1;
- codec.sound_rate = SrsAudioSampleRate44100;
- codec.sampling_frequency_index = 4;
+ codec.aac_object_ = SrsAacObjectTypeAacMain;
+ codec.channel_configuration_ = 1;
+ codec.sound_rate_ = SrsAudioSampleRate44100;
+ codec.sampling_frequency_index_ = 4;
HELPER_ASSERT_SUCCESS(h.mux_sequence_header(&codec, sh));
EXPECT_EQ(2, (int)sh.length());
EXPECT_EQ(0x0a, (uint8_t)sh.at(0));
@@ -566,10 +566,10 @@ VOID TEST(SrsAVCTest, AACMuxSequenceHeader)
SrsRawAacStream h;
string sh;
SrsRawAacStreamCodec codec;
- codec.aac_object = SrsAacObjectTypeAacMain;
- codec.channel_configuration = 1;
- codec.sound_rate = SrsAudioSampleRate22050;
- codec.sampling_frequency_index = 4;
+ codec.aac_object_ = SrsAacObjectTypeAacMain;
+ codec.channel_configuration_ = 1;
+ codec.sound_rate_ = SrsAudioSampleRate22050;
+ codec.sampling_frequency_index_ = 4;
HELPER_ASSERT_SUCCESS(h.mux_sequence_header(&codec, sh));
EXPECT_EQ(2, (int)sh.length());
EXPECT_EQ(0x0a, (uint8_t)sh.at(0));
@@ -581,10 +581,10 @@ VOID TEST(SrsAVCTest, AACMuxSequenceHeader)
SrsRawAacStream h;
string sh;
SrsRawAacStreamCodec codec;
- codec.aac_object = SrsAacObjectTypeAacMain;
- codec.channel_configuration = 1;
- codec.sound_rate = SrsAudioSampleRate44100;
- codec.sampling_frequency_index = SrsAacSampleRateUnset;
+ codec.aac_object_ = SrsAacObjectTypeAacMain;
+ codec.channel_configuration_ = 1;
+ codec.sound_rate_ = SrsAudioSampleRate44100;
+ codec.sampling_frequency_index_ = SrsAacSampleRateUnset;
HELPER_ASSERT_SUCCESS(h.mux_sequence_header(&codec, sh));
EXPECT_EQ(2, (int)sh.length());
EXPECT_EQ(0x0a, (uint8_t)sh.at(0));
@@ -603,11 +603,11 @@ VOID TEST(SrsAVCTest, AACMuxToFLV)
SrsRawAacStreamCodec codec;
char *flv = NULL;
int nb_flv = 0;
- codec.sound_format = SrsAudioCodecIdMP3;
- codec.sound_rate = 0;
- codec.sound_size = 1;
- codec.sound_type = 1;
- codec.aac_packet_type = 4;
+ codec.sound_format_ = SrsAudioCodecIdMP3;
+ codec.sound_rate_ = 0;
+ codec.sound_size_ = 1;
+ codec.sound_type_ = 1;
+ codec.aac_packet_type_ = 4;
HELPER_ASSERT_SUCCESS(h.mux_aac2flv((char *)frame.data(), frame.length(), &codec, 0, &flv, &nb_flv));
EXPECT_EQ(6, nb_flv);
EXPECT_EQ(0x23, (uint8_t)flv[0]);
@@ -622,11 +622,11 @@ VOID TEST(SrsAVCTest, AACMuxToFLV)
SrsRawAacStreamCodec codec;
char *flv = NULL;
int nb_flv = 0;
- codec.sound_format = SrsAudioCodecIdOpus;
- codec.sound_rate = 0;
- codec.sound_size = 1;
- codec.sound_type = 1;
- codec.aac_packet_type = 4;
+ codec.sound_format_ = SrsAudioCodecIdOpus;
+ codec.sound_rate_ = 0;
+ codec.sound_size_ = 1;
+ codec.sound_type_ = 1;
+ codec.aac_packet_type_ = 4;
HELPER_ASSERT_SUCCESS(h.mux_aac2flv((char *)frame.data(), frame.length(), &codec, 0, &flv, &nb_flv));
EXPECT_EQ(6, nb_flv);
EXPECT_EQ(0xd3, (uint8_t)flv[0]);
@@ -641,11 +641,11 @@ VOID TEST(SrsAVCTest, AACMuxToFLV)
SrsRawAacStreamCodec codec;
char *flv = NULL;
int nb_flv = 0;
- codec.sound_format = SrsAudioCodecIdSpeex;
- codec.sound_rate = 0;
- codec.sound_size = 1;
- codec.sound_type = 1;
- codec.aac_packet_type = 4;
+ codec.sound_format_ = SrsAudioCodecIdSpeex;
+ codec.sound_rate_ = 0;
+ codec.sound_size_ = 1;
+ codec.sound_type_ = 1;
+ codec.aac_packet_type_ = 4;
HELPER_ASSERT_SUCCESS(h.mux_aac2flv((char *)frame.data(), frame.length(), &codec, 0, &flv, &nb_flv));
EXPECT_EQ(6, nb_flv);
EXPECT_EQ(0xb3, (uint8_t)flv[0]);
@@ -660,11 +660,11 @@ VOID TEST(SrsAVCTest, AACMuxToFLV)
SrsRawAacStreamCodec codec;
char *flv = NULL;
int nb_flv = 0;
- codec.sound_format = SrsAudioCodecIdAAC;
- codec.sound_rate = 0;
- codec.sound_size = 1;
- codec.sound_type = 1;
- codec.aac_packet_type = 4;
+ codec.sound_format_ = SrsAudioCodecIdAAC;
+ codec.sound_rate_ = 0;
+ codec.sound_size_ = 1;
+ codec.sound_type_ = 1;
+ codec.aac_packet_type_ = 4;
HELPER_ASSERT_SUCCESS(h.mux_aac2flv((char *)frame.data(), frame.length(), &codec, 0, &flv, &nb_flv));
EXPECT_EQ(7, nb_flv);
EXPECT_EQ(0xa3, (uint8_t)flv[0]);
@@ -678,11 +678,11 @@ VOID TEST(SrsAVCTest, AACMuxToFLV)
SrsRawAacStreamCodec codec;
char *flv = NULL;
int nb_flv = 0;
- codec.sound_format = SrsAudioCodecIdAAC;
- codec.sound_rate = 1;
- codec.sound_size = 1;
- codec.sound_type = 0;
- codec.aac_packet_type = 4;
+ codec.sound_format_ = SrsAudioCodecIdAAC;
+ codec.sound_rate_ = 1;
+ codec.sound_size_ = 1;
+ codec.sound_type_ = 0;
+ codec.aac_packet_type_ = 4;
HELPER_ASSERT_SUCCESS(h.mux_aac2flv((char *)frame.data(), frame.length(), &codec, 0, &flv, &nb_flv));
EXPECT_EQ(7, nb_flv);
EXPECT_EQ(0xa6, (uint8_t)flv[0]);
@@ -696,11 +696,11 @@ VOID TEST(SrsAVCTest, AACMuxToFLV)
SrsRawAacStreamCodec codec;
char *flv = NULL;
int nb_flv = 0;
- codec.sound_format = SrsAudioCodecIdAAC;
- codec.sound_rate = 1;
- codec.sound_size = 0;
- codec.sound_type = 1;
- codec.aac_packet_type = 4;
+ codec.sound_format_ = SrsAudioCodecIdAAC;
+ codec.sound_rate_ = 1;
+ codec.sound_size_ = 0;
+ codec.sound_type_ = 1;
+ codec.aac_packet_type_ = 4;
HELPER_ASSERT_SUCCESS(h.mux_aac2flv((char *)frame.data(), frame.length(), &codec, 0, &flv, &nb_flv));
EXPECT_EQ(7, nb_flv);
EXPECT_EQ(0xa5, (uint8_t)flv[0]);
@@ -714,11 +714,11 @@ VOID TEST(SrsAVCTest, AACMuxToFLV)
SrsRawAacStreamCodec codec;
char *flv = NULL;
int nb_flv = 0;
- codec.sound_format = SrsAudioCodecIdAAC;
- codec.sound_rate = 1;
- codec.sound_size = 1;
- codec.sound_type = 1;
- codec.aac_packet_type = 4;
+ codec.sound_format_ = SrsAudioCodecIdAAC;
+ codec.sound_rate_ = 1;
+ codec.sound_size_ = 1;
+ codec.sound_type_ = 1;
+ codec.aac_packet_type_ = 4;
HELPER_ASSERT_SUCCESS(h.mux_aac2flv((char *)frame.data(), frame.length(), &codec, 0, &flv, &nb_flv));
EXPECT_EQ(7, nb_flv);
EXPECT_EQ(0xa7, (uint8_t)flv[0]);
@@ -732,11 +732,11 @@ VOID TEST(SrsAVCTest, AACMuxToFLV)
SrsRawAacStreamCodec codec;
char *flv = NULL;
int nb_flv = 0;
- codec.sound_format = SrsAudioCodecIdAAC;
- codec.sound_rate = 3;
- codec.sound_size = 1;
- codec.sound_type = 1;
- codec.aac_packet_type = 4;
+ codec.sound_format_ = SrsAudioCodecIdAAC;
+ codec.sound_rate_ = 3;
+ codec.sound_size_ = 1;
+ codec.sound_type_ = 1;
+ codec.aac_packet_type_ = 4;
HELPER_ASSERT_SUCCESS(h.mux_aac2flv((char *)frame.data(), frame.length(), &codec, 0, &flv, &nb_flv));
EXPECT_EQ(7, nb_flv);
EXPECT_EQ(0xaf, (uint8_t)flv[0]);
diff --git a/trunk/src/utest/srs_utest_config.cpp b/trunk/src/utest/srs_utest_config.cpp
index d98a7cd8587..8ca7c48b4ad 100644
--- a/trunk/src/utest/srs_utest_config.cpp
+++ b/trunk/src/utest/srs_utest_config.cpp
@@ -2488,8 +2488,8 @@ VOID TEST(ConfigUnitTest, ApplyFilter)
if (true) {
SrsConfDirective d;
SrsRequest r;
- r.app = "live";
- r.stream = "stream";
+ r.app_ = "live";
+ r.stream_ = "stream";
d.args.push_back("live/stream");
EXPECT_TRUE(srs_config_apply_filter(&d, &r));
}
diff --git a/trunk/src/utest/srs_utest_fmp4.cpp b/trunk/src/utest/srs_utest_fmp4.cpp
index 71580c329e0..e60bc1f2cdf 100644
--- a/trunk/src/utest/srs_utest_fmp4.cpp
+++ b/trunk/src/utest/srs_utest_fmp4.cpp
@@ -24,9 +24,9 @@ class MockSrsRequest : public SrsRequest
public:
MockSrsRequest()
{
- vhost = "__defaultVhost__";
- app = "live";
- stream = "livestream";
+ vhost_ = "__defaultVhost__";
+ app_ = "live";
+ stream_ = "livestream";
}
virtual ~MockSrsRequest() {}
};
diff --git a/trunk/src/utest/srs_utest_http.cpp b/trunk/src/utest/srs_utest_http.cpp
index 39edd78dc5a..ae0e6fbf1da 100644
--- a/trunk/src/utest/srs_utest_http.cpp
+++ b/trunk/src/utest/srs_utest_http.cpp
@@ -1236,7 +1236,7 @@ VOID TEST(ProtocolHTTPTest, HTTPServerMuxerAuth)
HELPER_ASSERT_SUCCESS(auth.initialize(true, "admin", "123456"));
HELPER_ASSERT_SUCCESS(auth.serve_http(&w, &r));
- EXPECT_EQ(401, w.w->status);
+ EXPECT_EQ(401, w.w->status_);
}
// incorrect token, duplicate Basic
@@ -1261,7 +1261,7 @@ VOID TEST(ProtocolHTTPTest, HTTPServerMuxerAuth)
HELPER_ASSERT_SUCCESS(auth.initialize(true, "admin", "admin"));
HELPER_ASSERT_SUCCESS(auth.serve_http(&w, &r));
- EXPECT_EQ(401, w.w->status);
+ EXPECT_EQ(401, w.w->status_);
}
// Authorization NOT start with 'Basic '
@@ -1286,7 +1286,7 @@ VOID TEST(ProtocolHTTPTest, HTTPServerMuxerAuth)
HELPER_ASSERT_SUCCESS(auth.initialize(true, "admin", "admin"));
HELPER_ASSERT_SUCCESS(auth.serve_http(&w, &r));
- EXPECT_EQ(401, w.w->status);
+ EXPECT_EQ(401, w.w->status_);
}
// NOT base64
@@ -1311,7 +1311,7 @@ VOID TEST(ProtocolHTTPTest, HTTPServerMuxerAuth)
HELPER_ASSERT_SUCCESS(auth.initialize(true, "admin", "admin"));
HELPER_ASSERT_SUCCESS(auth.serve_http(&w, &r));
- EXPECT_EQ(401, w.w->status);
+ EXPECT_EQ(401, w.w->status_);
}
// empty Authorization
@@ -1331,7 +1331,7 @@ VOID TEST(ProtocolHTTPTest, HTTPServerMuxerAuth)
HELPER_ASSERT_SUCCESS(auth.initialize(true, "admin", "admin"));
HELPER_ASSERT_SUCCESS(auth.serve_http(&w, &r));
- EXPECT_EQ(401, w.w->status);
+ EXPECT_EQ(401, w.w->status_);
}
// auth disabled, response with 200 ok, even though empty Authorization
diff --git a/trunk/src/utest/srs_utest_protocol.cpp b/trunk/src/utest/srs_utest_protocol.cpp
index 13a58a054b0..83d269518f2 100644
--- a/trunk/src/utest/srs_utest_protocol.cpp
+++ b/trunk/src/utest/srs_utest_protocol.cpp
@@ -663,18 +663,18 @@ VOID TEST(ProtocolHandshakeTest, VerifyFPC0C1)
EXPECT_EQ(0x03, c0c1[0]);
// c1
- c1s1 c1;
+ SrsC1S1 c1;
// the schema of data must be schema0: key-digest.
HELPER_ASSERT_SUCCESS(c1.parse((char *)c0c1 + 1, 1536, srs_schema0));
- EXPECT_EQ((int32_t)0x000f64d0, c1.time);
- EXPECT_EQ((int32_t)0x80000702, c1.version);
+ EXPECT_EQ((int32_t)0x000f64d0, c1.time_);
+ EXPECT_EQ((int32_t)0x80000702, c1.version_);
// manually validate the c1
// @see: calc_c1_digest
char *c1s1_joined_bytes = new char[1536 - 32];
SrsUniquePtr cp_uptr(c1s1_joined_bytes);
- HELPER_ASSERT_SUCCESS(c1.payload->copy_to(&c1, c1s1_joined_bytes, 1536 - 32, false));
+ HELPER_ASSERT_SUCCESS(c1.payload_->copy_to(&c1, c1s1_joined_bytes, 1536 - 32, false));
bool is_valid;
HELPER_ASSERT_SUCCESS(c1.c1_validate_digest(is_valid));
@@ -713,34 +713,34 @@ VOID TEST(ProtocolHandshakeTest, ComplexHandshake)
SrsHandshakeBytes bytes;
if (true) {
HELPER_ASSERT_SUCCESS(bytes.create_c0c1());
- memcpy(bytes.c0c1, c0c1, 1537);
+ memcpy(bytes.c0c1_, c0c1, 1537);
HELPER_ASSERT_SUCCESS(bytes.create_s0s1s2());
- memcpy(bytes.s0s1s2, s0s1s2, 3073);
+ memcpy(bytes.s0s1s2_, s0s1s2, 3073);
HELPER_ASSERT_SUCCESS(bytes.create_c2());
- memcpy(bytes.c2, c2, 1536);
+ memcpy(bytes.c2_, c2, 1536);
}
SrsHandshakeBytes *hs_bytes = &bytes;
if (true) {
bool is_valid;
- c1s1 c1;
- HELPER_ASSERT_SUCCESS(c1.parse(hs_bytes->c0c1 + 1, 1536, srs_schema0));
+ SrsC1S1 c1;
+ HELPER_ASSERT_SUCCESS(c1.parse(hs_bytes->c0c1_ + 1, 1536, srs_schema0));
HELPER_ASSERT_SUCCESS(c1.c1_validate_digest(is_valid));
ASSERT_TRUE(is_valid);
- c1s1 s1;
- HELPER_ASSERT_SUCCESS(s1.parse(hs_bytes->s0s1s2 + 1, 1536, c1.schema()));
+ SrsC1S1 s1;
+ HELPER_ASSERT_SUCCESS(s1.parse(hs_bytes->s0s1s2_ + 1, 1536, c1.schema()));
HELPER_ASSERT_SUCCESS(s1.s1_validate_digest(is_valid));
ASSERT_TRUE(is_valid);
- c2s2 c2;
- c2.parse(hs_bytes->c2, 1536);
+ SrsC2S2 c2;
+ c2.parse(hs_bytes->c2_, 1536);
HELPER_ASSERT_SUCCESS(c2.c2_validate(&s1, is_valid));
ASSERT_TRUE(is_valid);
- c2s2 s2;
- s2.parse(hs_bytes->s0s1s2 + 1 + 1536, 1536);
+ SrsC2S2 s2;
+ s2.parse(hs_bytes->s0s1s2_ + 1 + 1536, 1536);
HELPER_ASSERT_SUCCESS(s2.s2_validate(&c1, is_valid));
ASSERT_TRUE(is_valid);
}
@@ -790,11 +790,11 @@ VOID TEST(ProtocolHandshakeTest, SimpleHandshake)
if (true) {
SrsHandshakeBytes bytes;
HELPER_ASSERT_SUCCESS(bytes.create_c0c1());
- memcpy(bytes.c0c1, c0c1, 1537);
+ memcpy(bytes.c0c1_, c0c1, 1537);
HELPER_ASSERT_SUCCESS(bytes.create_s0s1s2());
- memcpy(bytes.s0s1s2, s0s1s2, 3073);
+ memcpy(bytes.s0s1s2_, s0s1s2, 3073);
HELPER_ASSERT_SUCCESS(bytes.create_c2());
- memcpy(bytes.c2, c2, 1536);
+ memcpy(bytes.c2_, c2, 1536);
MockEmptyIO eio;
SrsSimpleHandshake hs;
@@ -883,8 +883,8 @@ VOID TEST(ProtocolUtilityTest, GenerateTcUrl)
void srs_utest_free_message_array(SrsMessageArray *arr)
{
- for (int i = 0; i < arr->max; i++) {
- srs_freep(arr->msgs[i]);
+ for (int i = 0; i < arr->max_; i++) {
+ srs_freep(arr->msgs_[i]);
}
}
@@ -908,11 +908,11 @@ VOID TEST(ProtocolMsgArrayTest, MessageArray)
SrsMessageArray *parr = &arr;
SrsUniquePtr parr2(parr, srs_utest_free_message_array);
- arr.msgs[0] = msg.copy();
+ arr.msgs_[0] = msg.copy();
- arr.msgs[1] = msg.copy();
+ arr.msgs_[1] = msg.copy();
- arr.msgs[2] = msg.copy();
+ arr.msgs_[2] = msg.copy();
}
if (true) {
@@ -921,9 +921,9 @@ VOID TEST(ProtocolMsgArrayTest, MessageArray)
SrsMessageArray *parr = &arr;
SrsUniquePtr parr2(parr, srs_utest_free_message_array);
- arr.msgs[0] = msg.copy();
+ arr.msgs_[0] = msg.copy();
- arr.msgs[2] = msg.copy();
+ arr.msgs_[2] = msg.copy();
}
}
@@ -1057,8 +1057,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvMessageBug98)
SrsUserControlPacket *spkt = dynamic_cast(pkt);
ASSERT_TRUE(NULL != spkt);
- EXPECT_EQ(SrcPCUCPingRequest, spkt->event_type);
- EXPECT_EQ(0x0d0f, spkt->event_data);
+ EXPECT_EQ(SrcPCUCPingRequest, spkt->event_type_);
+ EXPECT_EQ(0x0d0f, spkt->event_data_);
}
/**
@@ -1093,7 +1093,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvAckSizeMessage)
SrsSetWindowAckSizePacket *spkt = dynamic_cast(pkt);
ASSERT_TRUE(NULL != spkt);
- EXPECT_EQ(0x0763, spkt->ackowledgement_window_size);
+ EXPECT_EQ(0x0763, spkt->ackowledgement_window_size_);
}
/**
@@ -4395,9 +4395,9 @@ VOID TEST(ProtocolStackTest, ProtocolSendSrsCallPacket)
SrsAmf0Object *args = SrsAmf0Any::object();
SrsCallPacket *pkt = new SrsCallPacket();
- pkt->command_name = "my_call";
- pkt->command_object = SrsAmf0Any::null();
- pkt->arguments = args;
+ pkt->command_name_ = "my_call";
+ pkt->command_object_ = SrsAmf0Any::null();
+ pkt->arguments_ = args;
args->set("video_id", SrsAmf0Any::number(100));
args->set("url", SrsAmf0Any::str("http://ossrs.net/api/v1/videos/100"));
@@ -4438,9 +4438,9 @@ VOID TEST(ProtocolStackTest, ProtocolSendSrsCallResPacket)
SrsAmf0Object *args = SrsAmf0Any::object();
SrsCallResPacket *pkt = new SrsCallResPacket(0);
- pkt->command_name = "_result";
- pkt->command_object = SrsAmf0Any::null();
- pkt->response = args;
+ pkt->command_name_ = "_result";
+ pkt->command_object_ = SrsAmf0Any::null();
+ pkt->response_ = args;
args->set("video_id", SrsAmf0Any::number(100));
args->set("url", SrsAmf0Any::str("http://ossrs.net/api/v1/videos/100"));
@@ -4502,9 +4502,9 @@ VOID TEST(ProtocolStackTest, ProtocolSendSrsFMLEStartPacket)
SrsProtocol proto(&bio);
SrsFMLEStartPacket *pkt = new SrsFMLEStartPacket();
- pkt->command_name = "FMLEStart";
+ pkt->command_name_ = "FMLEStart";
pkt->set_command_object(SrsAmf0Any::null());
- pkt->stream_name = "livestream";
+ pkt->stream_name_ = "livestream";
HELPER_EXPECT_SUCCESS(proto.send_and_free_packet(pkt, 0));
char buf[] = {
@@ -4530,7 +4530,7 @@ VOID TEST(ProtocolStackTest, ProtocolSendSrsFMLEStartResPacket)
SrsAmf0Object *args = SrsAmf0Any::object();
SrsFMLEStartResPacket *pkt = new SrsFMLEStartResPacket(1);
- pkt->command_name = "FMLEStart";
+ pkt->command_name_ = "FMLEStart";
pkt->set_command_object(SrsAmf0Any::null());
pkt->set_args(args);
@@ -4558,10 +4558,10 @@ VOID TEST(ProtocolStackTest, ProtocolSendSrsPublishPacket)
SrsProtocol proto(&bio);
SrsPublishPacket *pkt = new SrsPublishPacket();
- pkt->command_name = "publish";
+ pkt->command_name_ = "publish";
pkt->set_command_object(SrsAmf0Any::null());
- pkt->stream_name = "livestream";
- pkt->type = "live";
+ pkt->stream_name_ = "livestream";
+ pkt->type_ = "live";
HELPER_EXPECT_SUCCESS(proto.send_and_free_packet(pkt, 0));
uint8_t buf[] = {
@@ -4588,7 +4588,7 @@ VOID TEST(ProtocolStackTest, ProtocolSendSrsPlayResPacket)
SrsAmf0Object *args = SrsAmf0Any::object();
SrsPlayResPacket *pkt = new SrsPlayResPacket();
- pkt->command_name = "_result";
+ pkt->command_name_ = "_result";
pkt->set_command_object(SrsAmf0Any::null());
pkt->set_desc(args);
@@ -4621,7 +4621,7 @@ VOID TEST(ProtocolStackTest, ProtocolSendSrsOnBWDonePacket)
SrsProtocol proto(&bio);
SrsOnBWDonePacket *pkt = new SrsOnBWDonePacket();
- pkt->command_name = "onBWDone";
+ pkt->command_name_ = "onBWDone";
pkt->set_args(SrsAmf0Any::null());
HELPER_EXPECT_SUCCESS(proto.send_and_free_packet(pkt, 0));
@@ -4650,7 +4650,7 @@ VOID TEST(ProtocolStackTest, ProtocolSendSrsOnStatusCallPacket)
args->set("start", SrsAmf0Any::number(0));
SrsOnStatusCallPacket *pkt = new SrsOnStatusCallPacket();
- pkt->command_name = "onStatus";
+ pkt->command_name_ = "onStatus";
pkt->set_args(SrsAmf0Any::null());
pkt->set_data(args);
@@ -4685,7 +4685,7 @@ VOID TEST(ProtocolStackTest, ProtocolSendSrsOnStatusDataPacket)
args->set("start", SrsAmf0Any::number(0));
SrsOnStatusDataPacket *pkt = new SrsOnStatusDataPacket();
- pkt->command_name = "onData";
+ pkt->command_name_ = "onData";
pkt->set_data(args);
HELPER_EXPECT_SUCCESS(proto.send_and_free_packet(pkt, 0));
@@ -4712,9 +4712,9 @@ VOID TEST(ProtocolStackTest, ProtocolSendSrsNaluSampleAccessPacket)
SrsProtocol proto(&bio);
SrsNaluSampleAccessPacket *pkt = new SrsNaluSampleAccessPacket();
- pkt->command_name = "|RtmpSampleAccess";
- pkt->video_sample_access = true;
- pkt->audio_sample_access = true;
+ pkt->command_name_ = "|RtmpSampleAccess";
+ pkt->video_sample_access_ = true;
+ pkt->audio_sample_access_ = true;
HELPER_EXPECT_SUCCESS(proto.send_and_free_packet(pkt, 0));
char buf[] = {
@@ -4742,7 +4742,7 @@ VOID TEST(ProtocolStackTest, ProtocolSendSrsOnMetaDataPacket)
args->set("height", SrsAmf0Any::number(576));
SrsOnMetaDataPacket *pkt = new SrsOnMetaDataPacket();
- pkt->name = "onMetaData";
+ pkt->name_ = "onMetaData";
pkt->set_metadata(args);
HELPER_EXPECT_SUCCESS(proto.send_and_free_packet(pkt, 0));
@@ -4769,7 +4769,7 @@ VOID TEST(ProtocolStackTest, ProtocolSendSrsSetWindowAckSizePacket)
SrsProtocol proto(&bio);
SrsSetWindowAckSizePacket *pkt = new SrsSetWindowAckSizePacket();
- pkt->ackowledgement_window_size = 102400;
+ pkt->ackowledgement_window_size_ = 102400;
HELPER_EXPECT_SUCCESS(proto.send_and_free_packet(pkt, 0));
uint8_t buf[] = {
@@ -4789,7 +4789,7 @@ VOID TEST(ProtocolStackTest, ProtocolSendSrsAcknowledgementPacket)
SrsProtocol proto(&bio);
SrsAcknowledgementPacket *pkt = new SrsAcknowledgementPacket();
- pkt->sequence_number = 1024;
+ pkt->sequence_number_ = 1024;
HELPER_EXPECT_SUCCESS(proto.send_and_free_packet(pkt, 0));
char buf[] = {
@@ -4809,7 +4809,7 @@ VOID TEST(ProtocolStackTest, ProtocolSendSrsSetChunkSizePacket)
SrsProtocol proto(&bio);
SrsSetChunkSizePacket *pkt = new SrsSetChunkSizePacket();
- pkt->chunk_size = 1024;
+ pkt->chunk_size_ = 1024;
HELPER_EXPECT_SUCCESS(proto.send_and_free_packet(pkt, 0));
char buf[] = {
@@ -4829,8 +4829,8 @@ VOID TEST(ProtocolStackTest, ProtocolSendSrsSetPeerBandwidthPacket)
SrsProtocol proto(&bio);
SrsSetPeerBandwidthPacket *pkt = new SrsSetPeerBandwidthPacket();
- pkt->type = SrsPeerBandwidthSoft;
- pkt->bandwidth = 1024;
+ pkt->type_ = SrsPeerBandwidthSoft;
+ pkt->bandwidth_ = 1024;
HELPER_EXPECT_SUCCESS(proto.send_and_free_packet(pkt, 0));
char buf[] = {
@@ -4851,9 +4851,9 @@ VOID TEST(ProtocolStackTest, ProtocolSendSrsUserControlPacket)
SrsProtocol proto(&bio);
SrsUserControlPacket *pkt = new SrsUserControlPacket();
- pkt->event_type = SrcPCUCSetBufferLength;
- pkt->event_data = 0x01;
- pkt->extra_data = 0x10;
+ pkt->event_type_ = SrcPCUCSetBufferLength;
+ pkt->event_data_ = 0x01;
+ pkt->extra_data_ = 0x10;
HELPER_EXPECT_SUCCESS(proto.send_and_free_packet(pkt, 0));
char buf[] = {
@@ -4925,7 +4925,7 @@ VOID TEST(ProtocolStackTest, ProtocolAckSizeFlow)
if (true) {
SrsSetWindowAckSizePacket *pkt = new SrsSetWindowAckSizePacket();
- pkt->ackowledgement_window_size = 512;
+ pkt->ackowledgement_window_size_ = 512;
HELPER_EXPECT_SUCCESS(proto.send_and_free_packet(pkt, 0));
}
@@ -5034,8 +5034,8 @@ VOID TEST(ProtocolStackTest, ProtocolPingFlow)
// ping request
if (true) {
SrsUserControlPacket *pkt = new SrsUserControlPacket();
- pkt->event_type = SrcPCUCPingRequest;
- pkt->event_data = 0x3456;
+ pkt->event_type_ = SrcPCUCPingRequest;
+ pkt->event_data_ = 0x3456;
HELPER_EXPECT_SUCCESS(proto.send_and_free_packet(pkt, 0));
}
// copy output to input
@@ -5071,8 +5071,8 @@ VOID TEST(ProtocolStackTest, ProtocolPingFlow)
SrsUserControlPacket *spkt = dynamic_cast(pkt);
ASSERT_TRUE(spkt != NULL);
- EXPECT_TRUE(SrcPCUCPingResponse == spkt->event_type);
- EXPECT_TRUE(0x3456 == spkt->event_data);
+ EXPECT_TRUE(SrcPCUCPingResponse == spkt->event_type_);
+ EXPECT_TRUE(0x3456 == spkt->event_data_);
}
}
@@ -5136,78 +5136,78 @@ VOID TEST(ProtocolRTMPTest, RTMPRequest)
SrsRequest req;
std::string param;
- req.stream = "livestream";
+ req.stream_ = "livestream";
srs_net_url_parse_tcurl("rtmp://std.ossrs.net/live",
- req.schema, req.host, req.vhost, req.app, req.stream, req.port, param);
+ req.schema_, req.host_, req.vhost_, req.app_, req.stream_, req.port_, param);
req.strip();
- EXPECT_STREQ("rtmp", req.schema.c_str());
- EXPECT_STREQ("std.ossrs.net", req.host.c_str());
- EXPECT_STREQ("std.ossrs.net", req.vhost.c_str());
- EXPECT_STREQ("live", req.app.c_str());
- EXPECT_EQ(1935, req.port);
+ EXPECT_STREQ("rtmp", req.schema_.c_str());
+ EXPECT_STREQ("std.ossrs.net", req.host_.c_str());
+ EXPECT_STREQ("std.ossrs.net", req.vhost_.c_str());
+ EXPECT_STREQ("live", req.app_.c_str());
+ EXPECT_EQ(1935, req.port_);
- req.stream = "livestream";
+ req.stream_ = "livestream";
srs_net_url_parse_tcurl("rtmp://s td.os srs.n et/li v e",
- req.schema, req.host, req.vhost, req.app, req.stream, req.port, param);
+ req.schema_, req.host_, req.vhost_, req.app_, req.stream_, req.port_, param);
req.strip();
- EXPECT_STREQ("rtmp", req.schema.c_str());
- EXPECT_STREQ("std.ossrs.net", req.host.c_str());
- EXPECT_STREQ("std.ossrs.net", req.vhost.c_str());
- EXPECT_STREQ("live", req.app.c_str());
- EXPECT_EQ(1935, req.port);
+ EXPECT_STREQ("rtmp", req.schema_.c_str());
+ EXPECT_STREQ("std.ossrs.net", req.host_.c_str());
+ EXPECT_STREQ("std.ossrs.net", req.vhost_.c_str());
+ EXPECT_STREQ("live", req.app_.c_str());
+ EXPECT_EQ(1935, req.port_);
- req.stream = "livestream";
+ req.stream_ = "livestream";
srs_net_url_parse_tcurl("rtmp://s\ntd.o\rssrs.ne\nt/li\nve",
- req.schema, req.host, req.vhost, req.app, req.stream, req.port, param);
+ req.schema_, req.host_, req.vhost_, req.app_, req.stream_, req.port_, param);
req.strip();
- EXPECT_STREQ("rtmp", req.schema.c_str());
- EXPECT_STREQ("std.ossrs.net", req.host.c_str());
- EXPECT_STREQ("std.ossrs.net", req.vhost.c_str());
- EXPECT_STREQ("live", req.app.c_str());
- EXPECT_EQ(1935, req.port);
+ EXPECT_STREQ("rtmp", req.schema_.c_str());
+ EXPECT_STREQ("std.ossrs.net", req.host_.c_str());
+ EXPECT_STREQ("std.ossrs.net", req.vhost_.c_str());
+ EXPECT_STREQ("live", req.app_.c_str());
+ EXPECT_EQ(1935, req.port_);
- req.stream = "livestream";
+ req.stream_ = "livestream";
srs_net_url_parse_tcurl("rtmp://std.ossrs.net/live ",
- req.schema, req.host, req.vhost, req.app, req.stream, req.port, param);
+ req.schema_, req.host_, req.vhost_, req.app_, req.stream_, req.port_, param);
req.strip();
- EXPECT_STREQ("rtmp", req.schema.c_str());
- EXPECT_STREQ("std.ossrs.net", req.host.c_str());
- EXPECT_STREQ("std.ossrs.net", req.vhost.c_str());
- EXPECT_STREQ("live", req.app.c_str());
- EXPECT_EQ(1935, req.port);
+ EXPECT_STREQ("rtmp", req.schema_.c_str());
+ EXPECT_STREQ("std.ossrs.net", req.host_.c_str());
+ EXPECT_STREQ("std.ossrs.net", req.vhost_.c_str());
+ EXPECT_STREQ("live", req.app_.c_str());
+ EXPECT_EQ(1935, req.port_);
- EXPECT_TRUE(NULL == req.args);
+ EXPECT_TRUE(NULL == req.args_);
SrsRequest req1;
- req1.args = SrsAmf0Any::object();
+ req1.args_ = SrsAmf0Any::object();
req.update_auth(&req1);
- EXPECT_TRUE(NULL != req.args);
- EXPECT_TRUE(req1.args != req.args);
+ EXPECT_TRUE(NULL != req.args_);
+ EXPECT_TRUE(req1.args_ != req.args_);
param = "";
- req.stream = "livestream";
+ req.stream_ = "livestream";
srs_net_url_parse_tcurl("rtmp://std.ossrs.net/live#b=2",
- req.schema, req.host, req.vhost, req.app, req.stream, req.port, param);
+ req.schema_, req.host_, req.vhost_, req.app_, req.stream_, req.port_, param);
EXPECT_STREQ("#b=2/livestream", param.c_str());
param = "";
- req.stream = "livestream";
+ req.stream_ = "livestream";
srs_net_url_parse_tcurl("rtmp://std.ossrs.net/live?a=1#b=2",
- req.schema, req.host, req.vhost, req.app, req.stream, req.port, param);
+ req.schema_, req.host_, req.vhost_, req.app_, req.stream_, req.port_, param);
EXPECT_STREQ("?a=1#b=2", param.c_str());
param = "";
srs_net_url_parse_tcurl("rtmp://std.ossrs.net/live?a=1&c=3#b=2",
- req.schema, req.host, req.vhost, req.app, req.stream, req.port, param);
+ req.schema_, req.host_, req.vhost_, req.app_, req.stream_, req.port_, param);
EXPECT_STREQ("?a=1&c=3#b=2", param.c_str());
param = "";
srs_net_url_parse_tcurl("rtmp://std.ossrs.net/live?a=1&c=3#b=2#d=4",
- req.schema, req.host, req.vhost, req.app, req.stream, req.port, param);
+ req.schema_, req.host_, req.vhost_, req.app_, req.stream_, req.port_, param);
EXPECT_STREQ("?a=1&c=3#b=2#d=4", param.c_str());
param = "";
srs_net_url_parse_tcurl("rtmp://std.ossrs.net/live?a=1#e=5&c=3#b=2#d=4",
- req.schema, req.host, req.vhost, req.app, req.stream, req.port, param);
+ req.schema_, req.host_, req.vhost_, req.app_, req.stream_, req.port_, param);
EXPECT_STREQ("?a=1#e=5&c=3#b=2#d=4", param.c_str());
}
@@ -5223,13 +5223,13 @@ VOID TEST(ProtocolRTMPTest, RTMPHandshakeBytes)
bio.in_buffer.append(hs, sizeof(hs));
HELPER_EXPECT_SUCCESS(bytes.read_c0c1(&bio));
- EXPECT_TRUE(bytes.c0c1 != NULL);
+ EXPECT_TRUE(bytes.c0c1_ != NULL);
HELPER_EXPECT_SUCCESS(bytes.read_c2(&bio));
- EXPECT_TRUE(bytes.c2 != NULL);
+ EXPECT_TRUE(bytes.c2_ != NULL);
HELPER_EXPECT_SUCCESS(bytes.read_s0s1s2(&bio));
- EXPECT_TRUE(bytes.s0s1s2 != NULL);
+ EXPECT_TRUE(bytes.s0s1s2_ != NULL);
}
#ifdef SRS_RTSP
diff --git a/trunk/src/utest/srs_utest_rtmp.cpp b/trunk/src/utest/srs_utest_rtmp.cpp
index 7e599aac9d1..d47172fe84d 100644
--- a/trunk/src/utest/srs_utest_rtmp.cpp
+++ b/trunk/src/utest/srs_utest_rtmp.cpp
@@ -138,7 +138,7 @@ VOID TEST(ProtocolRTMPTest, ManualFlush)
HELPER_EXPECT_SUCCESS(p.set_in_window_ack_size(1));
p.set_auto_response(true);
- HELPER_EXPECT_SUCCESS(p.protocol->response_acknowledgement_message());
+ HELPER_EXPECT_SUCCESS(p.protocol_->response_acknowledgement_message());
EXPECT_EQ(12 + 4, io.out_buffer.length());
}
@@ -424,7 +424,7 @@ VOID TEST(ProtocolRTMPTest, OnDecodeMessages)
SrsProtocol p(&io);
SrsSetChunkSizePacket *pkt = new SrsSetChunkSizePacket();
- pkt->chunk_size = 0;
+ pkt->chunk_size_ = 0;
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(pkt, 1));
bytes.append(&io.out_buffer);
@@ -471,7 +471,7 @@ VOID TEST(ProtocolRTMPTest, OnDecodeMessages2)
SrsUniquePtr pkt_uptr(pkt);
SrsCallPacket *call = (SrsCallPacket *)pkt;
- EXPECT_STREQ("s", call->command_name.c_str());
+ EXPECT_STREQ("s", call->command_name_.c_str());
}
if (true) {
@@ -571,7 +571,7 @@ VOID TEST(ProtocolRTMPTest, OnDecodeMessages3)
SrsProtocol p(&io);
SrsConnectAppPacket *request = new SrsConnectAppPacket();
- request->transaction_id = 0.0;
+ request->transaction_id_ = 0.0;
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(request, 1));
uint8_t bytes[] = {0x02, 0x00, 0x07, '_', 'r', 'e', 's', 'u', 'l', 't', 0x00, 0, 0, 0, 0, 0, 0, 0, 0};
@@ -589,7 +589,7 @@ VOID TEST(ProtocolRTMPTest, OnDecodeMessages3)
SrsProtocol p(&io);
SrsCreateStreamPacket *request = new SrsCreateStreamPacket();
- request->transaction_id = 0.0;
+ request->transaction_id_ = 0.0;
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(request, 1));
uint8_t bytes[] = {0x02, 0x00, 0x07, '_', 'r', 'e', 's', 'u', 'l', 't', 0x00, 0, 0, 0, 0, 0, 0, 0, 0};
@@ -607,7 +607,7 @@ VOID TEST(ProtocolRTMPTest, OnDecodeMessages3)
SrsProtocol p(&io);
SrsFMLEStartPacket *request = SrsFMLEStartPacket::create_FC_publish("livestream");
- request->transaction_id = 0.0;
+ request->transaction_id_ = 0.0;
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(request, 1));
uint8_t bytes[] = {0x02, 0x00, 0x07, '_', 'r', 'e', 's', 'u', 'l', 't', 0x00, 0, 0, 0, 0, 0, 0, 0, 0};
@@ -625,7 +625,7 @@ VOID TEST(ProtocolRTMPTest, OnDecodeMessages3)
SrsProtocol p(&io);
SrsFMLEStartPacket *request = SrsFMLEStartPacket::create_release_stream("livestream");
- request->transaction_id = 0.0;
+ request->transaction_id_ = 0.0;
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(request, 1));
uint8_t bytes[] = {0x02, 0x00, 0x07, '_', 'r', 'e', 's', 'u', 'l', 't', 0x00, 0, 0, 0, 0, 0, 0, 0, 0};
@@ -643,8 +643,8 @@ VOID TEST(ProtocolRTMPTest, OnDecodeMessages3)
SrsProtocol p(&io);
SrsFMLEStartPacket *request = SrsFMLEStartPacket::create_release_stream("livestream");
- request->command_name = RTMP_AMF0_COMMAND_UNPUBLISH;
- request->transaction_id = 0.0;
+ request->command_name_ = RTMP_AMF0_COMMAND_UNPUBLISH;
+ request->transaction_id_ = 0.0;
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(request, 1));
uint8_t bytes[] = {0x02, 0x00, 0x07, '_', 'r', 'e', 's', 'u', 'l', 't', 0x00, 0, 0, 0, 0, 0, 0, 0, 0};
@@ -662,8 +662,8 @@ VOID TEST(ProtocolRTMPTest, OnDecodeMessages3)
SrsProtocol p(&io);
SrsFMLEStartPacket *request = new SrsFMLEStartPacket();
- request->command_name = "srs";
- request->transaction_id = 0.0;
+ request->command_name_ = "srs";
+ request->transaction_id_ = 0.0;
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(request, 1));
uint8_t bytes[] = {0x02, 0x00, 0x07, '_', 'r', 'e', 's', 'u', 'l', 't', 0x00, 0, 0, 0, 0, 0, 0, 0, 0};
@@ -920,7 +920,7 @@ VOID TEST(ProtocolRTMPTest, RecvMessage2)
MockBufferIO io;
SrsProtocol p(&io);
- p.in_chunk_size = 3;
+ p.in_chunk_size_ = 3;
uint8_t bytes[] = {0x03, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 2, 3};
io.in_buffer.append((char *)bytes, sizeof(bytes));
@@ -967,25 +967,25 @@ VOID TEST(ProtocolRTMPTest, RecvMessage3)
{
if (true) {
SrsRequest req;
- req.ip = "10.11.12.13";
+ req.ip_ = "10.11.12.13";
ISrsRequest *cp = req.copy();
- EXPECT_STREQ("10.11.12.13", cp->ip.c_str());
+ EXPECT_STREQ("10.11.12.13", cp->ip_.c_str());
srs_freep(cp);
}
if (true) {
SrsRequest req;
- req.ip = "10.11.12.13";
+ req.ip_ = "10.11.12.13";
SrsAmf0Object *obj = SrsAmf0Any::object();
obj->set("id", SrsAmf0Any::str("srs"));
- req.args = obj;
+ req.args_ = obj;
ISrsRequest *cp = req.copy();
- EXPECT_STREQ("10.11.12.13", cp->ip.c_str());
+ EXPECT_STREQ("10.11.12.13", cp->ip_.c_str());
- SrsAmf0Object *cpa = dynamic_cast(cp->args);
+ SrsAmf0Object *cpa = dynamic_cast(cp->args_);
SrsAmf0Any *cps = cpa->ensure_property_string("id");
EXPECT_STREQ("srs", cps->to_str().c_str());
srs_freep(cp);
@@ -998,15 +998,15 @@ VOID TEST(ProtocolRTMPTest, RecvMessage3)
if (true) {
SrsRequest req;
- EXPECT_STREQ("", req.schema.c_str());
+ EXPECT_STREQ("", req.schema_.c_str());
req.as_http();
- EXPECT_STREQ("http", req.schema.c_str());
+ EXPECT_STREQ("http", req.schema_.c_str());
}
if (true) {
SrsResponse res;
- EXPECT_EQ(1, res.stream_id);
+ EXPECT_EQ(1, res.stream_id_);
}
if (true) {
@@ -1036,7 +1036,7 @@ VOID TEST(ProtocolRTMPTest, RecvMessage4)
SrsProtocol p(&io);
SrsSetChunkSizePacket *pkt = new SrsSetChunkSizePacket();
- pkt->chunk_size = 256;
+ pkt->chunk_size_ = 256;
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(pkt, 0));
io.in_buffer.append(&io.out_buffer);
@@ -1045,7 +1045,7 @@ VOID TEST(ProtocolRTMPTest, RecvMessage4)
HELPER_EXPECT_SUCCESS(p.recv_message(&msg));
SrsUniquePtr msg_uptr(msg);
- EXPECT_EQ(256, p.out_chunk_size);
+ EXPECT_EQ(256, p.out_chunk_size_);
}
if (true) {
@@ -1053,8 +1053,8 @@ VOID TEST(ProtocolRTMPTest, RecvMessage4)
SrsProtocol p(&io);
SrsUserControlPacket *pkt = new SrsUserControlPacket();
- pkt->event_type = SrcPCUCSetBufferLength;
- pkt->extra_data = 256;
+ pkt->event_type_ = SrcPCUCSetBufferLength;
+ pkt->extra_data_ = 256;
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(pkt, 0));
io.in_buffer.append(&io.out_buffer);
@@ -1063,7 +1063,7 @@ VOID TEST(ProtocolRTMPTest, RecvMessage4)
HELPER_EXPECT_SUCCESS(p.recv_message(&msg));
SrsUniquePtr msg_uptr(msg);
- EXPECT_EQ(256, p.in_buffer_length);
+ EXPECT_EQ(256, p.in_buffer_length_);
}
}
@@ -1108,7 +1108,7 @@ VOID TEST(ProtocolRTMPTest, HandshakeC0C1)
SrsHandshakeBytes hs;
HELPER_EXPECT_SUCCESS(hs.read_c0c1(&io));
- EXPECT_EQ((uint32_t)0x01020304, (uint32_t)hs.proxy_real_ip);
+ EXPECT_EQ((uint32_t)0x01020304, (uint32_t)hs.proxy_real_ip_);
}
// It's extended c0c1 prefixed with ip, which should be ok.
@@ -1128,7 +1128,7 @@ VOID TEST(ProtocolRTMPTest, HandshakeC0C1)
io.append(buf, sizeof(buf));
SrsRtmpServer r(&io);
- HELPER_EXPECT_SUCCESS(r.hs_bytes->read_c0c1(&io));
+ HELPER_EXPECT_SUCCESS(r.hs_bytes_->read_c0c1(&io));
EXPECT_EQ((uint32_t)0x01020304, (uint32_t)r.proxy_real_ip());
}
@@ -1280,12 +1280,12 @@ VOID TEST(ProtocolRTMPTest, HandshakeC2)
VOID TEST(ProtocolRTMPTest, ServerInfo)
{
SrsServerInfo si;
- EXPECT_EQ(0, si.pid);
- EXPECT_EQ(0, si.cid);
- EXPECT_EQ(0, si.major);
- EXPECT_EQ(0, si.minor);
- EXPECT_EQ(0, si.revision);
- EXPECT_EQ(0, si.build);
+ EXPECT_EQ(0, si.pid_);
+ EXPECT_EQ(0, si.cid_);
+ EXPECT_EQ(0, si.major_);
+ EXPECT_EQ(0, si.minor_);
+ EXPECT_EQ(0, si.revision_);
+ EXPECT_EQ(0, si.build_);
}
VOID TEST(ProtocolRTMPTest, ClientCommandMessage)
@@ -1300,7 +1300,7 @@ VOID TEST(ProtocolRTMPTest, ClientCommandMessage)
SrsConnectAppResPacket *res = new SrsConnectAppResPacket();
SrsAmf0EcmaArray *data = SrsAmf0Any::ecma_array();
- res->info->set("data", data);
+ res->info_->set("data", data);
data->set("srs_server_ip", SrsAmf0Any::str("1.2.3.4"));
data->set("srs_server", SrsAmf0Any::str("srs"));
@@ -1320,14 +1320,14 @@ VOID TEST(ProtocolRTMPTest, ClientCommandMessage)
SrsServerInfo si;
HELPER_EXPECT_SUCCESS(r.connect_app("live", "rtmp://127.0.0.1/live", &req, true, &si));
- EXPECT_STREQ("1.2.3.4", si.ip.c_str());
- EXPECT_STREQ("srs", si.sig.c_str());
- EXPECT_EQ(100, si.cid);
- EXPECT_EQ(200, si.pid);
- EXPECT_EQ(3, si.major);
- EXPECT_EQ(4, si.minor);
- EXPECT_EQ(5, si.revision);
- EXPECT_EQ(678, si.build);
+ EXPECT_STREQ("1.2.3.4", si.ip_.c_str());
+ EXPECT_STREQ("srs", si.sig_.c_str());
+ EXPECT_EQ(100, si.cid_);
+ EXPECT_EQ(200, si.pid_);
+ EXPECT_EQ(3, si.major_);
+ EXPECT_EQ(4, si.minor_);
+ EXPECT_EQ(5, si.revision_);
+ EXPECT_EQ(678, si.build_);
}
// CreateStream.
@@ -1399,7 +1399,7 @@ VOID TEST(ProtocolRTMPTest, ServerCommandMessage)
if (true) {
SrsConnectAppPacket *res = new SrsConnectAppPacket();
- res->command_object->set("tcUrl", SrsAmf0Any::str("rtmp://127.0.0.1/live"));
+ res->command_object_->set("tcUrl", SrsAmf0Any::str("rtmp://127.0.0.1/live"));
MockBufferIO tio;
SrsProtocol p(&tio);
@@ -1412,10 +1412,10 @@ VOID TEST(ProtocolRTMPTest, ServerCommandMessage)
SrsRequest req;
HELPER_EXPECT_SUCCESS(r.connect_app(&req));
- EXPECT_STREQ("rtmp", req.schema.c_str());
- EXPECT_STREQ("127.0.0.1", req.host.c_str());
- EXPECT_STREQ("127.0.0.1", req.vhost.c_str());
- EXPECT_STREQ("live", req.app.c_str());
+ EXPECT_STREQ("rtmp", req.schema_.c_str());
+ EXPECT_STREQ("127.0.0.1", req.host_.c_str());
+ EXPECT_STREQ("127.0.0.1", req.vhost_.c_str());
+ EXPECT_STREQ("live", req.app_.c_str());
}
// Window ACK size.
@@ -1433,7 +1433,7 @@ VOID TEST(ProtocolRTMPTest, ServerCommandMessage)
SrsRtmpCommonMessage *msg = NULL;
SrsSetWindowAckSizePacket *pkt = NULL;
HELPER_ASSERT_SUCCESS(p.expect_message(&msg, &pkt));
- EXPECT_EQ(1024, pkt->ackowledgement_window_size);
+ EXPECT_EQ(1024, pkt->ackowledgement_window_size_);
srs_freep(msg);
srs_freep(pkt);
@@ -1446,7 +1446,7 @@ VOID TEST(ProtocolRTMPTest, ServerCommandMessage)
SrsRtmpServer r(&io);
SrsRequest req;
- req.objectEncoding = 3.0;
+ req.objectEncoding_ = 3.0;
const char *ip = "1.2.3.4";
HELPER_EXPECT_SUCCESS(r.response_connect_app(&req, ip));
@@ -1468,11 +1468,11 @@ VOID TEST(ProtocolRTMPTest, ServerCommandMessage)
SrsConnectAppResPacket *pkt = NULL;
HELPER_ASSERT_SUCCESS(p.expect_message(&msg, &pkt));
- SrsAmf0Any *prop = pkt->info->get_property("objectEncoding");
+ SrsAmf0Any *prop = pkt->info_->get_property("objectEncoding");
ASSERT_TRUE(prop && prop->is_number());
EXPECT_EQ(3.0, prop->to_number());
- prop = pkt->info->get_property("data");
+ prop = pkt->info_->get_property("data");
ASSERT_TRUE(prop && prop->is_ecma_array());
SrsAmf0EcmaArray *arr = prop->to_ecma_array();
@@ -1503,7 +1503,7 @@ VOID TEST(ProtocolRTMPTest, ServerCommandMessage)
SrsCallPacket *pkt = NULL;
HELPER_ASSERT_SUCCESS(p.expect_message(&msg, &pkt));
- SrsAmf0Any *prop = pkt->arguments;
+ SrsAmf0Any *prop = pkt->arguments_;
ASSERT_TRUE(prop && prop->is_object());
prop = prop->to_object()->get_property(StatusDescription);
@@ -1539,7 +1539,7 @@ VOID TEST(ProtocolRTMPTest, ServerCommandMessage)
HELPER_EXPECT_SUCCESS(p.recv_message(&msg));
SrsUniquePtr msg_uptr(msg);
- EXPECT_EQ(1024, p.in_chunk_size);
+ EXPECT_EQ(1024, p.in_chunk_size_);
}
}
}
@@ -1554,13 +1554,13 @@ VOID TEST(ProtocolRTMPTest, ServerRedirect)
SrsRtmpServer r(&io);
SrsRequest req;
- req.app = "live";
- req.stream = "livestream";
+ req.app_ = "live";
+ req.stream_ = "livestream";
string host = "target.net";
int port = 8888;
bool accepted = false;
- string rurl = srs_net_url_encode_rtmp_url(host, port, req.host, req.vhost, req.app, req.stream, req.param);
+ string rurl = srs_net_url_encode_rtmp_url(host, port, req.host_, req.vhost_, req.app_, req.stream_, req.param_);
HELPER_EXPECT_SUCCESS(r.redirect(&req, rurl, accepted));
if (true) {
@@ -1573,7 +1573,7 @@ VOID TEST(ProtocolRTMPTest, ServerRedirect)
SrsCallPacket *pkt = NULL;
HELPER_ASSERT_SUCCESS(p.expect_message(&msg, &pkt));
- SrsAmf0Any *prop = pkt->arguments;
+ SrsAmf0Any *prop = pkt->arguments_;
ASSERT_TRUE(prop && prop->is_object());
prop = prop->to_object()->get_property("ex");
@@ -1611,22 +1611,22 @@ VOID TEST(ProtocolRTMPTest, ServerRedirect)
SrsProtocol p(&tio);
SrsCallPacket *call = new SrsCallPacket();
- call->command_name = "redirected";
- call->command_object = SrsAmf0Any::object();
- call->arguments = SrsAmf0Any::str("OK");
+ call->command_name_ = "redirected";
+ call->command_object_ = SrsAmf0Any::object();
+ call->arguments_ = SrsAmf0Any::str("OK");
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(call, 0));
io.in_buffer.append(&tio.out_buffer);
}
SrsRequest req;
- req.app = "live";
- req.stream = "livestream";
+ req.app_ = "live";
+ req.stream_ = "livestream";
string host = "target.net";
int port = 8888;
bool accepted = false;
- string rurl = srs_net_url_encode_rtmp_url(host, port, req.host, req.vhost, req.app, req.stream, req.param);
+ string rurl = srs_net_url_encode_rtmp_url(host, port, req.host_, req.vhost_, req.app_, req.stream_, req.param_);
HELPER_EXPECT_SUCCESS(r.redirect(&req, rurl, accepted));
EXPECT_TRUE(accepted);
@@ -1640,7 +1640,7 @@ VOID TEST(ProtocolRTMPTest, ServerRedirect)
SrsCallPacket *pkt = NULL;
HELPER_ASSERT_SUCCESS(p.expect_message(&msg, &pkt));
- SrsAmf0Any *prop = pkt->arguments;
+ SrsAmf0Any *prop = pkt->arguments_;
ASSERT_TRUE(prop && prop->is_object());
prop = prop->to_object()->get_property("ex");
@@ -1697,8 +1697,8 @@ VOID TEST(ProtocolRTMPTest, ServerIdentify)
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(call, 0));
SrsPlayPacket *play = new SrsPlayPacket();
- play->stream_name = "livestream";
- play->duration = 100;
+ play->stream_name_ = "livestream";
+ play->duration_ = 100;
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(play, 0));
io.in_buffer.append(&tio.out_buffer);
@@ -1728,8 +1728,8 @@ VOID TEST(ProtocolRTMPTest, ServerIdentify)
}
SrsPlayPacket *play = new SrsPlayPacket();
- play->stream_name = "livestream";
- play->duration = 100;
+ play->stream_name_ = "livestream";
+ play->duration_ = 100;
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(play, 0));
io.in_buffer.append(&tio.out_buffer);
@@ -1757,7 +1757,7 @@ VOID TEST(ProtocolRTMPTest, ServerIdentify)
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(call, 0));
SrsPublishPacket *publish = new SrsPublishPacket();
- publish->stream_name = "livestream";
+ publish->stream_name_ = "livestream";
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(publish, 0));
io.in_buffer.append(&tio.out_buffer);
@@ -1784,7 +1784,7 @@ VOID TEST(ProtocolRTMPTest, ServerIdentify)
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(call, 0));
SrsFMLEStartPacket *fmle = new SrsFMLEStartPacket();
- fmle->stream_name = "livestream";
+ fmle->stream_name_ = "livestream";
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(fmle, 0));
io.in_buffer.append(&tio.out_buffer);
@@ -1808,8 +1808,8 @@ VOID TEST(ProtocolRTMPTest, ServerIdentify)
SrsProtocol p(&tio);
SrsPlayPacket *play = new SrsPlayPacket();
- play->stream_name = "livestream";
- play->duration = 100;
+ play->stream_name_ = "livestream";
+ play->duration_ = 100;
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(play, 0));
io.in_buffer.append(&tio.out_buffer);
@@ -1834,7 +1834,7 @@ VOID TEST(ProtocolRTMPTest, ServerIdentify)
SrsProtocol p(&tio);
SrsFMLEStartPacket *fmle = new SrsFMLEStartPacket();
- fmle->stream_name = "livestream";
+ fmle->stream_name_ = "livestream";
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(fmle, 0));
io.in_buffer.append(&tio.out_buffer);
@@ -1862,14 +1862,14 @@ VOID TEST(ProtocolRTMPTest, ServerFMLEStart)
SrsProtocol p(&tio);
if (true) {
SrsFMLEStartPacket *fmle = new SrsFMLEStartPacket();
- fmle->stream_name = "livestream";
+ fmle->stream_name_ = "livestream";
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(fmle, 0));
SrsCreateStreamPacket *cs = new SrsCreateStreamPacket();
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(cs, 0));
SrsPublishPacket *publish = new SrsPublishPacket();
- publish->stream_name = "livestream";
+ publish->stream_name_ = "livestream";
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(publish, 0));
io.in_buffer.append(&tio.out_buffer);
@@ -1894,7 +1894,7 @@ VOID TEST(ProtocolRTMPTest, ServerFMLEStart)
SrsRtmpCommonMessage *msg = NULL;
SrsCreateStreamResPacket *pkt = NULL;
HELPER_ASSERT_SUCCESS(p.expect_message(&msg, &pkt));
- EXPECT_EQ(1, pkt->stream_id);
+ EXPECT_EQ(1, pkt->stream_id_);
srs_freep(msg);
srs_freep(pkt);
}
@@ -1935,7 +1935,7 @@ VOID TEST(ProtocolRTMPTest, ServerHaivisionPublish)
SrsProtocol p(&tio);
if (true) {
SrsPublishPacket *publish = new SrsPublishPacket();
- publish->stream_name = "livestream";
+ publish->stream_name_ = "livestream";
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(publish, 0));
io.in_buffer.append(&tio.out_buffer);
@@ -1982,8 +1982,8 @@ VOID TEST(ProtocolRTMPTest, ServerFMLEUnpublish)
SrsProtocol p(&tio);
if (true) {
SrsFMLEStartPacket *fmle = new SrsFMLEStartPacket();
- fmle->transaction_id = 3.0;
- fmle->stream_name = "livestream";
+ fmle->transaction_id_ = 3.0;
+ fmle->stream_name_ = "livestream";
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(fmle, 0));
io.in_buffer.append(&tio.out_buffer);
@@ -2194,21 +2194,21 @@ VOID TEST(ProtocolRTMPTest, ServerResponseCommands)
SrsProtocol p(&tio);
SrsCallPacket *call = new SrsCallPacket();
- call->command_name = "_checkbw";
- call->transaction_id = 5.0;
- call->command_object = SrsAmf0Any::object();
+ call->command_name_ = "_checkbw";
+ call->transaction_id_ = 5.0;
+ call->command_object_ = SrsAmf0Any::object();
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(call, 0));
SrsOnStatusDataPacket *data = new SrsOnStatusDataPacket();
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(data, 0));
SrsSetChunkSizePacket *scs = new SrsSetChunkSizePacket();
- scs->chunk_size = 1024;
+ scs->chunk_size_ = 1024;
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(scs, 0));
SrsPlayPacket *play = new SrsPlayPacket();
- play->stream_name = "livestream";
- play->duration = 100;
+ play->stream_name_ = "livestream";
+ play->duration_ = 100;
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(play, 0));
io.in_buffer.append(&tio.out_buffer);
@@ -2276,7 +2276,7 @@ VOID TEST(ProtocolRTMPTest, CoverAll)
EXPECT_EQ(100 * SRS_UTIME_MILLISECONDS, r.get_send_timeout());
r.set_recv_buffer(SRS_DEFAULT_RECV_BUFFER_SIZE + 10);
- EXPECT_EQ(SRS_DEFAULT_RECV_BUFFER_SIZE + 10, r.protocol->in_buffer->nb_buffer);
+ EXPECT_EQ(SRS_DEFAULT_RECV_BUFFER_SIZE + 10, r.protocol_->in_buffer_->nb_buffer);
EXPECT_EQ(0, r.get_recv_bytes());
EXPECT_EQ(0, r.get_send_bytes());
@@ -2316,14 +2316,14 @@ VOID TEST(ProtocolRTMPTest, CoverAll)
SrsRtmpClient r(&io);
SrsAcknowledgementPacket *ack = new SrsAcknowledgementPacket();
- ack->sequence_number = 1024;
+ ack->sequence_number_ = 1024;
HELPER_ASSERT_SUCCESS(r.send_and_free_packet(ack, 0));
io.in_buffer.append(&io.out_buffer);
SrsRtmpCommonMessage *msg = NULL;
SrsAcknowledgementPacket *pkt = NULL;
HELPER_ASSERT_SUCCESS(r.expect_message(&msg, &pkt));
- EXPECT_EQ(1024, (int)pkt->sequence_number);
+ EXPECT_EQ(1024, (int)pkt->sequence_number_);
srs_freep(msg);
srs_freep(pkt);
}
@@ -2355,7 +2355,7 @@ VOID TEST(ProtocolRTMPTest, CoverAllUnmarshal)
buf.skip(-1 * buf.pos());
HELPER_ASSERT_SUCCESS(p->decode(&buf));
- SrsAmf0Any *prop = p->metadata->get_property("license");
+ SrsAmf0Any *prop = p->metadata_->get_property("license");
ASSERT_TRUE(prop && prop->is_string());
EXPECT_STREQ("MIT", prop->to_str().c_str());
}
@@ -2366,13 +2366,13 @@ VOID TEST(ProtocolRTMPTest, CoverAllUnmarshal)
if (true) {
SrsConnectAppPacket *pkt = new SrsConnectAppPacket();
- pkt->command_object->set("tcUrl", SrsAmf0Any::str("rtmp://127.0.0.1/live"));
- pkt->command_object->set("pageUrl", SrsAmf0Any::str("http://ossrs.net"));
- pkt->command_object->set("swfUrl", SrsAmf0Any::str("http://ossrs.net/index.swf"));
- pkt->command_object->set("objectEncoding", SrsAmf0Any::number(5.0));
+ pkt->command_object_->set("tcUrl", SrsAmf0Any::str("rtmp://127.0.0.1/live"));
+ pkt->command_object_->set("pageUrl", SrsAmf0Any::str("http://ossrs.net"));
+ pkt->command_object_->set("swfUrl", SrsAmf0Any::str("http://ossrs.net/index.swf"));
+ pkt->command_object_->set("objectEncoding", SrsAmf0Any::number(5.0));
- pkt->args = SrsAmf0Any::object();
- pkt->args->set("license", SrsAmf0Any::str("MIT"));
+ pkt->args_ = SrsAmf0Any::object();
+ pkt->args_->set("license", SrsAmf0Any::str("MIT"));
HELPER_EXPECT_SUCCESS(r.send_and_free_packet(pkt, 0));
io.in_buffer.append(&io.out_buffer);
@@ -2381,16 +2381,16 @@ VOID TEST(ProtocolRTMPTest, CoverAllUnmarshal)
SrsRequest req;
HELPER_EXPECT_SUCCESS(r.connect_app(&req));
- EXPECT_STREQ("rtmp", req.schema.c_str());
- EXPECT_STREQ("127.0.0.1", req.host.c_str());
- EXPECT_STREQ("127.0.0.1", req.vhost.c_str());
- EXPECT_STREQ("live", req.app.c_str());
- EXPECT_STREQ("http://ossrs.net", req.pageUrl.c_str());
- EXPECT_STREQ("http://ossrs.net/index.swf", req.swfUrl.c_str());
- EXPECT_EQ(5.0, req.objectEncoding);
+ EXPECT_STREQ("rtmp", req.schema_.c_str());
+ EXPECT_STREQ("127.0.0.1", req.host_.c_str());
+ EXPECT_STREQ("127.0.0.1", req.vhost_.c_str());
+ EXPECT_STREQ("live", req.app_.c_str());
+ EXPECT_STREQ("http://ossrs.net", req.pageUrl_.c_str());
+ EXPECT_STREQ("http://ossrs.net/index.swf", req.swfUrl_.c_str());
+ EXPECT_EQ(5.0, req.objectEncoding_);
- ASSERT_TRUE(req.args && req.args->is_object());
- SrsAmf0Any *prop = req.args->get_property("license");
+ ASSERT_TRUE(req.args_ && req.args_->is_object());
+ SrsAmf0Any *prop = req.args_->get_property("license");
ASSERT_TRUE(prop && prop->is_string());
EXPECT_STREQ("MIT", prop->to_str().c_str());
}
@@ -2401,7 +2401,7 @@ VOID TEST(ProtocolRTMPTest, CoverAllUnmarshal)
if (true) {
SrsConnectAppPacket *pkt = new SrsConnectAppPacket();
- pkt->command_object->set("tcUrl", SrsAmf0Any::number(3.0));
+ pkt->command_object_->set("tcUrl", SrsAmf0Any::number(3.0));
HELPER_EXPECT_SUCCESS(r.send_and_free_packet(pkt, 0));
io.in_buffer.append(&io.out_buffer);
}
@@ -2438,8 +2438,8 @@ VOID TEST(ProtocolRTMPTest, CoverAllUnmarshal)
buf.skip(-1 * buf.pos());
HELPER_ASSERT_SUCCESS(p->decode(&buf));
- EXPECT_TRUE(p->is_pause);
- EXPECT_EQ(30.0, p->time_ms);
+ EXPECT_TRUE(p->is_pause_);
+ EXPECT_EQ(30.0, p->time_ms_);
}
if (true) {
@@ -2476,10 +2476,10 @@ VOID TEST(ProtocolRTMPTest, CoverAllUnmarshal)
buf.skip(-1 * buf.pos());
HELPER_ASSERT_SUCCESS(p->decode(&buf));
- EXPECT_STREQ("livestream", p->stream_name.c_str());
- EXPECT_EQ(20.0, p->start);
- EXPECT_EQ(30.0, p->duration);
- EXPECT_TRUE(p->reset);
+ EXPECT_STREQ("livestream", p->stream_name_.c_str());
+ EXPECT_EQ(20.0, p->start_);
+ EXPECT_EQ(30.0, p->duration_);
+ EXPECT_TRUE(p->reset_);
}
if (true) {
@@ -2516,10 +2516,10 @@ VOID TEST(ProtocolRTMPTest, CoverAllUnmarshal)
buf.skip(-1 * buf.pos());
HELPER_ASSERT_SUCCESS(p->decode(&buf));
- EXPECT_STREQ("livestream", p->stream_name.c_str());
- EXPECT_EQ(20.0, p->start);
- EXPECT_EQ(30.0, p->duration);
- EXPECT_TRUE(p->reset);
+ EXPECT_STREQ("livestream", p->stream_name_.c_str());
+ EXPECT_EQ(20.0, p->start_);
+ EXPECT_EQ(30.0, p->duration_);
+ EXPECT_TRUE(p->reset_);
}
if (true) {
@@ -2594,7 +2594,7 @@ VOID TEST(ProtocolRTMPTest, ConnectAppWithArgs)
SrsConnectAppResPacket *res = new SrsConnectAppResPacket();
SrsAmf0EcmaArray *data = SrsAmf0Any::ecma_array();
- res->info->set("data", data);
+ res->info_->set("data", data);
data->set("srs_server_ip", SrsAmf0Any::str("1.2.3.4"));
data->set("srs_server", SrsAmf0Any::str("srs"));
@@ -2608,21 +2608,21 @@ VOID TEST(ProtocolRTMPTest, ConnectAppWithArgs)
}
SrsRequest req;
- req.args = SrsAmf0Any::object();
- req.args->set("license", SrsAmf0Any::str("MIT"));
+ req.args_ = SrsAmf0Any::object();
+ req.args_->set("license", SrsAmf0Any::str("MIT"));
SrsRtmpClient r(&io);
SrsServerInfo si;
HELPER_EXPECT_SUCCESS(r.connect_app("live", "rtmp://127.0.0.1/live", &req, true, &si));
- EXPECT_STREQ("1.2.3.4", si.ip.c_str());
- EXPECT_STREQ("srs", si.sig.c_str());
- EXPECT_EQ(100, si.cid);
- EXPECT_EQ(200, si.pid);
- EXPECT_EQ(3, si.major);
- EXPECT_EQ(4, si.minor);
- EXPECT_EQ(5, si.revision);
- EXPECT_EQ(678, si.build);
+ EXPECT_STREQ("1.2.3.4", si.ip_.c_str());
+ EXPECT_STREQ("srs", si.sig_.c_str());
+ EXPECT_EQ(100, si.cid_);
+ EXPECT_EQ(200, si.pid_);
+ EXPECT_EQ(3, si.major_);
+ EXPECT_EQ(4, si.minor_);
+ EXPECT_EQ(5, si.revision_);
+ EXPECT_EQ(678, si.build_);
if (true) {
tio.in_buffer.append(&io.out_buffer);
@@ -2633,12 +2633,12 @@ VOID TEST(ProtocolRTMPTest, ConnectAppWithArgs)
SrsUniquePtr msg_uptr(msg);
SrsUniquePtr pkt_uptr(pkt);
- SrsAmf0Any *prop = pkt->command_object->get_property("tcUrl");
+ SrsAmf0Any *prop = pkt->command_object_->get_property("tcUrl");
ASSERT_TRUE(prop && prop->is_string());
EXPECT_STREQ("rtmp://127.0.0.1/live", prop->to_str().c_str());
- ASSERT_TRUE(pkt->args);
- prop = pkt->args->get_property("license");
+ ASSERT_TRUE(pkt->args_);
+ prop = pkt->args_->get_property("license");
ASSERT_TRUE(prop && prop->is_string());
EXPECT_STREQ("MIT", prop->to_str().c_str());
}
@@ -3043,18 +3043,18 @@ VOID TEST(ProtocolRTMPTest, OthersAll)
SrsMessageArray *parr = &h;
SrsUniquePtr parr2(parr, srs_utest_free_message_array);
- h.msgs[0] = new SrsMediaPacket();
- h.msgs[1] = new SrsMediaPacket();
- EXPECT_TRUE(NULL != h.msgs[0]);
- EXPECT_TRUE(NULL != h.msgs[1]);
+ h.msgs_[0] = new SrsMediaPacket();
+ h.msgs_[1] = new SrsMediaPacket();
+ EXPECT_TRUE(NULL != h.msgs_[0]);
+ EXPECT_TRUE(NULL != h.msgs_[1]);
h.free(1);
- EXPECT_TRUE(NULL == h.msgs[0]);
- EXPECT_TRUE(NULL != h.msgs[1]);
+ EXPECT_TRUE(NULL == h.msgs_[0]);
+ EXPECT_TRUE(NULL != h.msgs_[1]);
h.free(2);
- EXPECT_TRUE(NULL == h.msgs[0]);
- EXPECT_TRUE(NULL == h.msgs[1]);
+ EXPECT_TRUE(NULL == h.msgs_[0]);
+ EXPECT_TRUE(NULL == h.msgs_[1]);
}
}
diff --git a/trunk/src/utest/srs_utest_service.cpp b/trunk/src/utest/srs_utest_service.cpp
index 2cb74a5765e..e2b323fc899 100644
--- a/trunk/src/utest/srs_utest_service.cpp
+++ b/trunk/src/utest/srs_utest_service.cpp
@@ -509,8 +509,8 @@ VOID TEST(HTTPServerTest, MessageConnection)
if (true) {
SrsHttpMessage m;
HELPER_EXPECT_SUCCESS(m.set_url("http://127.0.0.1/live/livestream.flv?callback=fn&method=POST", true));
- EXPECT_TRUE(m.jsonp);
- EXPECT_STREQ("POST", m.jsonp_method.c_str());
+ EXPECT_TRUE(m.jsonp_);
+ EXPECT_STREQ("POST", m.jsonp_method_.c_str());
EXPECT_TRUE(m.is_jsonp());
}
@@ -635,9 +635,9 @@ VOID TEST(HTTPServerTest, MessageTurnRequest)
SrsHttpMessage m;
HELPER_ASSERT_SUCCESS(m.set_url("http://127.0.0.1/live/livestream.flv", false));
ISrsRequest *r = m.to_request("ossrs.net");
- EXPECT_STREQ("live", r->app.c_str());
- EXPECT_STREQ("livestream", r->stream.c_str());
- EXPECT_STREQ("rtmp://ossrs.net/live", r->tcUrl.c_str());
+ EXPECT_STREQ("live", r->app_.c_str());
+ EXPECT_STREQ("livestream", r->stream_.c_str());
+ EXPECT_STREQ("rtmp://ossrs.net/live", r->tcUrl_.c_str());
srs_freep(r);
}
@@ -645,8 +645,8 @@ VOID TEST(HTTPServerTest, MessageTurnRequest)
SrsHttpMessage m;
HELPER_ASSERT_SUCCESS(m.set_url("http://127.0.0.1/live/livestream.flv?token=key", false));
ISrsRequest *r = m.to_request("ossrs.net");
- EXPECT_STREQ("rtmp://ossrs.net/live", r->tcUrl.c_str());
- EXPECT_STREQ("?token=key", r->param.c_str());
+ EXPECT_STREQ("rtmp://ossrs.net/live", r->tcUrl_.c_str());
+ EXPECT_STREQ("?token=key", r->param_.c_str());
srs_freep(r);
}
@@ -656,7 +656,7 @@ VOID TEST(HTTPServerTest, MessageTurnRequest)
m.set_connection(&conn);
ISrsRequest *r = m.to_request("ossrs.net");
- EXPECT_STREQ("127.0.0.1", r->ip.c_str());
+ EXPECT_STREQ("127.0.0.1", r->ip_.c_str());
srs_freep(r);
}
@@ -670,7 +670,7 @@ VOID TEST(HTTPServerTest, MessageTurnRequest)
m.set_header(&hdr, false);
ISrsRequest *r = m.to_request("ossrs.net");
- EXPECT_STREQ("10.11.12.13", r->ip.c_str());
+ EXPECT_STREQ("10.11.12.13", r->ip_.c_str());
srs_freep(r);
}
}
diff --git a/trunk/src/utest/srs_utest_source_lock.cpp b/trunk/src/utest/srs_utest_source_lock.cpp
index 9c315b1d825..f3890028624 100644
--- a/trunk/src/utest/srs_utest_source_lock.cpp
+++ b/trunk/src/utest/srs_utest_source_lock.cpp
@@ -47,29 +47,29 @@ class MockAsyncSrsRequest : public ISrsRequest
enable_context_switch = context_switch;
// Initialize all ISrsRequest members to safe defaults
- objectEncoding = RTMP_SIG_AMF0_VER;
- duration = -1;
- port = SRS_CONSTS_RTMP_DEFAULT_PORT;
- args = NULL; // Initialize to NULL to prevent crashes
- protocol = "rtmp";
+ objectEncoding_ = RTMP_SIG_AMF0_VER;
+ duration_ = -1;
+ port_ = SRS_CONSTS_RTMP_DEFAULT_PORT;
+ args_ = NULL; // Initialize to NULL to prevent crashes
+ protocol_ = "rtmp";
// Parse the URL to set vhost, app, stream
size_t app_pos = url.find('/', 1); // Find second slash
if (app_pos != string::npos) {
size_t stream_pos = url.find('/', app_pos + 1); // Find third slash
if (stream_pos != string::npos) {
- app = url.substr(app_pos + 1, stream_pos - app_pos - 1);
- stream = url.substr(stream_pos + 1);
+ app_ = url.substr(app_pos + 1, stream_pos - app_pos - 1);
+ stream_ = url.substr(stream_pos + 1);
} else {
- app = url.substr(app_pos + 1);
- stream = "livestream";
+ app_ = url.substr(app_pos + 1);
+ stream_ = "livestream";
}
} else {
- app = "live";
- stream = "livestream";
+ app_ = "live";
+ stream_ = "livestream";
}
- vhost = "localhost";
+ vhost_ = "localhost";
}
virtual string get_stream_url()
@@ -93,8 +93,8 @@ class MockAsyncSrsRequest : public ISrsRequest
MockAsyncSrsRequest *cp = new MockAsyncSrsRequest(mock_stream_url, enable_context_switch);
*cp = *this;
- if (args) {
- cp->args = args->copy()->to_object();
+ if (args_) {
+ cp->args_ = args_->copy()->to_object();
}
return cp;
diff --git a/trunk/src/utest/srs_utest_srt.cpp b/trunk/src/utest/srs_utest_srt.cpp
index de7c009b730..5a2665c2ff0 100644
--- a/trunk/src/utest/srs_utest_srt.cpp
+++ b/trunk/src/utest/srs_utest_srt.cpp
@@ -462,10 +462,10 @@ VOID TEST(ProtocolSrtTest, SrtStreamIdToRequest)
SrsRequest req;
EXPECT_TRUE(srs_srt_streamid_to_request("#!::r=live/livestream?key1=val1,key2=val2", mode, &req));
EXPECT_EQ(mode, SrtModePull);
- EXPECT_STREQ(req.vhost.c_str(), srs_get_public_internet_address().c_str());
- EXPECT_STREQ(req.app.c_str(), "live");
- EXPECT_STREQ(req.stream.c_str(), "livestream");
- EXPECT_STREQ(req.param.c_str(), "key1=val1&key2=val2");
+ EXPECT_STREQ(req.vhost_.c_str(), srs_get_public_internet_address().c_str());
+ EXPECT_STREQ(req.app_.c_str(), "live");
+ EXPECT_STREQ(req.stream_.c_str(), "livestream");
+ EXPECT_STREQ(req.param_.c_str(), "key1=val1&key2=val2");
}
if (true) {
@@ -473,10 +473,10 @@ VOID TEST(ProtocolSrtTest, SrtStreamIdToRequest)
SrsRequest req;
EXPECT_TRUE(srs_srt_streamid_to_request("#!::h=srs.srt.com.cn,r=live/livestream?key1=val1,key2=val2", mode, &req));
EXPECT_EQ(mode, SrtModePull);
- EXPECT_STREQ(req.vhost.c_str(), "srs.srt.com.cn");
- EXPECT_STREQ(req.app.c_str(), "live");
- EXPECT_STREQ(req.stream.c_str(), "livestream");
- EXPECT_STREQ(req.param.c_str(), "vhost=srs.srt.com.cn&key1=val1&key2=val2");
+ EXPECT_STREQ(req.vhost_.c_str(), "srs.srt.com.cn");
+ EXPECT_STREQ(req.app_.c_str(), "live");
+ EXPECT_STREQ(req.stream_.c_str(), "livestream");
+ EXPECT_STREQ(req.param_.c_str(), "vhost=srs.srt.com.cn&key1=val1&key2=val2");
}
if (true) {
@@ -484,10 +484,10 @@ VOID TEST(ProtocolSrtTest, SrtStreamIdToRequest)
SrsRequest req;
EXPECT_TRUE(srs_srt_streamid_to_request("#!::h=live/livestream?key1=val1,key2=val2", mode, &req));
EXPECT_EQ(mode, SrtModePull);
- EXPECT_STREQ(req.vhost.c_str(), srs_get_public_internet_address().c_str());
- EXPECT_STREQ(req.app.c_str(), "live");
- EXPECT_STREQ(req.stream.c_str(), "livestream");
- EXPECT_STREQ(req.param.c_str(), "key1=val1&key2=val2");
+ EXPECT_STREQ(req.vhost_.c_str(), srs_get_public_internet_address().c_str());
+ EXPECT_STREQ(req.app_.c_str(), "live");
+ EXPECT_STREQ(req.stream_.c_str(), "livestream");
+ EXPECT_STREQ(req.param_.c_str(), "key1=val1&key2=val2");
}
if (true) {
@@ -495,10 +495,10 @@ VOID TEST(ProtocolSrtTest, SrtStreamIdToRequest)
SrsRequest req;
EXPECT_TRUE(srs_srt_streamid_to_request("#!::h=srs.srt.com.cn/live/livestream?key1=val1,key2=val2", mode, &req));
EXPECT_EQ(mode, SrtModePull);
- EXPECT_STREQ(req.vhost.c_str(), "srs.srt.com.cn");
- EXPECT_STREQ(req.app.c_str(), "live");
- EXPECT_STREQ(req.stream.c_str(), "livestream");
- EXPECT_STREQ(req.param.c_str(), "vhost=srs.srt.com.cn&key1=val1&key2=val2");
+ EXPECT_STREQ(req.vhost_.c_str(), "srs.srt.com.cn");
+ EXPECT_STREQ(req.app_.c_str(), "live");
+ EXPECT_STREQ(req.stream_.c_str(), "livestream");
+ EXPECT_STREQ(req.param_.c_str(), "vhost=srs.srt.com.cn&key1=val1&key2=val2");
}
}