diff --git a/.augment-guidelines b/.augment-guidelines index 5f9fd49e5..fdc55b2ee 100644 --- a/.augment-guidelines +++ b/.augment-guidelines @@ -164,7 +164,7 @@ code_patterns: naming_conventions: - pattern: "field_naming" - description: "MANDATORY - All class and struct fields must end with underscore (_)" + description: "MANDATORY - All class and struct fields (member variables) must end with underscore (_), but NOT functions/methods" usage: | WRONG: Fields without underscore class SrsBuffer { @@ -175,17 +175,19 @@ code_patterns: bool enabled; }; - CORRECT: Fields with underscore + CORRECT: Fields with underscore, functions without underscore class SrsBuffer { private: char *p_; int size_; public: bool enabled_; + public: + srs_error_t initialize(); }; - scope: "Applies to ALL fields (private, protected, public) in both classes and structs" + scope: "Applies ONLY to fields (member variables) in classes and structs - NOT to functions, methods, 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" + rationale: "Consistent naming convention across SRS codebase for better code readability and maintenance - underscore distinguishes member variables from local variables and parameters" commenting_style: - pattern: "C++ style comments" diff --git a/trunk/configure b/trunk/configure index bb8c7dc37..1e12cf5fc 100755 --- a/trunk/configure +++ b/trunk/configure @@ -378,7 +378,7 @@ if [[ $SRS_UTEST == YES ]]; then "srs_utest_mp4" "srs_utest_service" "srs_utest_app" "srs_utest_rtc" "srs_utest_config2" "srs_utest_protocol" "srs_utest_protocol2" "srs_utest_kernel2" "srs_utest_protocol3" "srs_utest_st" "srs_utest_rtc2" "srs_utest_rtc3" "srs_utest_fmp4" "srs_utest_source_lock" - "srs_utest_stream_token" "srs_utest_rtc_recv_track" "srs_utest_st2") + "srs_utest_stream_token" "srs_utest_rtc_recv_track" "srs_utest_st2" "srs_utest_hevc_structs") # Always include SRT utest MODULE_FILES+=("srs_utest_srt") if [[ $SRS_GB28181 == YES ]]; then diff --git a/trunk/doc/CHANGELOG.md b/trunk/doc/CHANGELOG.md index e73f301ad..fd4565d2b 100644 --- a/trunk/doc/CHANGELOG.md +++ b/trunk/doc/CHANGELOG.md @@ -7,6 +7,7 @@ The changelog for SRS. ## SRS 7.0 Changelog +* 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) * v7.0, 2025-09-05, Merge [#4474](https://github.com/ossrs/srs/pull/4474): WebRTC: Fix race condition in RTC nack timer callbacks. v7.0.79 (#4474) diff --git a/trunk/src/app/srs_app_conn.cpp b/trunk/src/app/srs_app_conn.cpp index fd86ba936..0df8c4333 100644 --- a/trunk/src/app/srs_app_conn.cpp +++ b/trunk/src/app/srs_app_conn.cpp @@ -179,7 +179,7 @@ ISrsResource *SrsResourceManager::at(int index) ISrsResource *SrsResourceManager::find_by_id(std::string id) { - ++_srs_pps_ids->sugar; + ++_srs_pps_ids->sugar_; map::iterator it = conns_id_.find(id); return (it != conns_id_.end()) ? it->second : NULL; } @@ -188,18 +188,18 @@ ISrsResource *SrsResourceManager::find_by_fast_id(uint64_t id) { SrsResourceFastIdItem *item = &conns_level0_cache_[(id | id >> 32) % nn_level0_cache_]; if (item->available && item->fast_id == id) { - ++_srs_pps_fids_level0->sugar; + ++_srs_pps_fids_level0->sugar_; return item->impl; } - ++_srs_pps_fids->sugar; + ++_srs_pps_fids->sugar_; map::iterator it = conns_fast_id_.find(id); return (it != conns_fast_id_.end()) ? it->second : NULL; } ISrsResource *SrsResourceManager::find_by_name(std::string name) { - ++_srs_pps_ids->sugar; + ++_srs_pps_ids->sugar_; map::iterator it = conns_name_.find(name); return (it != conns_name_.end()) ? it->second : NULL; } @@ -334,7 +334,7 @@ void SrsResourceManager::do_clear() i, conn->desc().c_str(), conn, (int)conns_.size(), (int)copy.size(), (int)zombies_.size()); } - ++_srs_pps_dispose->sugar; + ++_srs_pps_dispose->sugar_; dispose(conn); } diff --git a/trunk/src/app/srs_app_dash.cpp b/trunk/src/app/srs_app_dash.cpp index 3cec13ada..04ae7ab9c 100644 --- a/trunk/src/app/srs_app_dash.cpp +++ b/trunk/src/app/srs_app_dash.cpp @@ -117,26 +117,26 @@ srs_error_t SrsFragmentedMp4::write(SrsMediaPacket *shared_msg, SrsFormat *forma srs_error_t err = srs_success; if (shared_msg->is_audio()) { - uint8_t *sample = (uint8_t *)format->raw; - uint32_t nb_sample = (uint32_t)format->nb_raw; + uint8_t *sample = (uint8_t *)format->raw_; + uint32_t nb_sample = (uint32_t)format->nb_raw_; - uint32_t dts = (uint32_t)shared_msg->timestamp; + uint32_t dts = (uint32_t)shared_msg->timestamp_; err = enc->write_sample(SrsMp4HandlerTypeSOUN, 0x00, dts, dts, sample, nb_sample); } else if (shared_msg->is_video()) { - SrsVideoAvcFrameType frame_type = format->video->frame_type; - uint32_t cts = (uint32_t)format->video->cts; + SrsVideoAvcFrameType frame_type = format->video_->frame_type_; + uint32_t cts = (uint32_t)format->video_->cts_; - uint32_t dts = (uint32_t)shared_msg->timestamp; + uint32_t dts = (uint32_t)shared_msg->timestamp_; uint32_t pts = dts + cts; - uint8_t *sample = (uint8_t *)format->raw; - uint32_t nb_sample = (uint32_t)format->nb_raw; + uint8_t *sample = (uint8_t *)format->raw_; + uint32_t nb_sample = (uint32_t)format->nb_raw_; err = enc->write_sample(SrsMp4HandlerTypeVIDE, frame_type, dts, pts, sample, nb_sample); } else { return err; } - append(shared_msg->timestamp); + append(shared_msg->timestamp_); return err; } @@ -258,7 +258,7 @@ srs_error_t SrsMpdWriter::write(SrsFormat *format, SrsFragmentWindow *afragments ss << " " << endl; - if (format->acodec && !afragments->empty()) { + if (format->acodec_ && !afragments->empty()) { int start_index = srs_max(0, afragments->size() - window_size_); ss << " " << endl; ss << " " << endl; @@ -277,10 +277,10 @@ srs_error_t SrsMpdWriter::write(SrsFormat *format, SrsFragmentWindow *afragments ss << " " << endl; } - if (format->vcodec && !vfragments->empty()) { + if (format->vcodec_ && !vfragments->empty()) { int start_index = srs_max(0, vfragments->size() - window_size_); - int w = format->vcodec->width; - int h = format->vcodec->height; + int w = format->vcodec_->width_; + int h = format->vcodec_->height_; ss << " " << endl; ss << " " << endl; ss << " timestamp; + audio_dts = shared_audio->timestamp_; if (!acurrent) { acurrent = new SrsFragmentedMp4(); @@ -510,7 +510,7 @@ srs_error_t SrsDashController::on_audio(SrsMediaPacket *shared_audio, SrsFormat // The video is reaped, audio must be reaped right now to align the timestamp of video. video_reaped_ = false; // Append current timestamp to calculate right duration. - acurrent->append(shared_audio->timestamp); + acurrent->append(shared_audio->timestamp_); if ((err = acurrent->reap(audio_dts)) != srs_success) { return srs_error_wrap(err, "reap current"); } @@ -562,7 +562,7 @@ srs_error_t SrsDashController::on_video(SrsMediaPacket *shared_video, SrsFormat return refresh_init_mp4(shared_video, format); } - video_dts = shared_video->timestamp; + video_dts = shared_video->timestamp_; if (!vcurrent) { vcurrent = new SrsFragmentedMp4(); @@ -577,10 +577,10 @@ srs_error_t SrsDashController::on_video(SrsMediaPacket *shared_video, SrsFormat mpd->set_availability_start_time(srs_time_now_cached() - first_dts_ * SRS_UTIME_MILLISECONDS); } - bool reopen = format->video->frame_type == SrsVideoAvcFrameTypeKeyFrame && vcurrent->duration() >= fragment; + bool reopen = format->video_->frame_type_ == SrsVideoAvcFrameTypeKeyFrame && vcurrent->duration() >= fragment; if (reopen) { // Append current timestamp to calculate right duration. - vcurrent->append(shared_video->timestamp); + vcurrent->append(shared_video->timestamp_); if ((err = vcurrent->reap(video_dts)) != srs_success) { return srs_error_wrap(err, "reap current"); } @@ -630,7 +630,7 @@ srs_error_t SrsDashController::refresh_mpd(SrsFormat *format) srs_error_t err = srs_success; // TODO: FIXME: Support pure audio streaming. - if (!format || !format->acodec || !format->vcodec) { + if (!format || !format->acodec_ || !format->vcodec_) { return err; } @@ -645,7 +645,7 @@ srs_error_t SrsDashController::refresh_init_mp4(SrsMediaPacket *msg, SrsFormat * { srs_error_t err = srs_success; - if (msg->size() <= 0 || (msg->is_video() && !format->vcodec->is_avc_codec_ok()) || (msg->is_audio() && !format->acodec->is_aac_codec_ok())) { + if (msg->size() <= 0 || (msg->is_video() && !format->vcodec_->is_avc_codec_ok()) || (msg->is_audio() && !format->acodec_->is_aac_codec_ok())) { srs_warn("DASH: Ignore empty sequence header."); return err; } @@ -804,7 +804,7 @@ srs_error_t SrsDash::on_audio(SrsMediaPacket *shared_audio, SrsFormat *format) return err; } - if (!format->acodec) { + if (!format->acodec_) { return err; } @@ -826,7 +826,7 @@ srs_error_t SrsDash::on_video(SrsMediaPacket *shared_video, SrsFormat *format) return err; } - if (!format->vcodec) { + if (!format->vcodec_) { return err; } diff --git a/trunk/src/app/srs_app_dvr.cpp b/trunk/src/app/srs_app_dvr.cpp index c0f36c5b3..6bd4e2219 100644 --- a/trunk/src/app/srs_app_dvr.cpp +++ b/trunk/src/app/srs_app_dvr.cpp @@ -217,7 +217,7 @@ string SrsDvrSegmenter::generate_path() srs_error_t SrsDvrSegmenter::on_update_duration(SrsMediaPacket *msg) { - fragment->append(msg->timestamp); + fragment->append(msg->timestamp_); return srs_success; } @@ -372,7 +372,7 @@ srs_error_t SrsDvrFlvSegmenter::encode_audio(SrsMediaPacket *audio, SrsFormat *f char *payload = audio->payload(); int size = audio->size(); - if ((err = enc->write_audio(audio->timestamp, payload, size)) != srs_success) { + if ((err = enc->write_audio(audio->timestamp_, payload, size)) != srs_success) { return srs_error_wrap(err, "write audio"); } @@ -385,8 +385,8 @@ srs_error_t SrsDvrFlvSegmenter::encode_video(SrsMediaPacket *video, SrsFormat *f char *payload = video->payload(); int size = video->size(); - bool sh = (format->video->avc_packet_type == SrsVideoAvcFrameTraitSequenceHeader); - bool keyframe = (!sh && format->video->frame_type == SrsVideoAvcFrameTypeKeyFrame); + bool sh = (format->video_->avc_packet_type_ == SrsVideoAvcFrameTraitSequenceHeader); + bool keyframe = (!sh && format->video_->frame_type_ == SrsVideoAvcFrameTypeKeyFrame); if (keyframe) { has_keyframe = true; @@ -398,7 +398,7 @@ srs_error_t SrsDvrFlvSegmenter::encode_video(SrsMediaPacket *video, SrsFormat *f return err; } - if ((err = enc->write_video(video->timestamp, payload, size)) != srs_success) { + if ((err = enc->write_video(video->timestamp_, payload, size)) != srs_success) { return srs_error_wrap(err, "write video"); } @@ -448,23 +448,23 @@ srs_error_t SrsDvrMp4Segmenter::encode_audio(SrsMediaPacket *audio, SrsFormat *f { srs_error_t err = srs_success; - SrsAudioCodecId sound_format = format->acodec->id; - SrsAudioSampleRate sound_rate = format->acodec->sound_rate; - SrsAudioSampleBits sound_size = format->acodec->sound_size; - SrsAudioChannels channels = format->acodec->sound_type; + SrsAudioCodecId sound_format = format->acodec_->id_; + SrsAudioSampleRate sound_rate = format->acodec_->sound_rate_; + SrsAudioSampleBits sound_size = format->acodec_->sound_size_; + SrsAudioChannels channels = format->acodec_->sound_type_; - SrsAudioAacFrameTrait ct = format->audio->aac_packet_type; + SrsAudioAacFrameTrait ct = format->audio_->aac_packet_type_; if (ct == SrsAudioAacFrameTraitSequenceHeader || ct == SrsAudioMp3FrameTraitSequenceHeader) { - enc->acodec = sound_format; - enc->sample_rate = sound_rate; - enc->sound_bits = sound_size; - enc->channels = channels; + enc->acodec_ = sound_format; + enc->sample_rate_ = sound_rate; + enc->sound_bits_ = sound_size; + enc->channels_ = channels; } - uint8_t *sample = (uint8_t *)format->raw; - uint32_t nb_sample = (uint32_t)format->nb_raw; + uint8_t *sample = (uint8_t *)format->raw_; + uint32_t nb_sample = (uint32_t)format->nb_raw_; - uint32_t dts = (uint32_t)audio->timestamp; + uint32_t dts = (uint32_t)audio->timestamp_; if ((err = enc->write_sample(format, SrsMp4HandlerTypeSOUN, 0x00, ct, dts, dts, sample, nb_sample)) != srs_success) { return srs_error_wrap(err, "write sample"); } @@ -476,21 +476,21 @@ srs_error_t SrsDvrMp4Segmenter::encode_video(SrsMediaPacket *video, SrsFormat *f { srs_error_t err = srs_success; - SrsVideoAvcFrameType frame_type = format->video->frame_type; - SrsVideoCodecId codec_id = format->vcodec->id; + SrsVideoAvcFrameType frame_type = format->video_->frame_type_; + SrsVideoCodecId codec_id = format->vcodec_->id_; - SrsVideoAvcFrameTrait ct = format->video->avc_packet_type; - uint32_t cts = (uint32_t)format->video->cts; + SrsVideoAvcFrameTrait ct = format->video_->avc_packet_type_; + uint32_t cts = (uint32_t)format->video_->cts_; if (ct == SrsVideoAvcFrameTraitSequenceHeader) { - enc->vcodec = codec_id; + enc->vcodec_ = codec_id; } - uint32_t dts = (uint32_t)video->timestamp; + uint32_t dts = (uint32_t)video->timestamp_; uint32_t pts = dts + cts; - uint8_t *sample = (uint8_t *)format->raw; - uint32_t nb_sample = (uint32_t)format->nb_raw; + uint8_t *sample = (uint8_t *)format->raw_; + uint32_t nb_sample = (uint32_t)format->nb_raw_; if ((err = enc->write_sample(format, SrsMp4HandlerTypeVIDE, frame_type, ct, dts, pts, sample, nb_sample)) != srs_success) { return srs_error_wrap(err, "write sample"); } diff --git a/trunk/src/app/srs_app_edge.cpp b/trunk/src/app/srs_app_edge.cpp index fd0686b0a..0fdd8b004 100644 --- a/trunk/src/app/srs_app_edge.cpp +++ b/trunk/src/app/srs_app_edge.cpp @@ -339,7 +339,7 @@ srs_error_t SrsEdgeFlvUpstream::decode_message(SrsRtmpCommonMessage *msg, SrsRtm SrsRtmpCommand *packet = NULL; SrsBuffer stream(msg->payload(), msg->size()); - SrsMessageHeader &header = msg->header; + SrsMessageHeader &header = msg->header_; if (header.is_amf0_data() || header.is_amf3_data()) { std::string command; @@ -619,21 +619,21 @@ srs_error_t SrsEdgeIngester::process_publish_message(SrsRtmpCommonMessage *msg, srs_error_t err = srs_success; // process audio packet - if (msg->header.is_audio()) { + if (msg->header_.is_audio()) { if ((err = source_->on_audio(msg)) != srs_success) { return srs_error_wrap(err, "source consume audio"); } } // process video packet - if (msg->header.is_video()) { + if (msg->header_.is_video()) { if ((err = source_->on_video(msg)) != srs_success) { return srs_error_wrap(err, "source consume video"); } } // process aggregate packet - if (msg->header.is_aggregate()) { + if (msg->header_.is_aggregate()) { if ((err = source_->on_aggregate(msg)) != srs_success) { return srs_error_wrap(err, "source consume aggregate"); } @@ -641,7 +641,7 @@ srs_error_t SrsEdgeIngester::process_publish_message(SrsRtmpCommonMessage *msg, } // process onMetaData - if (msg->header.is_amf0_data() || msg->header.is_amf3_data()) { + if (msg->header_.is_amf0_data() || msg->header_.is_amf3_data()) { SrsRtmpCommand *pkt_raw = NULL; if ((err = upstream->decode_message(msg, &pkt_raw)) != srs_success) { return srs_error_wrap(err, "decode message"); @@ -660,7 +660,7 @@ srs_error_t SrsEdgeIngester::process_publish_message(SrsRtmpCommonMessage *msg, } // call messages, for example, reject, redirect. - if (msg->header.is_amf0_command() || msg->header.is_amf3_command()) { + if (msg->header_.is_amf0_command() || msg->header_.is_amf3_command()) { SrsRtmpCommand *pkt_raw = NULL; if ((err = upstream->decode_message(msg, &pkt_raw)) != srs_success) { return srs_error_wrap(err, "decode message"); @@ -919,14 +919,14 @@ srs_error_t SrsEdgeForwarder::proxy(SrsRtmpCommonMessage *msg) // the msg is auto free by source, // so we just ignore, or copy then send it. - if (msg->size() <= 0 || msg->header.is_set_chunk_size() || msg->header.is_window_ackledgement_size() || msg->header.is_ackledgement()) { + if (msg->size() <= 0 || msg->header_.is_set_chunk_size() || msg->header_.is_window_ackledgement_size() || msg->header_.is_ackledgement()) { return err; } SrsMediaPacket copy; msg->to_msg(©); - copy.stream_id = sdk->sid(); + copy.stream_id_ = sdk->sid(); if ((err = queue->enqueue(copy.copy())) != srs_success) { return srs_error_wrap(err, "enqueue message"); } diff --git a/trunk/src/app/srs_app_gb28181.cpp b/trunk/src/app/srs_app_gb28181.cpp index 46896e239..6eabd570d 100644 --- a/trunk/src/app/srs_app_gb28181.cpp +++ b/trunk/src/app/srs_app_gb28181.cpp @@ -145,12 +145,12 @@ void SrsGbSession::on_ps_pack(SrsPackContext *ctx, SrsPsPacket *ps, const std::v SrsTsMessage *msg = *it; // Group all videos to one video. - if (msg->sid == SrsTsPESStreamIdVideoCommon) { + if (msg->sid_ == SrsTsPESStreamIdVideoCommon) { video->ps_helper_ = msg->ps_helper_; - video->dts = msg->dts; - video->pts = msg->pts; - video->sid = msg->sid; - video->payload->append(msg->payload); + video->dts_ = msg->dts_; + video->pts_ = msg->pts_; + video->sid_ = msg->sid_; + video->payload_->append(msg->payload_); continue; } @@ -163,7 +163,7 @@ void SrsGbSession::on_ps_pack(SrsPackContext *ctx, SrsPsPacket *ps, const std::v } // Send the generated video message. - if (video->payload->length() > 0) { + if (video->payload_->length() > 0) { srs_error_t err = muxer_->on_ts_message(video.get()); if (err != srs_success) { srs_warn("Muxer: Ignore video err %s", srs_error_desc(err).c_str()); @@ -672,15 +672,15 @@ srs_error_t SrsMpegpsQueue::push(SrsMediaPacket *msg) // TODO: FIXME: use right way. for (int i = 0; i < 10; i++) { - if (msgs.find(msg->timestamp) == msgs.end()) { + if (msgs.find(msg->timestamp_) == msgs.end()) { break; } // adjust the ts, add 1ms. - msg->timestamp += 1; + msg->timestamp_ += 1; if (i >= 100) { - srs_warn("Muxer: free the msg for dts exists, dts=%" PRId64, msg->timestamp); + srs_warn("Muxer: free the msg for dts exists, dts=%" PRId64, msg->timestamp_); srs_freep(msg); return err; } @@ -694,7 +694,7 @@ srs_error_t SrsMpegpsQueue::push(SrsMediaPacket *msg) nb_videos++; } - msgs[msg->timestamp] = msg; + msgs[msg->timestamp_] = msg; return err; } @@ -765,8 +765,8 @@ srs_error_t SrsGbMuxer::on_ts_message(SrsTsMessage *msg) { srs_error_t err = srs_success; - SrsBuffer avs(msg->payload->bytes(), msg->payload->length()); - if (msg->sid == SrsTsPESStreamIdVideoCommon) { + SrsBuffer avs(msg->payload_->bytes(), msg->payload_->length()); + if (msg->sid_ == SrsTsPESStreamIdVideoCommon) { if ((err = on_ts_video(msg, &avs)) != srs_success) { return srs_error_wrap(err, "ts: consume video"); } @@ -811,8 +811,8 @@ srs_error_t SrsGbMuxer::mux_h264(SrsTsMessage *msg, SrsBuffer *avs) srs_error_t err = srs_success; // ts tbn to flv tbn. - uint32_t dts = (uint32_t)(msg->dts / 90); - uint32_t pts = (uint32_t)(msg->dts / 90); + uint32_t dts = (uint32_t)(msg->dts_ / 90); + uint32_t pts = (uint32_t)(msg->dts_ / 90); // send each frame. while (!avs->empty()) { @@ -972,8 +972,8 @@ srs_error_t SrsGbMuxer::mux_h265(SrsTsMessage *msg, SrsBuffer *avs) srs_error_t err = srs_success; // ts tbn to flv tbn. - uint32_t dts = (uint32_t)(msg->dts / 90); - uint32_t pts = (uint32_t)(msg->dts / 90); + uint32_t dts = (uint32_t)(msg->dts_ / 90); + uint32_t pts = (uint32_t)(msg->dts_ / 90); // send each frame. while (!avs->empty()) { @@ -1154,7 +1154,7 @@ srs_error_t SrsGbMuxer::on_ts_audio(SrsTsMessage *msg, SrsBuffer *avs) } // ts tbn to flv tbn. - uint32_t dts = (uint32_t)(msg->dts / 90); + uint32_t dts = (uint32_t)(msg->dts_ / 90); // send each frame. while (!avs->empty()) { @@ -1242,7 +1242,7 @@ srs_error_t SrsGbMuxer::rtmp_write_packet(char type, uint32_t timestamp, char *d srs_trace("Muxer: send msg %s age=%d, dts=%" PRId64 ", size=%d", msg->is_audio() ? "A" : msg->is_video() ? "V" : "N", - pprint_->age(), msg->timestamp, msg->size()); + pprint_->age(), msg->timestamp_, msg->size()); } // send out encoded msg. @@ -1346,12 +1346,12 @@ srs_error_t SrsPackContext::on_ts_message(SrsTsMessage *msg) //} // Correct DTS/PS to the last one. - if (!msgs_.empty() && (!msg->dts || !msg->pts)) { + if (!msgs_.empty() && (!msg->dts_ || !msg->pts_)) { SrsTsMessage *last = msgs_.back(); - if (!msg->dts) - msg->dts = last->dts; - if (!msg->pts) - msg->pts = last->pts; + if (!msg->dts_) + msg->dts_ = last->dts_; + if (!msg->pts_) + msg->pts_ = last->pts_; } // uint8_t* p = (uint8_t*)msg->payload->bytes(); @@ -1424,14 +1424,14 @@ srs_error_t SrsRecoverablePsContext::decode_rtp(SrsBuffer *stream, int reserved, memmove(dst, src, reserved); // The payload also should skip back to the reserved bytes. - rtp_raw->payload -= reserved; - rtp_raw->nn_payload += reserved; + rtp_raw->payload_ -= reserved; + rtp_raw->nn_payload_ += reserved; // The stream also skip back to the not parsed bytes. stream->skip(-1 * reserved); } - SrsBuffer b((char *)rtp_raw->payload, rtp_raw->nn_payload); + SrsBuffer b((char *)rtp_raw->payload_, rtp_raw->nn_payload_); // srs_trace("GB: Got RTP length=%d, payload=%d, seq=%u, ts=%d", length, rtp_raw->nn_payload, rtp.header.get_sequence(), rtp.header.get_timestamp()); ctx_.helper_.rtp_seq_ = rtp.header.get_sequence(); @@ -1488,7 +1488,7 @@ srs_error_t SrsRecoverablePsContext::enter_recover_mode(SrsBuffer *stream, ISrsP uint16_t lsopm = h.pack_pre_msg_last_seq_; SrsTsMessage *last = ctx_.last(); srs_warn("PS: Enter recover=%d, seq=%u, ts=%u, pt=%u, pack=%u, msgs=%u, lsopm=%u, last=%u/%u, bytes=[%s], pos=%d, left=%d for err %s", - recover_, h.rtp_seq_, h.rtp_ts_, h.rtp_pt_, pack_seq, pack_msgs, lsopm, last->PES_packet_length, last->payload->length(), + recover_, h.rtp_seq_, h.rtp_ts_, h.rtp_pt_, pack_seq, pack_msgs, lsopm, last->PES_packet_length_, last->payload_->length(), bytes.c_str(), npos, stream->left(), srs_error_desc(err).c_str()); // If RTP packet exceed SRS_GB_LARGE_PACKET, which is large packet, might be correct length and impossible to diff --git a/trunk/src/app/srs_app_hds.cpp b/trunk/src/app/srs_app_hds.cpp index ac2ba9bb5..9c3336a91 100644 --- a/trunk/src/app/srs_app_hds.cpp +++ b/trunk/src/app/srs_app_hds.cpp @@ -46,7 +46,7 @@ string serialFlv(SrsMediaPacket *msg) SrsUniquePtr stream(new SrsBuffer(byte, size)); // tag header - long long dts = msg->timestamp; + long long dts = msg->timestamp_; char type = msg->is_video() ? 0x09 : 0x08; stream->write_1bytes(type); diff --git a/trunk/src/app/srs_app_hls.cpp b/trunk/src/app/srs_app_hls.cpp index 33b552f75..70bcffec1 100644 --- a/trunk/src/app/srs_app_hls.cpp +++ b/trunk/src/app/srs_app_hls.cpp @@ -208,22 +208,22 @@ srs_error_t SrsHlsM4sSegment::write(SrsMediaPacket *shared_msg, SrsFormat *forma srs_error_t err = srs_success; if (shared_msg->is_audio()) { - uint8_t *sample = (uint8_t *)format->raw; - uint32_t nb_sample = (uint32_t)format->nb_raw; + uint8_t *sample = (uint8_t *)format->raw_; + uint32_t nb_sample = (uint32_t)format->nb_raw_; - uint32_t dts = (uint32_t)shared_msg->timestamp; + uint32_t dts = (uint32_t)shared_msg->timestamp_; if ((err = enc_.write_sample(SrsMp4HandlerTypeSOUN, 0x00, dts, dts, sample, nb_sample)) != srs_success) { return srs_error_wrap(err, "m4s segment write audio sample"); } } else if (shared_msg->is_video()) { - SrsVideoAvcFrameType frame_type = format->video->frame_type; - uint32_t cts = (uint32_t)format->video->cts; + SrsVideoAvcFrameType frame_type = format->video_->frame_type_; + uint32_t cts = (uint32_t)format->video_->cts_; - uint32_t dts = (uint32_t)shared_msg->timestamp; + uint32_t dts = (uint32_t)shared_msg->timestamp_; uint32_t pts = dts + cts; - uint8_t *sample = (uint8_t *)format->raw; - uint32_t nb_sample = (uint32_t)format->nb_raw; + uint8_t *sample = (uint8_t *)format->raw_; + uint32_t nb_sample = (uint32_t)format->nb_raw_; if ((err = enc_.write_sample(SrsMp4HandlerTypeVIDE, frame_type, dts, pts, sample, nb_sample)) != srs_success) { return srs_error_wrap(err, "m4s segment write video sample"); } @@ -232,7 +232,7 @@ srs_error_t SrsHlsM4sSegment::write(SrsMediaPacket *shared_msg, SrsFormat *forma return err; } - append(shared_msg->timestamp); + append(shared_msg->timestamp_); return err; } @@ -585,7 +585,7 @@ srs_error_t SrsHlsFmp4Muxer::write_audio(SrsMediaPacket *shared_audio, SrsFormat srs_error_t err = srs_success; if (!current_) { - if ((err = segment_open(shared_audio->timestamp * SRS_UTIME_MILLISECONDS)) != srs_success) { + if ((err = segment_open(shared_audio->timestamp_ * SRS_UTIME_MILLISECONDS)) != srs_success) { return srs_error_wrap(err, "open segment"); } } @@ -595,7 +595,7 @@ srs_error_t SrsHlsFmp4Muxer::write_audio(SrsMediaPacket *shared_audio, SrsFormat return srs_error_wrap(err, "segment close"); } - if ((err = segment_open(shared_audio->timestamp * SRS_UTIME_MILLISECONDS)) != srs_success) { + if ((err = segment_open(shared_audio->timestamp_ * SRS_UTIME_MILLISECONDS)) != srs_success) { return srs_error_wrap(err, "open segment"); } } @@ -608,10 +608,10 @@ srs_error_t SrsHlsFmp4Muxer::write_video(SrsMediaPacket *shared_video, SrsFormat { srs_error_t err = srs_success; - video_dts_ = shared_video->timestamp; + video_dts_ = shared_video->timestamp_; if (!current_) { - if ((err = segment_open(shared_video->timestamp * SRS_UTIME_MILLISECONDS)) != srs_success) { + if ((err = segment_open(shared_video->timestamp_ * SRS_UTIME_MILLISECONDS)) != srs_success) { return srs_error_wrap(err, "open segment"); } } @@ -622,7 +622,7 @@ srs_error_t SrsHlsFmp4Muxer::write_video(SrsMediaPacket *shared_video, SrsFormat return srs_error_wrap(err, "segment close"); } - if ((err = segment_open(shared_video->timestamp * SRS_UTIME_MILLISECONDS)) != srs_success) { + if ((err = segment_open(shared_video->timestamp_ * SRS_UTIME_MILLISECONDS)) != srs_success) { return srs_error_wrap(err, "open segment"); } } @@ -1593,19 +1593,19 @@ srs_error_t SrsHlsMuxer::flush_audio(SrsTsMessageCache *cache) return err; } - if (!cache->audio || cache->audio->payload->length() <= 0) { + if (!cache->audio_ || cache->audio_->payload_->length() <= 0) { return err; } // update the duration of segment. - update_duration(cache->audio->dts); + update_duration(cache->audio_->dts_); - if ((err = current->tscw->write_audio(cache->audio)) != srs_success) { + if ((err = current->tscw->write_audio(cache->audio_)) != srs_success) { return srs_error_wrap(err, "hls: write audio"); } // write success, clear and free the msg - srs_freep(cache->audio); + srs_freep(cache->audio_); return err; } @@ -1620,21 +1620,21 @@ srs_error_t SrsHlsMuxer::flush_video(SrsTsMessageCache *cache) return err; } - if (!cache->video || cache->video->payload->length() <= 0) { + if (!cache->video_ || cache->video_->payload_->length() <= 0) { return err; } srs_assert(current); // update the duration of segment. - update_duration(cache->video->dts); + update_duration(cache->video_->dts_); - if ((err = current->tscw->write_video(cache->video)) != srs_success) { + if ((err = current->tscw->write_video(cache->video_)) != srs_success) { return srs_error_wrap(err, "hls: write video"); } // write success, clear and free the msg - srs_freep(cache->video); + srs_freep(cache->video_); return err; } @@ -2053,24 +2053,24 @@ srs_error_t SrsHlsController::on_sequence_header(SrsMediaPacket *msg, SrsFormat srs_error_t SrsHlsController::write_audio(SrsMediaPacket *shared_audio, SrsFormat *format) { srs_error_t err = srs_success; - SrsParsedAudioPacket *frame = format->audio; + SrsParsedAudioPacket *frame = format->audio_; // Reset the aac samples counter when DTS jitter. - if (previous_audio_dts > shared_audio->timestamp) { - previous_audio_dts = shared_audio->timestamp; + if (previous_audio_dts > shared_audio->timestamp_) { + previous_audio_dts = shared_audio->timestamp_; aac_samples = 0; } // The diff duration in ms between two FLV audio packets. - int diff = ::abs((int)(shared_audio->timestamp - previous_audio_dts)); - previous_audio_dts = shared_audio->timestamp; + int diff = ::abs((int)(shared_audio->timestamp_ - previous_audio_dts)); + previous_audio_dts = shared_audio->timestamp_; // Guess the number of samples for each AAC frame. // If samples is 1024, the sample-rate is 8000HZ, the diff should be 1024/8000s=128ms. // If samples is 1024, the sample-rate is 44100HZ, the diff should be 1024/44100s=23ms. // If samples is 2048, the sample-rate is 44100HZ, the diff should be 2048/44100s=46ms. int nb_samples_per_frame = 0; - int guessNumberOfSamples = diff * srs_flv_srates[format->acodec->sound_rate] / 1000; + int guessNumberOfSamples = diff * srs_flv_srates[format->acodec_->sound_rate_] / 1000; if (guessNumberOfSamples > 0) { if (guessNumberOfSamples < 960) { nb_samples_per_frame = 960; @@ -2085,19 +2085,19 @@ srs_error_t SrsHlsController::write_audio(SrsMediaPacket *shared_audio, SrsForma // Recalc the DTS by the samples of AAC. aac_samples += nb_samples_per_frame; - int64_t dts = 90000 * aac_samples / srs_flv_srates[format->acodec->sound_rate]; + int64_t dts = 90000 * aac_samples / srs_flv_srates[format->acodec_->sound_rate_]; // If directly turn FLV timestamp, overwrite the guessed DTS. // @doc https://github.com/ossrs/srs/issues/1506#issuecomment-562063095 if (hls_dts_directly) { - dts = shared_audio->timestamp * 90; + dts = shared_audio->timestamp_ * 90; } // Refresh the codec ASAP. - if (muxer->latest_acodec() != frame->acodec()->id) { + if (muxer->latest_acodec() != frame->acodec()->id_) { srs_trace("HLS: Switch audio codec %d(%s) to %d(%s)", muxer->latest_acodec(), srs_audio_codec_id2str(muxer->latest_acodec()).c_str(), - frame->acodec()->id, srs_audio_codec_id2str(frame->acodec()->id).c_str()); - muxer->set_latest_acodec(frame->acodec()->id); + frame->acodec()->id_, srs_audio_codec_id2str(frame->acodec()->id_).c_str()); + muxer->set_latest_acodec(frame->acodec()->id_); } // write audio to cache. @@ -2107,7 +2107,7 @@ srs_error_t SrsHlsController::write_audio(SrsMediaPacket *shared_audio, SrsForma // First, update the duration of the segment, as we might reap the segment. The duration should // cover from the first frame to the last frame. - muxer->update_duration(tsmc->audio->dts); + muxer->update_duration(tsmc->audio_->dts_); // reap when current source is pure audio. // it maybe changed when stream info changed, @@ -2115,7 +2115,7 @@ srs_error_t SrsHlsController::write_audio(SrsMediaPacket *shared_audio, SrsForma // pure audio again for audio disabled. // so we reap event when the audio incoming when segment overflow. // we use absolutely overflow of segment to make jwplayer/ffplay happy - if (tsmc->audio && muxer->is_segment_absolutely_overflow()) { + if (tsmc->audio_ && muxer->is_segment_absolutely_overflow()) { if ((err = reap_segment()) != srs_success) { return srs_error_wrap(err, "hls: reap segment"); } @@ -2123,8 +2123,8 @@ srs_error_t SrsHlsController::write_audio(SrsMediaPacket *shared_audio, SrsForma // for pure audio, aggregate some frame to one. // TODO: FIXME: Check whether it's necessary. - if (muxer->pure_audio() && tsmc->audio) { - if (dts - tsmc->audio->start_pts < SRS_CONSTS_HLS_PURE_AUDIO_AGGREGATE) { + if (muxer->pure_audio() && tsmc->audio_) { + if (dts - tsmc->audio_->start_pts_ < SRS_CONSTS_HLS_PURE_AUDIO_AGGREGATE) { return err; } } @@ -2143,14 +2143,14 @@ srs_error_t SrsHlsController::write_audio(SrsMediaPacket *shared_audio, SrsForma srs_error_t SrsHlsController::write_video(SrsMediaPacket *shared_video, SrsFormat *format) { srs_error_t err = srs_success; - SrsParsedVideoPacket *frame = format->video; - int64_t dts = shared_video->timestamp * 90; + SrsParsedVideoPacket *frame = format->video_; + int64_t dts = shared_video->timestamp_ * 90; // Refresh the codec ASAP. - if (muxer->latest_vcodec() != frame->vcodec()->id) { + if (muxer->latest_vcodec() != frame->vcodec()->id_) { srs_trace("HLS: Switch video codec %d(%s) to %d(%s)", muxer->latest_vcodec(), srs_video_codec_id2str(muxer->latest_vcodec()).c_str(), - frame->vcodec()->id, srs_video_codec_id2str(frame->vcodec()->id).c_str()); - muxer->set_latest_vcodec(frame->vcodec()->id); + frame->vcodec()->id_, srs_video_codec_id2str(frame->vcodec()->id_).c_str()); + muxer->set_latest_vcodec(frame->vcodec()->id_); } // write video to cache. @@ -2160,14 +2160,14 @@ srs_error_t SrsHlsController::write_video(SrsMediaPacket *shared_video, SrsForma // First, update the duration of the segment, as we might reap the segment. The duration should // cover from the first frame to the last frame. - muxer->update_duration(tsmc->video->dts); + muxer->update_duration(tsmc->video_->dts_); // when segment overflow, reap if possible. if (muxer->is_segment_overflow()) { // do reap ts if any of: // a. wait keyframe and got keyframe. // b. always reap when not wait keyframe. - if (!muxer->wait_keyframe() || frame->frame_type == SrsVideoAvcFrameTypeKeyFrame) { + if (!muxer->wait_keyframe() || frame->frame_type_ == SrsVideoAvcFrameTypeKeyFrame) { // reap the segment, which will also flush the video. if ((err = reap_segment()) != srs_success) { return srs_error_wrap(err, "hls: reap segment"); @@ -2309,7 +2309,7 @@ srs_error_t SrsHlsMp4Controller::on_unpublish() srs_error_t SrsHlsMp4Controller::write_audio(SrsMediaPacket *shared_audio, SrsFormat *format) { srs_error_t err = srs_success; - SrsParsedAudioPacket *frame = format->audio; + SrsParsedAudioPacket *frame = format->audio_; // Ignore audio sequence header if (format->is_aac_sequence_header() || format->is_mp3_sequence_header()) { @@ -2317,13 +2317,13 @@ srs_error_t SrsHlsMp4Controller::write_audio(SrsMediaPacket *shared_audio, SrsFo } // Refresh the codec ASAP. - if (muxer_->latest_acodec() != frame->acodec()->id) { + if (muxer_->latest_acodec() != frame->acodec()->id_) { srs_trace("HLS: Switch audio codec %d(%s) to %d(%s)", muxer_->latest_acodec(), srs_audio_codec_id2str(muxer_->latest_acodec()).c_str(), - frame->acodec()->id, srs_audio_codec_id2str(frame->acodec()->id).c_str()); - muxer_->set_latest_acodec(frame->acodec()->id); + frame->acodec()->id_, srs_audio_codec_id2str(frame->acodec()->id_).c_str()); + muxer_->set_latest_acodec(frame->acodec()->id_); } - audio_dts_ = shared_audio->timestamp; + audio_dts_ = shared_audio->timestamp_; if ((err = muxer_->write_audio(shared_audio, format)) != srs_success) { return srs_error_wrap(err, "write audio"); @@ -2335,16 +2335,16 @@ srs_error_t SrsHlsMp4Controller::write_audio(SrsMediaPacket *shared_audio, SrsFo srs_error_t SrsHlsMp4Controller::write_video(SrsMediaPacket *shared_video, SrsFormat *format) { srs_error_t err = srs_success; - SrsParsedVideoPacket *frame = format->video; + SrsParsedVideoPacket *frame = format->video_; // Refresh the codec ASAP. - if (muxer_->latest_vcodec() != frame->vcodec()->id) { + if (muxer_->latest_vcodec() != frame->vcodec()->id_) { srs_trace("HLS: Switch video codec %d(%s) to %d(%s)", muxer_->latest_vcodec(), srs_video_codec_id2str(muxer_->latest_vcodec()).c_str(), - frame->vcodec()->id, srs_video_codec_id2str(frame->vcodec()->id).c_str()); - muxer_->set_latest_vcodec(frame->vcodec()->id); + frame->vcodec()->id_, srs_video_codec_id2str(frame->vcodec()->id_).c_str()); + muxer_->set_latest_vcodec(frame->vcodec()->id_); } - video_dts_ = shared_video->timestamp; + video_dts_ = shared_video->timestamp_; if ((err = muxer_->write_video(shared_video, format)) != srs_success) { return srs_error_wrap(err, "write video"); @@ -2366,7 +2366,7 @@ srs_error_t SrsHlsMp4Controller::on_sequence_header(SrsMediaPacket *msg, SrsForm } if (msg->is_audio()) { - if (format->acodec->aac_extra_data.size() == 0) { + if (format->acodec_->aac_extra_data_.size() == 0) { srs_trace("the audio codec's aac extra data is empty"); return err; } @@ -2635,7 +2635,7 @@ srs_error_t SrsHls::on_audio(SrsMediaPacket *shared_audio, SrsFormat *format) // Ignore if no format->acodec, it means the codec is not parsed, or unknown codec. // @issue https://github.com/ossrs/srs/issues/1506#issuecomment-562079474 // TODO: format->acodec is always not-nil, remove this check. - if (!format->acodec) { + if (!format->acodec_) { return err; } @@ -2645,13 +2645,13 @@ srs_error_t SrsHls::on_audio(SrsMediaPacket *shared_audio, SrsFormat *format) SrsUniquePtr audio(shared_audio->copy()); // ts support audio codec: aac/mp3 - SrsAudioCodecId acodec = format->acodec->id; + SrsAudioCodecId acodec = format->acodec_->id_; if (acodec != SrsAudioCodecIdAAC && acodec != SrsAudioCodecIdMP3) { return err; } // ignore sequence header - srs_assert(format->audio); + srs_assert(format->audio_); // TODO: verify mp3 play by HLS. if (format->is_aac_sequence_header() || format->is_mp3_sequence_header()) { return controller->on_sequence_header(audio.get(), format); @@ -2681,7 +2681,7 @@ srs_error_t SrsHls::on_video(SrsMediaPacket *shared_video, SrsFormat *format) // Ignore if no format->vcodec, it means the codec is not parsed, or unknown codec. // @issue https://github.com/ossrs/srs/issues/1506#issuecomment-562079474 - if (!format->vcodec) { + if (!format->vcodec_) { return err; } @@ -2692,13 +2692,13 @@ srs_error_t SrsHls::on_video(SrsMediaPacket *shared_video, SrsFormat *format) // ignore info frame, // @see https://github.com/ossrs/srs/issues/288#issuecomment-69863909 - srs_assert(format->video); - if (format->video->frame_type == SrsVideoAvcFrameTypeVideoInfoFrame) { + srs_assert(format->video_); + if (format->video_->frame_type_ == SrsVideoAvcFrameTypeVideoInfoFrame) { return err; } - srs_assert(format->vcodec); - if (format->vcodec->id != SrsVideoCodecIdAVC && format->vcodec->id != SrsVideoCodecIdHEVC) { + srs_assert(format->vcodec_); + if (format->vcodec_->id_ != SrsVideoCodecIdAVC && format->vcodec_->id_ != SrsVideoCodecIdHEVC) { return err; } diff --git a/trunk/src/app/srs_app_hourglass.cpp b/trunk/src/app/srs_app_hourglass.cpp index 342bb2386..f81d9e68a 100644 --- a/trunk/src/app/srs_app_hourglass.cpp +++ b/trunk/src/app/srs_app_hourglass.cpp @@ -109,7 +109,7 @@ srs_error_t SrsHourGlass::cycle() srs_utime_t interval = it->second; if (interval == 0 || (total_elapse % interval) == 0) { - ++_srs_pps_timer->sugar; + ++_srs_pps_timer->sugar_; if ((err = handler->notify(event, interval, total_elapse)) != srs_success) { return srs_error_wrap(err, "notify"); @@ -179,7 +179,7 @@ srs_error_t SrsFastTimer::cycle() return srs_error_wrap(err, "quit"); } - ++_srs_pps_timer->sugar; + ++_srs_pps_timer->sugar_; for (int i = 0; i < (int)handlers_.size(); i++) { ISrsFastTimer *timer = handlers_.at(i); @@ -219,23 +219,23 @@ srs_error_t SrsClockWallMonitor::on_timer(srs_utime_t interval) clock = now; if (elapsed <= 15 * SRS_UTIME_MILLISECONDS) { - ++_srs_pps_clock_15ms->sugar; + ++_srs_pps_clock_15ms->sugar_; } else if (elapsed <= 21 * SRS_UTIME_MILLISECONDS) { - ++_srs_pps_clock_20ms->sugar; + ++_srs_pps_clock_20ms->sugar_; } else if (elapsed <= 25 * SRS_UTIME_MILLISECONDS) { - ++_srs_pps_clock_25ms->sugar; + ++_srs_pps_clock_25ms->sugar_; } else if (elapsed <= 30 * SRS_UTIME_MILLISECONDS) { - ++_srs_pps_clock_30ms->sugar; + ++_srs_pps_clock_30ms->sugar_; } else if (elapsed <= 35 * SRS_UTIME_MILLISECONDS) { - ++_srs_pps_clock_35ms->sugar; + ++_srs_pps_clock_35ms->sugar_; } else if (elapsed <= 40 * SRS_UTIME_MILLISECONDS) { - ++_srs_pps_clock_40ms->sugar; + ++_srs_pps_clock_40ms->sugar_; } else if (elapsed <= 80 * SRS_UTIME_MILLISECONDS) { - ++_srs_pps_clock_80ms->sugar; + ++_srs_pps_clock_80ms->sugar_; } else if (elapsed <= 160 * SRS_UTIME_MILLISECONDS) { - ++_srs_pps_clock_160ms->sugar; + ++_srs_pps_clock_160ms->sugar_; } else { - ++_srs_pps_timer_s->sugar; + ++_srs_pps_timer_s->sugar_; } return err; diff --git a/trunk/src/app/srs_app_http_stream.cpp b/trunk/src/app/srs_app_http_stream.cpp index 235f9ef1e..80d62300d 100644 --- a/trunk/src/app/srs_app_http_stream.cpp +++ b/trunk/src/app/srs_app_http_stream.cpp @@ -958,11 +958,11 @@ srs_error_t SrsLiveStream::streaming_send_messages(ISrsBufferEncoder *enc, SrsMe SrsMediaPacket *msg = msgs[i]; if (msg->is_audio()) { - err = enc->write_audio(msg->timestamp, msg->payload(), msg->size()); + err = enc->write_audio(msg->timestamp_, msg->payload(), msg->size()); } else if (msg->is_video()) { - err = enc->write_video(msg->timestamp, msg->payload(), msg->size()); + err = enc->write_video(msg->timestamp_, msg->payload(), msg->size()); } else { - err = enc->write_metadata(msg->timestamp, msg->payload(), msg->size()); + err = enc->write_metadata(msg->timestamp_, msg->payload(), msg->size()); } if (err != srs_success) { diff --git a/trunk/src/app/srs_app_listener.cpp b/trunk/src/app/srs_app_listener.cpp index aa27a7214..0291db4f6 100644 --- a/trunk/src/app/srs_app_listener.cpp +++ b/trunk/src/app/srs_app_listener.cpp @@ -463,7 +463,7 @@ int SrsUdpMuxSocket::recvfrom(srs_utime_t timeout) address_changed_ = true; // Update the stat. - ++_srs_pps_rpkts->sugar; + ++_srs_pps_rpkts->sugar_; return nread; } @@ -472,7 +472,7 @@ srs_error_t SrsUdpMuxSocket::sendto(void *data, int size, srs_utime_t timeout) { srs_error_t err = srs_success; - ++_srs_pps_spkts->sugar; + ++_srs_pps_spkts->sugar_; int nb_write = srs_sendto(lfd, data, size, (sockaddr *)&from, fromlen, timeout); @@ -576,7 +576,7 @@ std::string SrsUdpMuxSocket::peer_id() peer_id_ = string(id_buf, len); // Update the stat. - ++_srs_pps_addrs->sugar; + ++_srs_pps_addrs->sugar_; } return peer_id_; @@ -584,7 +584,7 @@ std::string SrsUdpMuxSocket::peer_id() uint64_t SrsUdpMuxSocket::fast_id() { - ++_srs_pps_fast_addrs->sugar; + ++_srs_pps_fast_addrs->sugar_; return fast_id_; } diff --git a/trunk/src/app/srs_app_mpegts_udp.cpp b/trunk/src/app/srs_app_mpegts_udp.cpp index a8460fefe..243012648 100644 --- a/trunk/src/app/srs_app_mpegts_udp.cpp +++ b/trunk/src/app/srs_app_mpegts_udp.cpp @@ -98,15 +98,15 @@ srs_error_t SrsMpegtsQueue::push(SrsMediaPacket *msg) // TODO: FIXME: use right way. for (int i = 0; i < 10; i++) { - if (msgs.find(msg->timestamp) == msgs.end()) { + if (msgs.find(msg->timestamp_) == msgs.end()) { break; } // adjust the ts, add 1ms. - msg->timestamp += 1; + msg->timestamp_ += 1; if (i >= 100) { - srs_warn("mpegts: free the msg for dts exists, dts=%" PRId64, msg->timestamp); + srs_warn("mpegts: free the msg for dts exists, dts=%" PRId64, msg->timestamp_); srs_freep(msg); return err; } @@ -120,7 +120,7 @@ srs_error_t SrsMpegtsQueue::push(SrsMediaPacket *msg) nb_videos++; } - msgs[msg->timestamp] = msg; + msgs[msg->timestamp_] = msg; return err; } @@ -327,8 +327,8 @@ srs_error_t SrsMpegtsOverUdp::on_ts_message(SrsTsMessage *msg) if (pprint->can_print()) { srs_trace("<- " SRS_CONSTS_LOG_STREAM_CASTER " mpegts: got %s age=%d stream=%s, dts=%" PRId64 ", pts=%" PRId64 ", size=%d, us=%d, cc=%d, sid=%#x(%s-%d)", - (msg->channel->apply == SrsTsPidApplyVideo) ? "Video" : "Audio", pprint->age(), srs_ts_stream2string(msg->channel->stream).c_str(), - msg->dts, msg->pts, msg->payload->length(), msg->packet->payload_unit_start_indicator, msg->continuity_counter, msg->sid, + (msg->channel_->apply_ == SrsTsPidApplyVideo) ? "Video" : "Audio", pprint->age(), srs_ts_stream2string(msg->channel_->stream_).c_str(), + msg->dts_, msg->pts_, msg->payload_->length(), msg->packet_->payload_unit_start_indicator_, msg->continuity_counter_, msg->sid_, msg->is_audio() ? "A" : msg->is_video() ? "V" : "N", msg->stream_number()); @@ -336,33 +336,33 @@ srs_error_t SrsMpegtsOverUdp::on_ts_message(SrsTsMessage *msg) // When the audio SID is private stream 1, we use common audio. // @see https://github.com/ossrs/srs/issues/740 - if (msg->channel->apply == SrsTsPidApplyAudio && msg->sid == SrsTsPESStreamIdPrivateStream1) { - msg->sid = SrsTsPESStreamIdAudioCommon; + if (msg->channel_->apply_ == SrsTsPidApplyAudio && msg->sid_ == SrsTsPESStreamIdPrivateStream1) { + msg->sid_ = SrsTsPESStreamIdAudioCommon; } // when not audio/video, or not adts/annexb format, donot support. if (msg->stream_number() != 0) { return srs_error_new(ERROR_STREAM_CASTER_TS_ES, "ts: unsupported stream format, sid=%#x(%s-%d)", - msg->sid, msg->is_audio() ? "A" : msg->is_video() ? "V" - : "N", + msg->sid_, msg->is_audio() ? "A" : msg->is_video() ? "V" + : "N", msg->stream_number()); } // check supported codec - if (msg->channel->stream != SrsTsStreamVideoH264 && msg->channel->stream != SrsTsStreamAudioAAC) { - return srs_error_new(ERROR_STREAM_CASTER_TS_CODEC, "ts: unsupported stream codec=%d", msg->channel->stream); + if (msg->channel_->stream_ != SrsTsStreamVideoH264 && msg->channel_->stream_ != SrsTsStreamAudioAAC) { + return srs_error_new(ERROR_STREAM_CASTER_TS_CODEC, "ts: unsupported stream codec=%d", msg->channel_->stream_); } // parse the stream. - SrsBuffer avs(msg->payload->bytes(), msg->payload->length()); + SrsBuffer avs(msg->payload_->bytes(), msg->payload_->length()); // publish audio or video. - if (msg->channel->stream == SrsTsStreamVideoH264) { + if (msg->channel_->stream_ == SrsTsStreamVideoH264) { if ((err = on_ts_video(msg, &avs)) != srs_success) { return srs_error_wrap(err, "ts: consume video"); } } - if (msg->channel->stream == SrsTsStreamAudioAAC) { + if (msg->channel_->stream_ == SrsTsStreamAudioAAC) { if ((err = on_ts_audio(msg, &avs)) != srs_success) { return srs_error_wrap(err, "ts: consume audio"); } @@ -382,8 +382,8 @@ srs_error_t SrsMpegtsOverUdp::on_ts_video(SrsTsMessage *msg, SrsBuffer *avs) } // ts tbn to flv tbn. - uint32_t dts = (uint32_t)(msg->dts / 90); - uint32_t pts = (uint32_t)(msg->dts / 90); + uint32_t dts = (uint32_t)(msg->dts_ / 90); + uint32_t pts = (uint32_t)(msg->dts_ / 90); // send each frame. while (!avs->empty()) { @@ -540,7 +540,7 @@ srs_error_t SrsMpegtsOverUdp::on_ts_audio(SrsTsMessage *msg, SrsBuffer *avs) } // ts tbn to flv tbn. - uint32_t dts = (uint32_t)(msg->dts / 90); + uint32_t dts = (uint32_t)(msg->dts_ / 90); // send each frame. while (!avs->empty()) { @@ -629,7 +629,7 @@ srs_error_t SrsMpegtsOverUdp::rtmp_write_packet(char type, uint32_t timestamp, c srs_trace("mpegts: send msg %s age=%d, dts=%" PRId64 ", size=%d", msg->is_audio() ? "A" : msg->is_video() ? "V" : "N", - pprint->age(), msg->timestamp, msg->size()); + pprint->age(), msg->timestamp_, msg->size()); } // send out encoded msg. diff --git a/trunk/src/app/srs_app_recv_thread.cpp b/trunk/src/app/srs_app_recv_thread.cpp index 779f2658e..254a85e6e 100644 --- a/trunk/src/app/srs_app_recv_thread.cpp +++ b/trunk/src/app/srs_app_recv_thread.cpp @@ -360,13 +360,13 @@ srs_error_t SrsPublishRecvThread::consume(SrsRtmpCommonMessage *msg) _nb_msgs++; - if (msg->header.is_video()) { + if (msg->header_.is_video()) { video_frames++; } // log to show the time of recv thread. srs_verbose("recv thread now=%" PRId64 "us, got msg time=%" PRId64 "ms, size=%d", - srs_time_now_realtime(), msg->header.timestamp, msg->size); + srs_time_now_realtime(), msg->header_.timestamp, msg->size); // the rtmp connection will handle this message err = _conn->handle_publish_message(source_, msg); diff --git a/trunk/src/app/srs_app_rtc_codec.cpp b/trunk/src/app/srs_app_rtc_codec.cpp index e2fb2a821..792699c5b 100644 --- a/trunk/src/app/srs_app_rtc_codec.cpp +++ b/trunk/src/app/srs_app_rtc_codec.cpp @@ -179,8 +179,8 @@ void SrsAudioTranscoder::free_frames(std::vector &frames for (std::vector::iterator it = frames.begin(); it != frames.end(); ++it) { SrsParsedAudioPacket *p = *it; - for (int i = 0; i < p->nb_samples; i++) { - char *pa = p->samples[i].bytes; + for (int i = 0; i < p->nb_samples_; i++) { + char *pa = p->samples_[i].bytes_; srs_freepa(pa); } @@ -329,8 +329,8 @@ srs_error_t SrsAudioTranscoder::decode_and_resample(SrsParsedAudioPacket *pkt) { srs_error_t err = srs_success; - dec_packet_->data = (uint8_t *)pkt->samples[0].bytes; - dec_packet_->size = pkt->samples[0].size; + dec_packet_->data = (uint8_t *)pkt->samples_[0].bytes_; + dec_packet_->size = pkt->samples_[0].size_; // Ignore empty packet, see https://github.com/ossrs/srs/pull/2757#discussion_r759797651 if (!dec_packet_->data || !dec_packet_->size) { @@ -344,7 +344,7 @@ srs_error_t SrsAudioTranscoder::decode_and_resample(SrsParsedAudioPacket *pkt) av_make_error_string(err_buf, AV_ERROR_MAX_STRING_SIZE, error)); } - new_pkt_pts_ = pkt->dts + pkt->cts; + new_pkt_pts_ = pkt->dts_ + pkt->cts_; while (error >= 0) { error = avcodec_receive_frame(dec_, dec_frame_); if (error == AVERROR(EAGAIN) || error == AVERROR_EOF) { @@ -439,8 +439,8 @@ srs_error_t SrsAudioTranscoder::encode(std::vector &pkts char *buf = new char[enc_packet_->size]; memcpy(buf, enc_packet_->data, enc_packet_->size); out_frame->add_sample(buf, enc_packet_->size); - out_frame->dts = enc_packet_->dts; - out_frame->cts = enc_packet_->pts - enc_packet_->dts; + out_frame->dts_ = enc_packet_->dts; + out_frame->cts_ = enc_packet_->pts - enc_packet_->dts; pkts.push_back(out_frame); } } diff --git a/trunk/src/app/srs_app_rtc_conn.cpp b/trunk/src/app/srs_app_rtc_conn.cpp index aeebff5fd..db9d0953a 100644 --- a/trunk/src/app/srs_app_rtc_conn.cpp +++ b/trunk/src/app/srs_app_rtc_conn.cpp @@ -112,7 +112,7 @@ srs_error_t SrsSecurityTransport::write_dtls_data(void *data, int size) return err; } - ++_srs_pps_sstuns->sugar; + ++_srs_pps_sstuns->sugar_; if ((err = network_->write(data, size, NULL)) != srs_success) { return srs_error_wrap(err, "send dtls packet"); @@ -352,7 +352,7 @@ srs_error_t SrsRtcPLIWorker::cycle() uint32_t ssrc = it->first; SrsContextId cid = it->second; - ++_srs_pps_pli->sugar; + ++_srs_pps_pli->sugar_; if ((err = handler_->do_request_keyframe(ssrc, cid)) != srs_success) { srs_warn("PLI error, %s", srs_error_desc(err).c_str()); @@ -822,7 +822,7 @@ srs_error_t SrsRtcPlayStream::on_rtcp_nack(SrsRtcpNack *rtcp) { srs_error_t err = srs_success; - ++_srs_pps_rnack->sugar; + ++_srs_pps_rnack->sugar_; uint32_t ssrc = rtcp->get_media_ssrc(); @@ -951,14 +951,14 @@ srs_error_t SrsRtcPublishRtcpTimer::on_timer(srs_utime_t interval) // to prevent it from being freed. SrsLocker(&lock_); - ++_srs_pps_pub->sugar; + ++_srs_pps_pub->sugar_; if (!p_->is_started) { return err; } // For RR and RRTR. - ++_srs_pps_rr->sugar; + ++_srs_pps_rr->sugar_; if ((err = p_->send_rtcp_rr()) != srs_success) { srs_warn("RR err %s", srs_error_desc(err).c_str()); @@ -998,7 +998,7 @@ srs_error_t SrsRtcPublishTwccTimer::on_timer(srs_utime_t interval) // to prevent it from being freed. SrsLocker(&lock_); - ++_srs_pps_pub->sugar; + ++_srs_pps_pub->sugar_; if (!p_->is_started) { return err; @@ -1009,11 +1009,11 @@ srs_error_t SrsRtcPublishTwccTimer::on_timer(srs_utime_t interval) return err; } - ++_srs_pps_twcc->sugar; + ++_srs_pps_twcc->sugar_; // If circuit-breaker is dropping packet, disable TWCC. if (_srs_circuit_breaker->hybrid_critical_water_level()) { - ++_srs_pps_snack4->sugar; + ++_srs_pps_snack4->sugar_; return err; } @@ -1445,12 +1445,12 @@ srs_error_t SrsRtcPublishStream::do_on_rtp_plaintext(SrsRtpPacket *&pkt, SrsBuff SrsRtcAudioRecvTrack *audio_track = get_audio_track(ssrc); SrsRtcVideoRecvTrack *video_track = get_video_track(ssrc); if (audio_track) { - pkt->frame_type = SrsFrameTypeAudio; + pkt->frame_type_ = SrsFrameTypeAudio; if ((err = audio_track->on_rtp(source_, pkt)) != srs_success) { return srs_error_wrap(err, "on audio"); } } else if (video_track) { - pkt->frame_type = SrsFrameTypeVideo; + pkt->frame_type_ = SrsFrameTypeVideo; if ((err = video_track->on_rtp(source_, pkt)) != srs_success) { return srs_error_wrap(err, "on video"); } @@ -1460,7 +1460,7 @@ srs_error_t SrsRtcPublishStream::do_on_rtp_plaintext(SrsRtpPacket *&pkt, SrsBuff // If circuit-breaker is enabled, disable nack. if (_srs_circuit_breaker->hybrid_critical_water_level()) { - ++_srs_pps_snack4->sugar; + ++_srs_pps_snack4->sugar_; return err; } @@ -1542,7 +1542,7 @@ srs_error_t SrsRtcPublishStream::send_periodic_twcc() return err; } - ++_srs_pps_srtcps->sugar; + ++_srs_pps_srtcps->sugar_; // limit the max count=1024 to avoid dead loop. for (int i = 0; i < 1024 && rtcp_twcc_.need_feedback(); ++i) { @@ -1772,11 +1772,11 @@ srs_error_t SrsRtcConnectionNackTimer::on_timer(srs_utime_t interval) return err; } - ++_srs_pps_conn->sugar; + ++_srs_pps_conn->sugar_; // If circuit-breaker is enabled, disable nack. if (_srs_circuit_breaker->hybrid_critical_water_level()) { - ++_srs_pps_snack4->sugar; + ++_srs_pps_snack4->sugar_; return err; } @@ -2315,7 +2315,7 @@ srs_error_t SrsRtcConnection::send_rtcp(char *data, int nb_data) { srs_error_t err = srs_success; - ++_srs_pps_srtcps->sugar; + ++_srs_pps_srtcps->sugar_; int nb_buf = nb_data; if ((err = networks_->available()->protect_rtcp(data, &nb_buf)) != srs_success) { @@ -2331,7 +2331,7 @@ srs_error_t SrsRtcConnection::send_rtcp(char *data, int nb_data) void SrsRtcConnection::check_send_nacks(SrsRtpNackForReceiver *nack, uint32_t ssrc, uint32_t &sent_nacks, uint32_t &timeout_nacks) { - ++_srs_pps_snack->sugar; + ++_srs_pps_snack->sugar_; SrsRtcpNack rtcpNack(ssrc); @@ -2342,8 +2342,8 @@ void SrsRtcConnection::check_send_nacks(SrsRtpNackForReceiver *nack, uint32_t ss return; } - ++_srs_pps_snack2->sugar; - ++_srs_pps_srtcps->sugar; + ++_srs_pps_snack2->sugar_; + ++_srs_pps_srtcps->sugar_; char buf[kRtcpPacketSize]; SrsBuffer stream(buf, sizeof(buf)); @@ -2357,7 +2357,7 @@ void SrsRtcConnection::check_send_nacks(SrsRtpNackForReceiver *nack, uint32_t ss srs_error_t SrsRtcConnection::send_rtcp_rr(uint32_t ssrc, SrsRtpRingBuffer *rtp_queue, const uint64_t &last_send_systime, const SrsNtp &last_send_ntp) { - ++_srs_pps_srtcps->sugar; + ++_srs_pps_srtcps->sugar_; // @see https://tools.ietf.org/html/rfc3550#section-6.4.2 char buf[kRtpPacketSize]; @@ -2397,7 +2397,7 @@ srs_error_t SrsRtcConnection::send_rtcp_rr(uint32_t ssrc, SrsRtpRingBuffer *rtp_ srs_error_t SrsRtcConnection::send_rtcp_xr_rrtr(uint32_t ssrc) { - ++_srs_pps_srtcps->sugar; + ++_srs_pps_srtcps->sugar_; /* @see: http://www.rfc-editor.org/rfc/rfc3611.html#section-2 @@ -2444,7 +2444,7 @@ srs_error_t SrsRtcConnection::send_rtcp_xr_rrtr(uint32_t ssrc) srs_error_t SrsRtcConnection::send_rtcp_fb_pli(uint32_t ssrc, const SrsContextId &cid_of_subscriber) { - ++_srs_pps_srtcps->sugar; + ++_srs_pps_srtcps->sugar_; char buf[kRtpPacketSize]; SrsBuffer stream(buf, sizeof(buf)); @@ -2519,7 +2519,7 @@ srs_error_t SrsRtcConnection::do_send_packet(SrsRtpPacket *pkt) return err; } - ++_srs_pps_srtps->sugar; + ++_srs_pps_srtps->sugar_; if ((err = networks_->available()->write(iov->iov_base, iov->iov_len, NULL)) != srs_success) { srs_warn("RTC: Write %d bytes err %s", iov->iov_len, srs_error_desc(err).c_str()); @@ -2562,7 +2562,7 @@ srs_error_t SrsRtcConnection::on_binding_request(SrsStunPacket *r, string &ice_p { srs_error_t err = srs_success; - ++_srs_pps_sstuns->sugar; + ++_srs_pps_sstuns->sugar_; bool strict_check = _srs_config->get_rtc_stun_strict_check(req_->vhost); if (strict_check && r->get_ice_controlled()) { diff --git a/trunk/src/app/srs_app_rtc_queue.cpp b/trunk/src/app/srs_app_rtc_queue.cpp index 5c7b54fbe..d2f64571f 100644 --- a/trunk/src/app/srs_app_rtc_queue.cpp +++ b/trunk/src/app/srs_app_rtc_queue.cpp @@ -217,7 +217,7 @@ void SrsRtpNackForReceiver::insert(uint16_t first, uint16_t last) { // If circuit-breaker is enabled, disable nack. if (_srs_circuit_breaker->hybrid_high_water_level()) { - ++_srs_pps_snack4->sugar; + ++_srs_pps_snack4->sugar_; return; } @@ -255,7 +255,7 @@ void SrsRtpNackForReceiver::get_nack_seqs(SrsRtcpNack &seqs, uint32_t &timeout_n // If circuit-breaker is enabled, disable nack. if (_srs_circuit_breaker->hybrid_high_water_level()) { queue_.clear(); - ++_srs_pps_snack4->sugar; + ++_srs_pps_snack4->sugar_; return; } diff --git a/trunk/src/app/srs_app_rtc_server.cpp b/trunk/src/app/srs_app_rtc_server.cpp index 35ecc4b86..a87d6e90d 100644 --- a/trunk/src/app/srs_app_rtc_server.cpp +++ b/trunk/src/app/srs_app_rtc_server.cpp @@ -538,8 +538,8 @@ void SrsRtcSessionManager::srs_update_rtc_sessions() srs_trace("RTC: Server conns=%u%s%s%s%s%s%s%s", nn_rtc_conns, - stats.rpkts_desc.c_str(), stats.spkts_desc.c_str(), stats.rtcp_desc.c_str(), stats.snk_desc.c_str(), - stats.rnk_desc.c_str(), loss_desc.c_str(), stats.fid_desc.c_str()); + stats.rpkts_desc_.c_str(), stats.spkts_desc_.c_str(), stats.rtcp_desc_.c_str(), stats.snk_desc_.c_str(), + stats.rnk_desc_.c_str(), loss_desc.c_str(), stats.fid_desc_.c_str()); } srs_error_t SrsRtcSessionManager::exec_rtc_async_work(ISrsAsyncCallTask *t) @@ -574,7 +574,7 @@ srs_error_t SrsRtcSessionManager::on_udp_packet(SrsUdpMuxSocket *skt) // For STUN, the peer address may change. if (!is_rtp_or_rtcp && srs_is_stun((uint8_t *)data, size)) { - ++_srs_pps_rstuns->sugar; + ++_srs_pps_rstuns->sugar_; string peer_id = skt->peer_id(); // TODO: FIXME: Should support ICE renomination, to switch network between candidates. @@ -614,7 +614,7 @@ srs_error_t SrsRtcSessionManager::on_udp_packet(SrsUdpMuxSocket *skt) // Note that we don't(except error) switch to the context of session, for performance issue. if (is_rtp_or_rtcp && !is_rtcp) { - ++_srs_pps_rrtps->sugar; + ++_srs_pps_rrtps->sugar_; err = session->udp()->on_rtp(data, size); if (err != srs_success) { @@ -625,12 +625,12 @@ srs_error_t SrsRtcSessionManager::on_udp_packet(SrsUdpMuxSocket *skt) session->switch_to_context(); if (is_rtp_or_rtcp && is_rtcp) { - ++_srs_pps_rrtcps->sugar; + ++_srs_pps_rrtcps->sugar_; return session->udp()->on_rtcp(data, size); } if (srs_is_dtls((uint8_t *)data, size)) { - ++_srs_pps_rstuns->sugar; + ++_srs_pps_rstuns->sugar_; return session->udp()->on_dtls(data, size); } diff --git a/trunk/src/app/srs_app_rtc_source.cpp b/trunk/src/app/srs_app_rtc_source.cpp index b44e79217..ed6418703 100644 --- a/trunk/src/app/srs_app_rtc_source.cpp +++ b/trunk/src/app/srs_app_rtc_source.cpp @@ -77,29 +77,29 @@ srs_error_t aac_raw_append_adts_header(SrsMediaPacket *shared_audio, SrsFormat * } // If no audio RAW frame, or not parsed for no sequence header, drop the packet. - if (format->audio->nb_samples == 0) { + if (format->audio_->nb_samples_ == 0) { srs_warn("RTC: Drop AAC %d bytes for no sample", shared_audio->size()); return err; } - if (format->audio->nb_samples != 1) { - return srs_error_new(ERROR_RTC_RTP_MUXER, "adts samples=%d", format->audio->nb_samples); + if (format->audio_->nb_samples_ != 1) { + return srs_error_new(ERROR_RTC_RTP_MUXER, "adts samples=%d", format->audio_->nb_samples_); } - int nb_buf = format->audio->samples[0].size + 7; + int nb_buf = format->audio_->samples_[0].size_ + 7; char *buf = new char[nb_buf]; SrsBuffer stream(buf, nb_buf); // TODO: Add comment. stream.write_1bytes(0xFF); stream.write_1bytes(0xF9); - stream.write_1bytes(((format->acodec->aac_object - 1) << 6) | ((format->acodec->aac_sample_rate & 0x0F) << 2) | ((format->acodec->aac_channels & 0x04) >> 2)); - stream.write_1bytes(((format->acodec->aac_channels & 0x03) << 6) | ((nb_buf >> 11) & 0x03)); + stream.write_1bytes(((format->acodec_->aac_object_ - 1) << 6) | ((format->acodec_->aac_sample_rate_ & 0x0F) << 2) | ((format->acodec_->aac_channels_ & 0x04) >> 2)); + stream.write_1bytes(((format->acodec_->aac_channels_ & 0x03) << 6) | ((nb_buf >> 11) & 0x03)); stream.write_1bytes((nb_buf >> 3) & 0xFF); stream.write_1bytes(((nb_buf & 0x07) << 5) | 0x1F); stream.write_1bytes(0xFC); - stream.write_bytes(format->audio->samples[0].bytes, format->audio->samples[0].size); + stream.write_bytes(format->audio_->samples_[0].bytes_, format->audio_->samples_[0].size_); *pbuf = buf; *pnn_buf = nb_buf; @@ -778,7 +778,7 @@ srs_error_t SrsRtcSource::on_rtp(SrsRtpPacket *pkt) // If circuit-breaker is dying, drop packet. if (_srs_circuit_breaker->hybrid_dying_water_level()) { - _srs_pps_aloss2->sugar += (int64_t)consumers.size(); + _srs_pps_aloss2->sugar_ += (int64_t)consumers.size(); return err; } @@ -975,7 +975,7 @@ 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); @@ -1025,18 +1025,18 @@ srs_error_t SrsRtcRtpBuilder::on_audio(SrsMediaPacket *msg) } // Try to init codec when startup or codec changed. - if (format->acodec && (err = init_codec(format->acodec->id)) != srs_success) { + if (format->acodec_ && (err = init_codec(format->acodec_->id_)) != srs_success) { return srs_error_wrap(err, "init codec"); } // Ignore if no format->acodec, it means the codec is not parsed, or unknown codec. // @issue https://github.com/ossrs/srs/issues/1506#issuecomment-562079474 - if (!format->acodec) { + if (!format->acodec_) { return err; } // support audio codec: aac/mp3 - SrsAudioCodecId acodec = format->acodec->id; + SrsAudioCodecId acodec = format->acodec_->id_; if (acodec != SrsAudioCodecIdAAC && acodec != SrsAudioCodecIdMP3) { return err; } @@ -1050,10 +1050,10 @@ srs_error_t SrsRtcRtpBuilder::on_audio(SrsMediaPacket *msg) } // ignore sequence header - srs_assert(format->audio); + srs_assert(format->audio_); - if (format->acodec->id == SrsAudioCodecIdMP3) { - return transcode(format->audio); + if (format->acodec_->id_ == SrsAudioCodecIdMP3) { + return transcode(format->audio_); } // When drop aac audio packet, never transcode. @@ -1073,8 +1073,8 @@ srs_error_t SrsRtcRtpBuilder::on_audio(SrsMediaPacket *msg) } SrsParsedAudioPacket aac; - aac.dts = format->audio->dts; - aac.cts = format->audio->cts; + aac.dts_ = format->audio_->dts_; + aac.cts_ = format->audio_->cts_; if ((err = aac.add_sample(adts_audio, nn_adts_audio)) == srs_success) { // If OK, transcode the AAC to Opus and consume it. err = transcode(&aac); @@ -1155,17 +1155,17 @@ srs_error_t SrsRtcRtpBuilder::package_opus(SrsParsedAudioPacket *audio, SrsRtpPa pkt->header.set_payload_type(audio_payload_type_); pkt->header.set_ssrc(audio_ssrc_); - pkt->frame_type = SrsFrameTypeAudio; + pkt->frame_type_ = SrsFrameTypeAudio; pkt->header.set_marker(true); pkt->header.set_sequence(audio_sequence++); - pkt->header.set_timestamp(audio->dts * 48); + pkt->header.set_timestamp(audio->dts_ * 48); SrsRtpRawPayload *raw = new SrsRtpRawPayload(); pkt->set_payload(raw, SrsRtpPacketPayloadTypeRaw); - srs_assert(audio->nb_samples == 1); - raw->payload = pkt->wrap(audio->samples[0].bytes, audio->samples[0].size); - raw->nn_payload = audio->samples[0].size; + srs_assert(audio->nb_samples_ == 1); + raw->payload_ = pkt->wrap(audio->samples_[0].bytes_, audio->samples_[0].size_); + raw->nn_payload_ = audio->samples_[0].size_; return err; } @@ -1197,12 +1197,12 @@ srs_error_t SrsRtcRtpBuilder::on_video(SrsMediaPacket *msg) // Ignore if no format->vcodec, it means the codec is not parsed, or unsupport/unknown codec // such as H.263 codec - if (!format->vcodec) { + if (!format->vcodec_) { return err; } // support video codec: h264/h265 - SrsVideoCodecId vcodec = format->vcodec->id; + SrsVideoCodecId vcodec = format->vcodec_->id_; if (vcodec != SrsVideoCodecIdAVC && vcodec != SrsVideoCodecIdHEVC) { return err; } @@ -1249,7 +1249,7 @@ srs_error_t SrsRtcRtpBuilder::on_video(SrsMediaPacket *msg) for (int i = 0; i < nn_samples; i++) { SrsNaluSample *sample = samples[i]; - if (sample->size <= kRtpMaxPayloadSize) { + if (sample->size_ <= kRtpMaxPayloadSize) { if ((err = package_single_nalu(msg, sample, pkts)) != srs_success) { return srs_error_wrap(err, "package single nalu"); } @@ -1273,15 +1273,15 @@ srs_error_t SrsRtcRtpBuilder::filter(SrsMediaPacket *msg, SrsFormat *format, boo srs_error_t err = srs_success; // If IDR, we will insert SPS/PPS before IDR frame. - if (format->video && format->video->has_idr) { + if (format->video_ && format->video_->has_idr_) { has_idr = true; } // Update samples to shared frame. - for (int i = 0; i < format->video->nb_samples; ++i) { - SrsNaluSample *sample = &format->video->samples[i]; + for (int i = 0; i < format->video_->nb_samples_; ++i) { + SrsNaluSample *sample = &format->video_->samples_[i]; - if (!keep_avc_nalu_sei && format->vcodec->id == SrsVideoCodecIdAVC) { + if (!keep_avc_nalu_sei && format->vcodec_->id_ == SrsVideoCodecIdAVC) { SrsAvcNaluType avc_nalu_type; if ((err = SrsParsedVideoPacket::parse_avc_nalu_type(sample, avc_nalu_type)) != srs_success) { @@ -1297,11 +1297,11 @@ srs_error_t SrsRtcRtpBuilder::filter(SrsMediaPacket *msg, SrsFormat *format, boo // TODO: Drop B-frame in better way, which not cause picture corruption. if (!keep_bframe) { bool is_b_frame = false; - if (format->vcodec->id == SrsVideoCodecIdAVC) { + if (format->vcodec_->id_ == SrsVideoCodecIdAVC) { if ((err = SrsParsedVideoPacket::parse_avc_bframe(sample, is_b_frame)) != srs_success) { return srs_error_wrap(err, "parse bframe"); } - } else if (format->vcodec->id == SrsVideoCodecIdHEVC) { + } else if (format->vcodec_->id_ == SrsVideoCodecIdHEVC) { if ((err = SrsParsedVideoPacket::parse_hevc_bframe(sample, format, is_b_frame)) != srs_success) { return srs_error_wrap(err, "parse bframe"); } @@ -1322,7 +1322,7 @@ srs_error_t SrsRtcRtpBuilder::package_stap_a(SrsMediaPacket *msg, SrsRtpPacket * srs_error_t err = srs_success; SrsFormat *format = meta->vsh_format(); - if (!format || !format->vcodec) { + if (!format || !format->vcodec_) { return err; } @@ -1334,7 +1334,7 @@ srs_error_t SrsRtcRtpBuilder::package_nalus(SrsMediaPacket *msg, const vectorvsh_format(); - if (!format || !format->vcodec) { + if (!format || !format->vcodec_) { return err; } @@ -1352,7 +1352,7 @@ srs_error_t SrsRtcRtpBuilder::package_fu_a(SrsMediaPacket *msg, SrsNaluSample *s srs_error_t err = srs_success; SrsFormat *format = meta->vsh_format(); - if (!format || !format->vcodec) { + if (!format || !format->vcodec_) { return err; } @@ -1514,11 +1514,11 @@ bool SrsRtcFrameBuilderVideoPacketCache::check_frame_complete(const uint16_t sta if (!fua_payload) continue; - if (fua_payload->start) { + if (fua_payload->start_) { ++nn_fu_start; } - if (fua_payload->end) { + if (fua_payload->end_) { ++nn_fu_end; } } @@ -1882,9 +1882,9 @@ srs_error_t SrsRtcFrameBuilder::transcode_audio(SrsRtpPacket *pkt) SrsRtpRawPayload *payload = dynamic_cast(pkt->payload()); SrsParsedAudioPacket frame; - frame.add_sample(payload->payload, payload->nn_payload); - frame.dts = ts; - frame.cts = 0; + frame.add_sample(payload->payload_, payload->nn_payload_); + frame.dts_ = ts; + frame.cts_ = 0; err = audio_transcoder_->transcode(&frame, out_pkts); if (err != srs_success) { @@ -1894,8 +1894,8 @@ srs_error_t SrsRtcFrameBuilder::transcode_audio(SrsRtpPacket *pkt) for (std::vector::iterator it = out_pkts.begin(); it != out_pkts.end(); ++it) { SrsRtmpCommonMessage out_rtmp; // TODO: FIXME: Should never directly use it, please define a variable with class name. - out_rtmp.header.timestamp = (*it)->dts; - packet_aac(&out_rtmp, (*it)->samples[0].bytes, (*it)->samples[0].size, ts, is_first_audio_); + out_rtmp.header_.timestamp_ = (*it)->dts_; + packet_aac(&out_rtmp, (*it)->samples_[0].bytes_, (*it)->samples_[0].size_, ts, is_first_audio_); SrsMediaPacket msg; out_rtmp.to_msg(&msg); @@ -1913,7 +1913,7 @@ srs_error_t SrsRtcFrameBuilder::transcode_audio(SrsRtpPacket *pkt) void SrsRtcFrameBuilder::packet_aac(SrsRtmpCommonMessage *audio, char *data, int len, uint32_t pts, bool is_header) { int rtmp_len = len + 2; - audio->header.initialize_audio(rtmp_len, pts, 1); + audio->header_.initialize_audio(rtmp_len, pts, 1); audio->create_payload(rtmp_len); SrsBuffer stream(audio->payload(), rtmp_len); uint8_t aac_flag = (SrsAudioCodecIdAAC << 4) | (SrsAudioSampleRate44100 << 2) | (SrsAudioSampleBits16bit << 1) | SrsAudioChannelsStereo; @@ -1998,11 +1998,11 @@ srs_error_t SrsRtcFrameBuilder::packet_sequence_header_avc(SrsRtpPacket *pkt) bool has_sps_pps_in_raw_payload = false; SrsRtpRawPayload *raw_payload = dynamic_cast(pkt->payload()); if (raw_payload) { - if (pkt->nalu_type == SrsAvcNaluTypeSPS) { + if (pkt->nalu_type_ == SrsAvcNaluTypeSPS) { has_sps_pps_in_raw_payload = true; srs_freep(obs_whip_sps_); obs_whip_sps_ = pkt->copy(); - } else if (pkt->nalu_type == SrsAvcNaluTypePPS) { + } else if (pkt->nalu_type_ == SrsAvcNaluTypePPS) { has_sps_pps_in_raw_payload = true; srs_freep(obs_whip_pps_); obs_whip_pps_ = pkt->copy(); @@ -2052,8 +2052,8 @@ srs_error_t SrsRtcFrameBuilder::do_packet_sequence_header_avc(SrsRtpPacket *pkt, std::string sh; SrsUniquePtr avc(new SrsRawH264Stream()); - string sps2 = string(sps->bytes, sps->size); - string pps2 = string(pps->bytes, pps->size); + string sps2 = string(sps->bytes_, sps->size_); + string pps2 = string(pps->bytes_, pps->size_); if ((err = avc->mux_sequence_header(sps2, pps2, sh)) != srs_success) { return srs_error_wrap(err, "mux sequence header"); } @@ -2093,15 +2093,15 @@ srs_error_t SrsRtcFrameBuilder::packet_sequence_header_hevc(SrsRtpPacket *pkt) bool has_vps_sps_pps_in_raw_payload = false; SrsRtpRawPayload *raw_payload = dynamic_cast(pkt->payload()); if (raw_payload) { - if (pkt->nalu_type == SrsHevcNaluType_VPS) { + if (pkt->nalu_type_ == SrsHevcNaluType_VPS) { has_vps_sps_pps_in_raw_payload = true; srs_freep(obs_whip_vps_); obs_whip_vps_ = pkt->copy(); - } else if (pkt->nalu_type == SrsHevcNaluType_SPS) { + } else if (pkt->nalu_type_ == SrsHevcNaluType_SPS) { has_vps_sps_pps_in_raw_payload = true; srs_freep(obs_whip_sps_); obs_whip_sps_ = pkt->copy(); - } else if (pkt->nalu_type == SrsHevcNaluType_PPS) { + } else if (pkt->nalu_type_ == SrsHevcNaluType_PPS) { has_vps_sps_pps_in_raw_payload = true; srs_freep(obs_whip_pps_); obs_whip_pps_ = pkt->copy(); @@ -2150,10 +2150,10 @@ srs_error_t SrsRtcFrameBuilder::do_packet_sequence_header_hevc(SrsRtpPacket *pkt SrsUniquePtr hevc(new SrsRawHEVCStream()); std::vector h265_pps; - h265_pps.push_back(string(pps->bytes, pps->size)); + h265_pps.push_back(string(pps->bytes_, pps->size_)); std::string sh; - if ((err = hevc->mux_sequence_header(string(vps->bytes, vps->size), string(sps->bytes, sps->size), h265_pps, sh)) != srs_success) { + if ((err = hevc->mux_sequence_header(string(vps->bytes_, vps->size_), string(sps->bytes_, sps->size_), h265_pps, sh)) != srs_success) { return srs_error_wrap(err, "mux sequence header"); } @@ -2189,9 +2189,9 @@ int SrsRtcFrameBuilder::calculate_packet_payload_size(SrsRtpPacket *pkt) // H.264 FU-A payload SrsRtpFUAPayload2 *fua_payload = dynamic_cast(pkt->payload()); - if (fua_payload && fua_payload->size > 0) { - int size = fua_payload->size; - if (fua_payload->start) { + if (fua_payload && fua_payload->size_ > 0) { + int size = fua_payload->size_; + if (fua_payload->start_) { size += 1 + 4; // NALU header + length prefix } return size; @@ -2201,10 +2201,10 @@ int SrsRtcFrameBuilder::calculate_packet_payload_size(SrsRtpPacket *pkt) SrsRtpSTAPPayload *stap_payload = dynamic_cast(pkt->payload()); if (stap_payload) { int size = 0; - for (int j = 0; j < (int)stap_payload->nalus.size(); ++j) { - SrsNaluSample *sample = stap_payload->nalus.at(j); - if (sample->size > 0) { - size += 4 + sample->size; // length prefix + NALU + for (int j = 0; j < (int)stap_payload->nalus_.size(); ++j) { + SrsNaluSample *sample = stap_payload->nalus_.at(j); + if (sample->size_ > 0) { + size += 4 + sample->size_; // length prefix + NALU } } return size; @@ -2212,9 +2212,9 @@ int SrsRtcFrameBuilder::calculate_packet_payload_size(SrsRtpPacket *pkt) // H.265 FU-A payload SrsRtpFUAPayloadHevc2 *fua_payload_hevc = dynamic_cast(pkt->payload()); - if (fua_payload_hevc && fua_payload_hevc->size > 0) { - int size = fua_payload_hevc->size; - if (fua_payload_hevc->start) { + if (fua_payload_hevc && fua_payload_hevc->size_ > 0) { + int size = fua_payload_hevc->size_; + if (fua_payload_hevc->start_) { size += 2 + 4; // HEVC NALU header + length prefix } return size; @@ -2224,10 +2224,10 @@ int SrsRtcFrameBuilder::calculate_packet_payload_size(SrsRtpPacket *pkt) SrsRtpSTAPPayloadHevc *stap_payload_hevc = dynamic_cast(pkt->payload()); if (stap_payload_hevc) { int size = 0; - for (int j = 0; j < (int)stap_payload_hevc->nalus.size(); ++j) { - SrsNaluSample *sample = stap_payload_hevc->nalus.at(j); - if (sample->size > 0) { - size += 4 + sample->size; // length prefix + NALU + for (int j = 0; j < (int)stap_payload_hevc->nalus_.size(); ++j) { + SrsNaluSample *sample = stap_payload_hevc->nalus_.at(j); + if (sample->size_ > 0) { + size += 4 + sample->size_; // length prefix + NALU } } return size; @@ -2235,8 +2235,8 @@ int SrsRtcFrameBuilder::calculate_packet_payload_size(SrsRtpPacket *pkt) // Raw payload SrsRtpRawPayload *raw_payload = dynamic_cast(pkt->payload()); - if (raw_payload && raw_payload->nn_payload > 0) { - return 4 + raw_payload->nn_payload; // length prefix + payload + if (raw_payload && raw_payload->nn_payload_ > 0) { + return 4 + raw_payload->nn_payload_; // length prefix + payload } return 0; @@ -2250,16 +2250,16 @@ void SrsRtcFrameBuilder::write_packet_payload_to_buffer(SrsRtpPacket *pkt, SrsBu // H.264 FU-A payload SrsRtpFUAPayload2 *fua_payload = dynamic_cast(pkt->payload()); - if (fua_payload && fua_payload->size > 0) { - if (fua_payload->start) { - nalu_len = fua_payload->size + 1; + if (fua_payload && fua_payload->size_ > 0) { + if (fua_payload->start_) { + nalu_len = fua_payload->size_ + 1; payload.skip(4); // Skip 4 bytes to write nalu_len later - payload.write_1bytes(fua_payload->nri | fua_payload->nalu_type); - payload.write_bytes(fua_payload->payload, fua_payload->size); + payload.write_1bytes(fua_payload->nri_ | fua_payload->nalu_type_); + payload.write_bytes(fua_payload->payload_, fua_payload->size_); } else { - nalu_len += fua_payload->size; - payload.write_bytes(fua_payload->payload, fua_payload->size); - if (fua_payload->end) { + nalu_len += fua_payload->size_; + payload.write_bytes(fua_payload->payload_, fua_payload->size_); + if (fua_payload->end_) { // Write nalu_len back payload.skip(-(4 + nalu_len)); payload.write_4bytes(nalu_len); @@ -2272,11 +2272,11 @@ void SrsRtcFrameBuilder::write_packet_payload_to_buffer(SrsRtpPacket *pkt, SrsBu // H.264 STAP-A payload SrsRtpSTAPPayload *stap_payload = dynamic_cast(pkt->payload()); if (stap_payload) { - for (int j = 0; j < (int)stap_payload->nalus.size(); ++j) { - SrsNaluSample *sample = stap_payload->nalus.at(j); - if (sample->size > 0) { - payload.write_4bytes(sample->size); - payload.write_bytes(sample->bytes, sample->size); + for (int j = 0; j < (int)stap_payload->nalus_.size(); ++j) { + SrsNaluSample *sample = stap_payload->nalus_.at(j); + if (sample->size_ > 0) { + payload.write_4bytes(sample->size_); + payload.write_bytes(sample->bytes_, sample->size_); } } return; @@ -2284,17 +2284,17 @@ void SrsRtcFrameBuilder::write_packet_payload_to_buffer(SrsRtpPacket *pkt, SrsBu // H.265 FU-A payload SrsRtpFUAPayloadHevc2 *fua_payload_hevc = dynamic_cast(pkt->payload()); - if (fua_payload_hevc && fua_payload_hevc->size > 0) { - if (fua_payload_hevc->start) { - nalu_len = fua_payload_hevc->size + 2; + if (fua_payload_hevc && fua_payload_hevc->size_ > 0) { + if (fua_payload_hevc->start_) { + nalu_len = fua_payload_hevc->size_ + 2; payload.skip(4); // Skip 4 bytes to write nalu_len later - payload.write_1bytes(fua_payload_hevc->nalu_type << 1); + payload.write_1bytes(fua_payload_hevc->nalu_type_ << 1); payload.write_1bytes(0x01); - payload.write_bytes(fua_payload_hevc->payload, fua_payload_hevc->size); + payload.write_bytes(fua_payload_hevc->payload_, fua_payload_hevc->size_); } else { - nalu_len += fua_payload_hevc->size; - payload.write_bytes(fua_payload_hevc->payload, fua_payload_hevc->size); - if (fua_payload_hevc->end) { + nalu_len += fua_payload_hevc->size_; + payload.write_bytes(fua_payload_hevc->payload_, fua_payload_hevc->size_); + if (fua_payload_hevc->end_) { // Write nalu_len back payload.skip(-(4 + nalu_len)); payload.write_4bytes(nalu_len); @@ -2307,11 +2307,11 @@ void SrsRtcFrameBuilder::write_packet_payload_to_buffer(SrsRtpPacket *pkt, SrsBu // H.265 STAP payload SrsRtpSTAPPayloadHevc *stap_payload_hevc = dynamic_cast(pkt->payload()); if (stap_payload_hevc) { - for (int j = 0; j < (int)stap_payload_hevc->nalus.size(); ++j) { - SrsNaluSample *sample = stap_payload_hevc->nalus.at(j); - if (sample->size > 0) { - payload.write_4bytes(sample->size); - payload.write_bytes(sample->bytes, sample->size); + for (int j = 0; j < (int)stap_payload_hevc->nalus_.size(); ++j) { + SrsNaluSample *sample = stap_payload_hevc->nalus_.at(j); + if (sample->size_ > 0) { + payload.write_4bytes(sample->size_); + payload.write_bytes(sample->bytes_, sample->size_); } } return; @@ -2319,9 +2319,9 @@ void SrsRtcFrameBuilder::write_packet_payload_to_buffer(SrsRtpPacket *pkt, SrsBu // Raw payload SrsRtpRawPayload *raw_payload = dynamic_cast(pkt->payload()); - if (raw_payload && raw_payload->nn_payload > 0) { - payload.write_4bytes(raw_payload->nn_payload); - payload.write_bytes(raw_payload->payload, raw_payload->nn_payload); + if (raw_payload && raw_payload->nn_payload_ > 0) { + payload.write_4bytes(raw_payload->nn_payload_); + payload.write_bytes(raw_payload->payload_, raw_payload->nn_payload_); return; } } @@ -2395,7 +2395,7 @@ srs_error_t SrsRtcFrameBuilder::packet_video_rtmp(const uint16_t start, const ui } SrsRtmpCommonMessage rtmp; - rtmp.header.initialize_video(nb_payload, pkt->get_avsync_time(), 1); + rtmp.header_.initialize_video(nb_payload, pkt->get_avsync_time(), 1); rtmp.create_payload(nb_payload); SrsBuffer payload(rtmp.payload(), rtmp.size()); if (video_codec_ == SrsVideoCodecIdHEVC) { @@ -3250,7 +3250,7 @@ srs_error_t SrsRtcAudioRecvTrack::check_send_nacks() { srs_error_t err = srs_success; - ++_srs_pps_sanack->sugar; + ++_srs_pps_sanack->sugar_; uint32_t timeout_nacks = 0; if ((err = do_check_send_nacks(timeout_nacks)) != srs_success) { @@ -3279,7 +3279,7 @@ void SrsRtcVideoRecvTrack::on_before_decode_payload(SrsRtpPacket *pkt, SrsBuffer SrsVideoCodecId codec = (SrsVideoCodecId)track_desc_->media_->codec(true); if (codec == SrsVideoCodecIdAVC) { uint8_t v = SrsAvcNaluTypeParse(buf->head()[0]); - pkt->nalu_type = v; + pkt->nalu_type_ = v; if (v == kStapA) { *ppayload = new SrsRtpSTAPPayload(); @@ -3293,7 +3293,7 @@ void SrsRtcVideoRecvTrack::on_before_decode_payload(SrsRtpPacket *pkt, SrsBuffer } } else if (codec == SrsVideoCodecIdHEVC) { uint8_t v = SrsHevcNaluTypeParse(buf->head()[0]); - pkt->nalu_type = v; + pkt->nalu_type_ = v; if (v == kStapHevc) { *ppayload = new SrsRtpSTAPPayloadHevc(); @@ -3329,7 +3329,7 @@ srs_error_t SrsRtcVideoRecvTrack::check_send_nacks() { srs_error_t err = srs_success; - ++_srs_pps_svnack->sugar; + ++_srs_pps_svnack->sugar_; uint32_t timeout_nacks = 0; if ((err = do_check_send_nacks(timeout_nacks)) != srs_success) { @@ -3422,10 +3422,10 @@ SrsRtpPacket *SrsRtcSendTrack::fetch_rtp_packet(uint16_t seq) // For NACK, it sequence must match exactly, or it cause SRTP fail. // Return packet only when sequence is equal. if (pkt->header.get_sequence() == seq) { - ++_srs_pps_rhnack->sugar; + ++_srs_pps_rhnack->sugar_; return pkt; } - ++_srs_pps_rmnack->sugar; + ++_srs_pps_rmnack->sugar_; // Ignore if sequence not match. uint32_t nn = 0; @@ -3490,7 +3490,7 @@ srs_error_t SrsRtcSendTrack::on_recv_nack(const vector &lost_seqs) { srs_error_t err = srs_success; - ++_srs_pps_rnack2->sugar; + ++_srs_pps_rnack2->sugar_; for (int i = 0; i < (int)lost_seqs.size(); ++i) { uint16_t seq = lost_seqs.at(i); diff --git a/trunk/src/app/srs_app_rtmp_conn.cpp b/trunk/src/app/srs_app_rtmp_conn.cpp index dfd5a59b2..24dd9dad5 100644 --- a/trunk/src/app/srs_app_rtmp_conn.cpp +++ b/trunk/src/app/srs_app_rtmp_conn.cpp @@ -829,11 +829,11 @@ srs_error_t SrsRtmpConn::do_playing(SrsSharedPtr source, SrsLiveC // foreach msg, collect the duration. // @remark: never use msg when sent it, for the protocol sdk will free it. - if (starttime < 0 || starttime > msg->timestamp) { - starttime = msg->timestamp; + if (starttime < 0 || starttime > msg->timestamp_) { + starttime = msg->timestamp_; } - duration += (msg->timestamp - starttime) * SRS_UTIME_MILLISECONDS; - starttime = msg->timestamp; + duration += (msg->timestamp_ - starttime) * SRS_UTIME_MILLISECONDS; + starttime = msg->timestamp_; } } @@ -1108,7 +1108,7 @@ srs_error_t SrsRtmpConn::handle_publish_message(SrsSharedPtr &sou srs_error_t err = srs_success; // process publish event. - if (msg->header.is_amf0_command() || msg->header.is_amf3_command()) { + if (msg->header_.is_amf0_command() || msg->header_.is_amf3_command()) { SrsRtmpCommand *pkt_raw = NULL; if ((err = rtmp->decode_message(msg, &pkt_raw)) != srs_success) { return srs_error_wrap(err, "rtmp: decode message"); @@ -1157,14 +1157,14 @@ srs_error_t SrsRtmpConn::process_publish_message(SrsSharedPtr &so } // process audio packet - if (msg->header.is_audio()) { + if (msg->header_.is_audio()) { if ((err = source->on_audio(msg)) != srs_success) { return srs_error_wrap(err, "rtmp: consume audio"); } return err; } // process video packet - if (msg->header.is_video()) { + if (msg->header_.is_video()) { if ((err = source->on_video(msg)) != srs_success) { return srs_error_wrap(err, "rtmp: consume video"); } @@ -1172,7 +1172,7 @@ srs_error_t SrsRtmpConn::process_publish_message(SrsSharedPtr &so } // process aggregate packet - if (msg->header.is_aggregate()) { + if (msg->header_.is_aggregate()) { if ((err = source->on_aggregate(msg)) != srs_success) { return srs_error_wrap(err, "rtmp: consume aggregate"); } @@ -1180,7 +1180,7 @@ srs_error_t SrsRtmpConn::process_publish_message(SrsSharedPtr &so } // process onMetaData - if (msg->header.is_amf0_data() || msg->header.is_amf3_data()) { + if (msg->header_.is_amf0_data() || msg->header_.is_amf3_data()) { SrsRtmpCommand *pkt_raw = NULL; if ((err = rtmp->decode_message(msg, &pkt_raw)) != srs_success) { return srs_error_wrap(err, "rtmp: decode message"); @@ -1209,7 +1209,7 @@ srs_error_t SrsRtmpConn::process_play_control_msg(SrsLiveConsumer *consumer, Srs } SrsUniquePtr msg(msg_raw); - if (!msg->header.is_amf0_command() && !msg->header.is_amf3_command()) { + if (!msg->header_.is_amf0_command() && !msg->header_.is_amf3_command()) { return err; } diff --git a/trunk/src/app/srs_app_rtsp_source.cpp b/trunk/src/app/srs_app_rtsp_source.cpp index 21eb188ae..0009837fc 100644 --- a/trunk/src/app/srs_app_rtsp_source.cpp +++ b/trunk/src/app/srs_app_rtsp_source.cpp @@ -467,7 +467,7 @@ srs_error_t SrsRtspSource::on_rtp(SrsRtpPacket *pkt) // If circuit-breaker is dying, drop packet. if (_srs_circuit_breaker->hybrid_dying_water_level()) { - _srs_pps_aloss2->sugar += (int64_t)consumers.size(); + _srs_pps_aloss2->sugar_ += (int64_t)consumers.size(); return err; } @@ -548,18 +548,18 @@ srs_error_t SrsRtspRtpBuilder::initialize_audio_track(SrsAudioCodecId codec) audio_ssrc_ = SrsRtcSSRCGenerator::instance()->generate_ssrc(); audio_desc->ssrc_ = audio_ssrc_; - int sample_rate = srs_flv_srates[format->acodec->sound_rate]; + int sample_rate = srs_flv_srates[format->acodec_->sound_rate_]; audio_sample_rate_ = sample_rate; // Build payload from actual audio format if (codec == SrsAudioCodecIdOpus) { // For Opus, use actual format parameters if available - int channels = (format->acodec->sound_type == SrsAudioChannelsStereo) ? 2 : 1; + int channels = (format->acodec_->sound_type_ == SrsAudioChannelsStereo) ? 2 : 1; audio_payload_type_ = kAudioPayloadType; audio_desc->media_ = new SrsAudioPayload(audio_payload_type_, "opus", sample_rate, channels); } else if (codec == SrsAudioCodecIdAAC) { // For AAC, extract parameters from format - int channels = format->acodec->aac_channels; + int channels = format->acodec_->aac_channels_; audio_payload_type_ = kAudioPayloadType; // Note: Use "MPEG4-GENERIC" instead of "AAC" for RTSP/SDP compliance @@ -569,7 +569,7 @@ srs_error_t SrsRtspRtpBuilder::initialize_audio_track(SrsAudioCodecId codec) // AAC requires AudioSpecificConfig in SDP fmtp line // Build the config string from AAC sequence header - const std::vector &asc = format->acodec->aac_extra_data; + const std::vector &asc = format->acodec_->aac_extra_data_; if (!asc.empty()) { int hex_len = asc.size() * 2; SrsUniquePtr hex_buf(new char[hex_len + 1]); @@ -666,9 +666,9 @@ 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); + srs_trace("RTSP bridge from RTMP, try_annexb_first=%d", format->try_annexb_first_); return err; } @@ -712,12 +712,12 @@ srs_error_t SrsRtspRtpBuilder::on_audio(SrsMediaPacket *msg) // Ignore if no format->acodec, it means the codec is not parsed, or unknown codec. // @issue https://github.com/ossrs/srs/issues/1506#issuecomment-562079474 - if (!format->acodec) { + if (!format->acodec_) { return err; } // support audio codec: aac/opus - SrsAudioCodecId acodec = format->acodec->id; + SrsAudioCodecId acodec = format->acodec_->id_; if (acodec != SrsAudioCodecIdAAC && acodec != SrsAudioCodecIdOpus) { return err; } @@ -731,7 +731,7 @@ srs_error_t SrsRtspRtpBuilder::on_audio(SrsMediaPacket *msg) } // Skip empty audio frames - if (format->audio->nb_samples == 0) { + if (format->audio_->nb_samples_ == 0) { return err; } @@ -739,7 +739,7 @@ srs_error_t SrsRtspRtpBuilder::on_audio(SrsMediaPacket *msg) SrsUniquePtr pkt(new SrsRtpPacket()); if (acodec == SrsAudioCodecIdAAC) { - if ((err = package_aac(format->audio, pkt.get())) != srs_success) { + if ((err = package_aac(format->audio_, pkt.get())) != srs_success) { return srs_error_wrap(err, "package aac"); } } else { @@ -757,17 +757,17 @@ srs_error_t SrsRtspRtpBuilder::package_aac(SrsParsedAudioPacket *audio, SrsRtpPa { srs_error_t err = srs_success; - srs_assert(audio->nb_samples); + srs_assert(audio->nb_samples_); // For RTSP, audio TBN is not fixed, but use the sample rate, so we // need to convert FLV TBN(1000) to the sample rate TBN. - int64_t dts = (int64_t)audio->dts; + int64_t dts = (int64_t)audio->dts_; dts *= (int64_t)audio_sample_rate_; dts /= 1000; pkt->header.set_payload_type(audio_payload_type_); pkt->header.set_ssrc(audio_ssrc_); - pkt->frame_type = SrsFrameTypeAudio; + pkt->frame_type_ = SrsFrameTypeAudio; pkt->header.set_marker(true); pkt->header.set_sequence(audio_sequence++); pkt->header.set_timestamp(dts); @@ -779,12 +779,12 @@ srs_error_t SrsRtspRtpBuilder::package_aac(SrsParsedAudioPacket *audio, SrsRtpPa // Use AAC-hbr mode with AU-headers // Calculate total size for all AU samples int total_au_size = 0; - for (int i = 0; i < audio->nb_samples; i++) { - total_au_size += audio->samples[i].size; + for (int i = 0; i < audio->nb_samples_; i++) { + total_au_size += audio->samples_[i].size_; } // AU-headers: 16 bits per AU (13 bits for size + 3 bits for index) - int au_headers_length = audio->nb_samples * 16; // bits + int au_headers_length = audio->nb_samples_ * 16; // bits int au_headers_bytes = (au_headers_length + 7) / 8; // convert to bytes int payload_size = 2 + au_headers_bytes + total_au_size; // AU-headers-length(2) + AU-headers + AU data @@ -796,22 +796,22 @@ srs_error_t SrsRtspRtpBuilder::package_aac(SrsParsedAudioPacket *audio, SrsRtpPa buffer.write_2bytes(au_headers_length); // Write AU-headers for each sample - for (int i = 0; i < audio->nb_samples; i++) { + for (int i = 0; i < audio->nb_samples_; i++) { // AU-header: AU-size(13 bits) + AU-index(3 bits) = 16 bits // According to RFC 3640, AU-size comes first (MSB), then AU-index (LSB) - uint16_t au_size = audio->samples[i].size & 0x1FFF; // 13 bits mask - uint16_t au_index = i & 0x07; // 3 bits mask + uint16_t au_size = audio->samples_[i].size_ & 0x1FFF; // 13 bits mask + uint16_t au_index = i & 0x07; // 3 bits mask buffer.write_2bytes((au_size << 3) | au_index); } // Copy all AAC AU data - for (int i = 0; i < audio->nb_samples; i++) { - buffer.write_bytes(audio->samples[i].bytes, audio->samples[i].size); + for (int i = 0; i < audio->nb_samples_; i++) { + buffer.write_bytes(audio->samples_[i].bytes_, audio->samples_[i].size_); } // Wrap the payload in the RTP packet - raw->payload = pkt->wrap(payload.get(), payload_size); - raw->nn_payload = payload_size; + raw->payload_ = pkt->wrap(payload.get(), payload_size); + raw->nn_payload_ = payload_size; return err; } @@ -843,12 +843,12 @@ srs_error_t SrsRtspRtpBuilder::on_video(SrsMediaPacket *msg) // Ignore if no format->vcodec, it means the codec is not parsed, or unsupport/unknown codec // such as H.263 codec - if (!format->vcodec) { + if (!format->vcodec_) { return err; } // support video codec: h264/h265 - SrsVideoCodecId vcodec = format->vcodec->id; + SrsVideoCodecId vcodec = format->vcodec_->id_; if (vcodec != SrsVideoCodecIdAVC && vcodec != SrsVideoCodecIdHEVC) { return err; } @@ -890,7 +890,7 @@ srs_error_t SrsRtspRtpBuilder::on_video(SrsMediaPacket *msg) for (int i = 0; i < nn_samples; i++) { SrsNaluSample *sample = samples[i]; - if (sample->size <= kRtpMaxPayloadSize) { + if (sample->size_ <= kRtpMaxPayloadSize) { if ((err = package_single_nalu(msg, sample, pkts)) != srs_success) { return srs_error_wrap(err, "package single nalu"); } @@ -913,13 +913,13 @@ srs_error_t SrsRtspRtpBuilder::filter(SrsMediaPacket *msg, SrsFormat *format, bo srs_error_t err = srs_success; // If IDR, we will insert SPS/PPS before IDR frame. - if (format->video && format->video->has_idr) { + if (format->video_ && format->video_->has_idr_) { has_idr = true; } // Update samples to shared frame. - for (int i = 0; i < format->video->nb_samples; ++i) { - SrsNaluSample *sample = &format->video->samples[i]; + for (int i = 0; i < format->video_->nb_samples_; ++i) { + SrsNaluSample *sample = &format->video_->samples_[i]; samples.push_back(sample); } @@ -931,7 +931,7 @@ srs_error_t SrsRtspRtpBuilder::package_stap_a(SrsMediaPacket *msg, SrsRtpPacket srs_error_t err = srs_success; SrsFormat *format = meta->vsh_format(); - if (!format || !format->vcodec) { + if (!format || !format->vcodec_) { return err; } @@ -943,7 +943,7 @@ srs_error_t SrsRtspRtpBuilder::package_nalus(SrsMediaPacket *msg, const vectorvsh_format(); - if (!format || !format->vcodec) { + if (!format || !format->vcodec_) { return err; } @@ -961,7 +961,7 @@ srs_error_t SrsRtspRtpBuilder::package_fu_a(SrsMediaPacket *msg, SrsNaluSample * srs_error_t err = srs_success; SrsFormat *format = meta->vsh_format(); - if (!format || !format->vcodec) { + if (!format || !format->vcodec_) { return err; } diff --git a/trunk/src/app/srs_app_server.cpp b/trunk/src/app/srs_app_server.cpp index d144c1137..317b0faa7 100644 --- a/trunk/src/app/srs_app_server.cpp +++ b/trunk/src/app/srs_app_server.cpp @@ -1363,10 +1363,10 @@ srs_error_t SrsServer::srs_update_server_statistics() srs_trace("SRS: cpu=%.2f%%,%dMB%s%s%s%s%s%s%s%s%s%s%s", u->percent * 100, memory, - stats.cid_desc.c_str(), stats.timer_desc.c_str(), - stats.recvfrom_desc.c_str(), stats.io_desc.c_str(), stats.msg_desc.c_str(), - stats.epoll_desc.c_str(), stats.sched_desc.c_str(), stats.clock_desc.c_str(), - stats.thread_desc.c_str(), stats.free_desc.c_str(), stats.objs_desc.c_str()); + stats.cid_desc_.c_str(), stats.timer_desc_.c_str(), + stats.recvfrom_desc_.c_str(), stats.io_desc_.c_str(), stats.msg_desc_.c_str(), + stats.epoll_desc_.c_str(), stats.sched_desc_.c_str(), stats.clock_desc_.c_str(), + stats.thread_desc_.c_str(), stats.free_desc_.c_str(), stats.objs_desc_.c_str()); return err; } diff --git a/trunk/src/app/srs_app_source.cpp b/trunk/src/app/srs_app_source.cpp index 473f03831..133add7f0 100644 --- a/trunk/src/app/srs_app_source.cpp +++ b/trunk/src/app/srs_app_source.cpp @@ -85,9 +85,9 @@ srs_error_t SrsRtmpJitter::correct(SrsMediaPacket *msg, SrsRtmpJitterAlgorithm a if (ag == SrsRtmpJitterAlgorithmZERO) { // for the first time, last_pkt_correct_time is -1. if (last_pkt_correct_time == -1) { - last_pkt_correct_time = msg->timestamp; + last_pkt_correct_time = msg->timestamp_; } - msg->timestamp -= last_pkt_correct_time; + msg->timestamp_ -= last_pkt_correct_time; return err; } @@ -98,7 +98,7 @@ srs_error_t SrsRtmpJitter::correct(SrsMediaPacket *msg, SrsRtmpJitterAlgorithm a // full jitter algorithm, do jitter correct. // set to 0 for metadata. if (!msg->is_av()) { - msg->timestamp = 0; + msg->timestamp_ = 0; return err; } @@ -112,7 +112,7 @@ srs_error_t SrsRtmpJitter::correct(SrsMediaPacket *msg, SrsRtmpJitterAlgorithm a * 3. last_pkt_correct_time: simply add the positive delta, * and enforce the time monotonically. */ - int64_t time = msg->timestamp; + int64_t time = msg->timestamp_; int64_t delta = time - last_pkt_time; // if jitter detected, reset the delta. @@ -124,7 +124,7 @@ srs_error_t SrsRtmpJitter::correct(SrsMediaPacket *msg, SrsRtmpJitterAlgorithm a last_pkt_correct_time = srs_max(0, last_pkt_correct_time + delta); - msg->timestamp = last_pkt_correct_time; + msg->timestamp_ = last_pkt_correct_time; last_pkt_time = time; return err; @@ -259,12 +259,12 @@ srs_error_t SrsMessageQueue::enqueue(SrsMediaPacket *msg, bool *is_overflow) // If jitter is off, the timestamp of first sequence header is zero, which wll cause SRS to shrink and drop the // keyframes even if there is not overflow packets in queue, so we must ignore the zero timestamps, please // @see https://github.com/ossrs/srs/pull/2186#issuecomment-953383063 - if (msg->is_av() && msg->timestamp != 0) { + if (msg->is_av() && msg->timestamp_ != 0) { if (av_start_time == -1) { - av_start_time = srs_utime_t(msg->timestamp * SRS_UTIME_MILLISECONDS); + av_start_time = srs_utime_t(msg->timestamp_ * SRS_UTIME_MILLISECONDS); } - av_end_time = srs_utime_t(msg->timestamp * SRS_UTIME_MILLISECONDS); + av_end_time = srs_utime_t(msg->timestamp_ * SRS_UTIME_MILLISECONDS); } if (max_queue_size <= 0) { @@ -299,7 +299,7 @@ srs_error_t SrsMessageQueue::dump_packets(int max_count, SrsMediaPacket **pmsgs, memcpy(pmsgs, omsgs, count * sizeof(SrsMediaPacket *)); SrsMediaPacket *last = omsgs[count - 1]; - av_start_time = srs_utime_t(last->timestamp * SRS_UTIME_MILLISECONDS); + av_start_time = srs_utime_t(last->timestamp_ * SRS_UTIME_MILLISECONDS); if (count >= nb_msgs) { // the pmsgs is big enough and clear msgs at most time. @@ -364,11 +364,11 @@ void SrsMessageQueue::shrink() // Push back sequence headers and update their timestamps. if (video_sh) { - video_sh->timestamp = srsu2ms(av_end_time); + video_sh->timestamp_ = srsu2ms(av_end_time); msgs.push_back(video_sh); } if (audio_sh) { - audio_sh->timestamp = srsu2ms(av_end_time); + audio_sh->timestamp_ = srsu2ms(av_end_time); msgs.push_back(audio_sh); } @@ -710,7 +710,7 @@ srs_utime_t SrsGopCache::start_time() SrsMediaPacket *msg = gop_cache[0]; srs_assert(msg); - return srs_utime_t(msg->timestamp * SRS_UTIME_MILLISECONDS); + return srs_utime_t(msg->timestamp_ * SRS_UTIME_MILLISECONDS); } bool SrsGopCache::pure_audio() @@ -771,7 +771,7 @@ void SrsMixQueue::clear() void SrsMixQueue::push(SrsMediaPacket *msg) { - msgs.insert(std::make_pair(msg->timestamp, msg)); + msgs.insert(std::make_pair(msg->timestamp_, msg)); if (msg->is_video()) { nb_videos++; @@ -951,28 +951,28 @@ srs_error_t SrsOriginHub::on_audio(SrsMediaPacket *shared_audio) // Handle the metadata when got sequence header. if (format->is_aac_sequence_header() || format->is_mp3_sequence_header()) { - srs_assert(format->acodec); - SrsAudioCodecConfig *c = format->acodec; + srs_assert(format->acodec_); + SrsAudioCodecConfig *c = format->acodec_; static int flv_sample_sizes[] = {8, 16, 0}; static int flv_sound_types[] = {1, 2, 0}; // when got audio stream info. SrsStatistic *stat = SrsStatistic::instance(); - if ((err = stat->on_audio_info(req_, format->acodec->id, c->sound_rate, c->sound_type, c->aac_object)) != srs_success) { + if ((err = stat->on_audio_info(req_, format->acodec_->id_, c->sound_rate_, c->sound_type_, c->aac_object_)) != srs_success) { return srs_error_wrap(err, "stat audio"); } - if (format->acodec->id == SrsAudioCodecIdMP3) { + if (format->acodec_->id_ == SrsAudioCodecIdMP3) { srs_trace("%dB audio sh, codec(%d, %dbits, %dchannels, %dHZ)", - msg->size(), c->id, flv_sample_sizes[c->sound_size], flv_sound_types[c->sound_type], - srs_flv_srates[c->sound_rate]); + msg->size(), c->id_, flv_sample_sizes[c->sound_size_], flv_sound_types[c->sound_type_], + srs_flv_srates[c->sound_rate_]); } else { srs_trace("%dB audio sh, codec(%d, profile=%s, %dchannels, %dkbps, %dHZ), flv(%dbits, %dchannels, %dHZ)", - msg->size(), c->id, srs_aac_object2str(c->aac_object).c_str(), c->aac_channels, - c->audio_data_rate / 1000, srs_aac_srates[c->aac_sample_rate], - flv_sample_sizes[c->sound_size], flv_sound_types[c->sound_type], - srs_flv_srates[c->sound_rate]); + msg->size(), c->id_, srs_aac_object2str(c->aac_object_).c_str(), c->aac_channels_, + c->audio_data_rate_ / 1000, srs_aac_srates[c->aac_sample_rate_], + flv_sample_sizes[c->sound_size_], flv_sound_types[c->sound_type_], + srs_flv_srates[c->sound_rate_]); } } @@ -1038,22 +1038,22 @@ srs_error_t SrsOriginHub::on_video(SrsMediaPacket *shared_video, bool is_sequenc // cache the sequence header if h264 // donot cache the sequence header to gop_cache, return here. if (format->is_avc_sequence_header()) { - SrsVideoCodecConfig *c = format->vcodec; + SrsVideoCodecConfig *c = format->vcodec_; srs_assert(c); // when got video stream info. SrsStatistic *stat = SrsStatistic::instance(); - if (c->id == SrsVideoCodecIdAVC) { - err = stat->on_video_info(req_, c->id, c->avc_profile, c->avc_level, c->width, c->height); + if (c->id_ == SrsVideoCodecIdAVC) { + err = stat->on_video_info(req_, c->id_, c->avc_profile_, c->avc_level_, c->width_, c->height_); srs_trace("%dB video sh, codec(%d, profile=%s, level=%s, %dx%d, %dkbps, %.1ffps, %.1fs)", - msg->size(), c->id, srs_avc_profile2str(c->avc_profile).c_str(), srs_avc_level2str(c->avc_level).c_str(), - c->width, c->height, c->video_data_rate / 1000, c->frame_rate, c->duration); - } else if (c->id == SrsVideoCodecIdHEVC) { - err = stat->on_video_info(req_, c->id, c->hevc_profile, c->hevc_level, c->width, c->height); + msg->size(), c->id_, srs_avc_profile2str(c->avc_profile_).c_str(), srs_avc_level2str(c->avc_level_).c_str(), + c->width_, c->height_, c->video_data_rate_ / 1000, c->frame_rate_, c->duration_); + } else if (c->id_ == SrsVideoCodecIdHEVC) { + err = stat->on_video_info(req_, c->id_, c->hevc_profile_, c->hevc_level_, c->width_, c->height_); srs_trace("%dB video sh, codec(%d, profile=%s, level=%s, %dx%d, %dkbps, %.1ffps, %.1fs)", - msg->size(), c->id, srs_hevc_profile2str(c->hevc_profile).c_str(), srs_hevc_level2str(c->hevc_level).c_str(), - c->width, c->height, c->video_data_rate / 1000, c->frame_rate, c->duration); + msg->size(), c->id_, srs_hevc_profile2str(c->hevc_profile_).c_str(), srs_hevc_level2str(c->hevc_level_).c_str(), + c->width_, c->height_, c->video_data_rate_ / 1000, c->frame_rate_, c->duration_); } if (err != srs_success) { return srs_error_wrap(err, "stat video"); @@ -1062,7 +1062,7 @@ srs_error_t SrsOriginHub::on_video(SrsMediaPacket *shared_video, bool is_sequenc // Ignore video data when no sps/pps // @bug https://github.com/ossrs/srs/issues/703#issuecomment-578393155 - if (format->vcodec && !format->vcodec->is_avc_codec_ok()) { + if (format->vcodec_ && !format->vcodec_->is_avc_codec_ok()) { return err; } @@ -1435,7 +1435,7 @@ srs_error_t SrsMetaCache::dumps(SrsLiveConsumer *consumer, bool atc, SrsRtmpJitt // copy sequence header // copy audio sequence first, for hls to fast parse the "right" audio codec. - if (aformat && aformat->acodec && aformat->acodec->id != SrsAudioCodecIdMP3) { + if (aformat && aformat->acodec_ && aformat->acodec_->id_ != SrsAudioCodecIdMP3) { if (ds && audio && (err = consumer->enqueue(audio, atc, ag)) != srs_success) { return srs_error_wrap(err, "enqueue audio sh"); } @@ -1833,7 +1833,7 @@ srs_error_t SrsLiveSource::initialize(SrsSharedPtr wrapper, ISrsR } // 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)"); @@ -1933,7 +1933,7 @@ srs_error_t SrsLiveSource::on_meta_data(SrsRtmpCommonMessage *msg, SrsOnMetaData // Update the meta cache. bool updated = false; - if ((err = meta->update_data(&msg->header, metadata, updated)) != srs_success) { + if ((err = meta->update_data(&msg->header_, metadata, updated)) != srs_success) { return srs_error_wrap(err, "update metadata"); } if (!updated) { @@ -1967,13 +1967,13 @@ srs_error_t SrsLiveSource::on_audio(SrsRtmpCommonMessage *shared_audio) // Detect where stream is monotonically increasing. if (!mix_correct && is_monotonically_increase) { - if (last_packet_time > 0 && shared_audio->header.timestamp < last_packet_time) { + if (last_packet_time > 0 && shared_audio->header_.timestamp_ < last_packet_time) { is_monotonically_increase = false; srs_warn("AUDIO: Timestamp %" PRId64 "=>%" PRId64 ", may need mix_correct.", - last_packet_time, shared_audio->header.timestamp); + last_packet_time, shared_audio->header_.timestamp_); } } - last_packet_time = shared_audio->header.timestamp; + last_packet_time = shared_audio->header_.timestamp_; // convert shared_audio to msg, user should not use shared_audio again. // the payload is transfer to msg, and set to NULL in shared_audio. @@ -2027,7 +2027,7 @@ srs_error_t SrsLiveSource::on_audio_imp(SrsMediaPacket *msg) // Ignore if no format->acodec, it means the codec is not parsed, or unsupport/unknown codec // such as G.711 codec - if (!format_->acodec) { + if (!format_->acodec_) { return err; } @@ -2083,10 +2083,10 @@ srs_error_t SrsLiveSource::on_audio_imp(SrsMediaPacket *msg) // if atc, update the sequence header to abs time. if (atc) { if (meta->ash()) { - meta->ash()->timestamp = msg->timestamp; + meta->ash()->timestamp_ = msg->timestamp_; } if (meta->data()) { - meta->data()->timestamp = msg->timestamp; + meta->data()->timestamp_ = msg->timestamp_; } } @@ -2099,13 +2099,13 @@ srs_error_t SrsLiveSource::on_video(SrsRtmpCommonMessage *shared_video) // Detect where stream is monotonically increasing. if (!mix_correct && is_monotonically_increase) { - if (last_packet_time > 0 && shared_video->header.timestamp < last_packet_time) { + if (last_packet_time > 0 && shared_video->header_.timestamp_ < last_packet_time) { is_monotonically_increase = false; srs_warn("VIDEO: Timestamp %" PRId64 "=>%" PRId64 ", may need mix_correct.", - last_packet_time, shared_video->header.timestamp); + last_packet_time, shared_video->header_.timestamp_); } } - last_packet_time = shared_video->header.timestamp; + last_packet_time = shared_video->header_.timestamp_; // drop any unknown header video. // @see https://github.com/ossrs/srs/issues/421 @@ -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) { @@ -2145,7 +2145,7 @@ srs_error_t SrsLiveSource::on_video_imp(SrsMediaPacket *msg) // Ignore if no format->vcodec, it means the codec is not parsed, or unsupport/unknown codec // such as H.263 codec - if (!format_->vcodec) { + if (!format_->vcodec_) { return err; } @@ -2197,10 +2197,10 @@ srs_error_t SrsLiveSource::on_video_imp(SrsMediaPacket *msg) // if atc, update the sequence header to abs time. if (atc) { if (meta->vsh()) { - meta->vsh()->timestamp = msg->timestamp; + meta->vsh()->timestamp_ = msg->timestamp_; } if (meta->data()) { - meta->data()->timestamp = msg->timestamp; + meta->data()->timestamp_ = msg->timestamp_; } } @@ -2247,7 +2247,7 @@ srs_error_t SrsLiveSource::on_aggregate(SrsRtmpCommonMessage *msg) // adjust abs timestamp in aggregate msg. // only -1 means uninitialized delta. if (delta == -1) { - delta = (int)msg->header.timestamp - (int)timestamp; + delta = (int)msg->header_.timestamp_ - (int)timestamp; } timestamp += delta; @@ -2263,11 +2263,11 @@ srs_error_t SrsLiveSource::on_aggregate(SrsRtmpCommonMessage *msg) // to common message. SrsRtmpCommonMessage o; - o.header.message_type = type; - o.header.payload_length = data_size; - o.header.timestamp_delta = timestamp; - o.header.timestamp = timestamp; - o.header.stream_id = stream_id; + o.header_.message_type_ = type; + o.header_.payload_length_ = data_size; + o.header_.timestamp_delta_ = timestamp; + o.header_.timestamp_ = timestamp; + o.header_.stream_id_ = stream_id; if (data_size > 0) { o.create_payload(data_size); @@ -2280,11 +2280,11 @@ srs_error_t SrsLiveSource::on_aggregate(SrsRtmpCommonMessage *msg) stream->read_4bytes(); // process parsed message - if (o.header.is_audio()) { + if (o.header_.is_audio()) { if ((err = on_audio(&o)) != srs_success) { return srs_error_wrap(err, "consume audio"); } - } else if (o.header.is_video()) { + } else if (o.header_.is_video()) { if ((err = on_video(&o)) != srs_success) { return srs_error_wrap(err, "consume video"); } @@ -2431,13 +2431,13 @@ srs_error_t SrsLiveSource::consumer_dumps(SrsLiveConsumer *consumer, bool ds, bo // if atc, update the sequence header to gop cache time. if (atc && !gop_cache->empty()) { if (meta->data()) { - meta->data()->timestamp = srsu2ms(gop_cache->start_time()); + meta->data()->timestamp_ = srsu2ms(gop_cache->start_time()); } if (meta->vsh()) { - meta->vsh()->timestamp = srsu2ms(gop_cache->start_time()); + meta->vsh()->timestamp_ = srsu2ms(gop_cache->start_time()); } if (meta->ash()) { - meta->ash()->timestamp = srsu2ms(gop_cache->start_time()); + meta->ash()->timestamp_ = srsu2ms(gop_cache->start_time()); } } diff --git a/trunk/src/app/srs_app_srt_source.cpp b/trunk/src/app/srs_app_srt_source.cpp index 98dc3bf46..4098527a7 100644 --- a/trunk/src/app/srs_app_srt_source.cpp +++ b/trunk/src/app/srs_app_srt_source.cpp @@ -366,40 +366,40 @@ srs_error_t SrsSrtFrameBuilder::on_ts_message(SrsTsMessage *msg) // When the audio SID is private stream 1, we use common audio. // @see https://github.com/ossrs/srs/issues/740 - if (msg->channel->apply == SrsTsPidApplyAudio && msg->sid == SrsTsPESStreamIdPrivateStream1) { - msg->sid = SrsTsPESStreamIdAudioCommon; + if (msg->channel_->apply_ == SrsTsPidApplyAudio && msg->sid_ == SrsTsPESStreamIdPrivateStream1) { + msg->sid_ = SrsTsPESStreamIdAudioCommon; } // when not audio/video, or not adts/annexb format, donot support. if (msg->stream_number() != 0) { return srs_error_new(ERROR_STREAM_CASTER_TS_ES, "ts: unsupported stream format, sid=%#x(%s-%d)", - msg->sid, msg->is_audio() ? "A" : msg->is_video() ? "V" - : "N", + msg->sid_, msg->is_audio() ? "A" : msg->is_video() ? "V" + : "N", msg->stream_number()); } // check supported codec - if (msg->channel->stream != SrsTsStreamVideoH264 && msg->channel->stream != SrsTsStreamVideoHEVC && msg->channel->stream != SrsTsStreamAudioAAC) { - return srs_error_new(ERROR_STREAM_CASTER_TS_CODEC, "ts: unsupported stream codec=%d", msg->channel->stream); + if (msg->channel_->stream_ != SrsTsStreamVideoH264 && msg->channel_->stream_ != SrsTsStreamVideoHEVC && msg->channel_->stream_ != SrsTsStreamAudioAAC) { + return srs_error_new(ERROR_STREAM_CASTER_TS_CODEC, "ts: unsupported stream codec=%d", msg->channel_->stream_); } // parse the stream. - SrsBuffer avs(msg->payload->bytes(), msg->payload->length()); + SrsBuffer avs(msg->payload_->bytes(), msg->payload_->length()); // publish audio or video. - if (msg->channel->stream == SrsTsStreamVideoH264) { + if (msg->channel_->stream_ == SrsTsStreamVideoH264) { if ((err = on_ts_video_avc(msg, &avs)) != srs_success) { return srs_error_wrap(err, "ts: consume video"); } } - if (msg->channel->stream == SrsTsStreamAudioAAC) { + if (msg->channel_->stream_ == SrsTsStreamAudioAAC) { if ((err = on_ts_audio(msg, &avs)) != srs_success) { return srs_error_wrap(err, "ts: consume audio"); } } // TODO: FIXME: implements other codec? - if (msg->channel->stream == SrsTsStreamVideoHEVC) { + if (msg->channel_->stream_ == SrsTsStreamVideoHEVC) { if ((err = on_ts_video_hevc(msg, &avs)) != srs_success) { return srs_error_wrap(err, "ts: consume hevc video"); } @@ -484,7 +484,7 @@ srs_error_t SrsSrtFrameBuilder::check_sps_pps_change(SrsTsMessage *msg) sps_pps_change_ = false; // ts tbn to flv tbn. - uint32_t dts = (uint32_t)(msg->dts / 90); + uint32_t dts = (uint32_t)(msg->dts_ / 90); std::string sh; SrsUniquePtr avc(new SrsRawH264Stream()); @@ -528,8 +528,8 @@ srs_error_t SrsSrtFrameBuilder::on_h264_frame(SrsTsMessage *msg, vectordts / 90); - uint32_t pts = (uint32_t)(msg->pts / 90); + uint32_t dts = (uint32_t)(msg->dts_ / 90); + uint32_t pts = (uint32_t)(msg->pts_ / 90); int32_t cts = pts - dts; int frame_size = 5; // 5bytes video tag header @@ -542,7 +542,7 @@ srs_error_t SrsSrtFrameBuilder::on_h264_frame(SrsTsMessage *msg, vectordts / 90); + uint32_t dts = (uint32_t)(msg->dts_ / 90); std::string sh; SrsUniquePtr hevc(new SrsRawHEVCStream()); @@ -712,8 +712,8 @@ srs_error_t SrsSrtFrameBuilder::on_hevc_frame(SrsTsMessage *msg, vectordts / 90); - uint32_t pts = (uint32_t)(msg->pts / 90); + uint32_t dts = (uint32_t)(msg->dts_ / 90); + uint32_t pts = (uint32_t)(msg->pts_ / 90); int32_t cts = pts - dts; // for IDR frame, the frame is keyframe. @@ -731,7 +731,7 @@ srs_error_t SrsSrtFrameBuilder::on_hevc_frame(SrsTsMessage *msg, vector aac(new SrsRawAacStream()); // ts tbn to flv tbn. - uint32_t pts = (uint32_t)(msg->pts / 90); + uint32_t pts = (uint32_t)(msg->pts_ / 90); int frame_idx = 0; int duration_ms = 0; @@ -863,7 +863,7 @@ srs_error_t SrsSrtFrameBuilder::check_audio_sh_change(SrsTsMessage *msg, uint32_ int rtmp_len = audio_sh_.size() + 2; SrsRtmpCommonMessage rtmp; - rtmp.header.initialize_audio(rtmp_len, pts, audio_streamid_); + rtmp.header_.initialize_audio(rtmp_len, pts, audio_streamid_); rtmp.create_payload(rtmp_len); SrsBuffer stream(rtmp.payload(), rtmp_len); @@ -889,7 +889,7 @@ srs_error_t SrsSrtFrameBuilder::on_aac_frame(SrsTsMessage *msg, uint32_t pts, ch int rtmp_len = data_size + 2 /* 2 bytes of flv audio tag header*/; SrsRtmpCommonMessage rtmp; - rtmp.header.initialize_audio(rtmp_len, pts, audio_streamid_); + rtmp.header_.initialize_audio(rtmp_len, pts, audio_streamid_); rtmp.create_payload(rtmp_len); SrsBuffer stream(rtmp.payload(), rtmp_len); diff --git a/trunk/src/app/srs_app_statistic.cpp b/trunk/src/app/srs_app_statistic.cpp index b447bb44b..f08b2b908 100644 --- a/trunk/src/app/srs_app_statistic.cpp +++ b/trunk/src/app/srs_app_statistic.cpp @@ -118,7 +118,7 @@ srs_error_t SrsStatisticStream::dumps(SrsJsonObject *obj) obj->set("url", SrsJsonAny::str(url.c_str())); obj->set("live_ms", SrsJsonAny::integer(srsu2ms(srs_time_now_cached()))); obj->set("clients", SrsJsonAny::integer(nb_clients)); - obj->set("frames", SrsJsonAny::integer(frames->sugar)); + obj->set("frames", SrsJsonAny::integer(frames->sugar_)); obj->set("send_bytes", SrsJsonAny::integer(kbps->get_send_bytes())); obj->set("recv_bytes", SrsJsonAny::integer(kbps->get_recv_bytes())); @@ -395,7 +395,7 @@ srs_error_t SrsStatistic::on_video_frames(ISrsRequest *req, int nb_frames) SrsStatisticVhost *vhost = create_vhost(req); SrsStatisticStream *stream = create_stream(vhost, req); - stream->frames->sugar += nb_frames; + stream->frames->sugar_ += nb_frames; return err; } diff --git a/trunk/src/core/srs_core_version7.hpp b/trunk/src/core/srs_core_version7.hpp index 096fe561e..6e0b5807e 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 81 +#define VERSION_REVISION 82 #endif \ No newline at end of file diff --git a/trunk/src/kernel/srs_kernel_aac.cpp b/trunk/src/kernel/srs_kernel_aac.cpp index a1fc9df07..a626c694f 100644 --- a/trunk/src/kernel/srs_kernel_aac.cpp +++ b/trunk/src/kernel/srs_kernel_aac.cpp @@ -24,11 +24,11 @@ using namespace std; SrsAacTransmuxer::SrsAacTransmuxer() { - writer = NULL; - got_sequence_header = false; - aac_object = SrsAacObjectTypeReserved; - aac_sample_rate = 0; - aac_channels = 0; + writer_ = NULL; + got_sequence_header_ = false; + aac_object_ = SrsAacObjectTypeReserved; + aac_sample_rate_ = 0; + aac_channels_ = 0; } SrsAacTransmuxer::~SrsAacTransmuxer() @@ -41,7 +41,7 @@ srs_error_t SrsAacTransmuxer::initialize(ISrsStreamWriter *fs) srs_assert(fs); - writer = fs; + writer_ = fs; return err; } @@ -91,20 +91,20 @@ srs_error_t SrsAacTransmuxer::write_audio(int64_t timestamp, char *data, int siz } int8_t audioObjectType = stream->read_1bytes(); - aac_sample_rate = stream->read_1bytes(); + aac_sample_rate_ = stream->read_1bytes(); - aac_channels = (aac_sample_rate >> 3) & 0x0f; - aac_sample_rate = ((audioObjectType << 1) & 0x0e) | ((aac_sample_rate >> 7) & 0x01); + aac_channels_ = (aac_sample_rate_ >> 3) & 0x0f; + aac_sample_rate_ = ((audioObjectType << 1) & 0x0e) | ((aac_sample_rate_ >> 7) & 0x01); audioObjectType = (audioObjectType >> 3) & 0x1f; - aac_object = (SrsAacObjectType)audioObjectType; + aac_object_ = (SrsAacObjectType)audioObjectType; - got_sequence_header = true; + got_sequence_header_ = true; return err; } - if (!got_sequence_header) { + if (!got_sequence_header_) { return srs_error_new(ERROR_AAC_DECODE_ERROR, "aac no sequence header"); } @@ -149,13 +149,13 @@ srs_error_t SrsAacTransmuxer::write_audio(int64_t timestamp, char *data, int siz // channel_configuration 3 uimsbf // original/copy 1 bslbf // home 1 bslbf - SrsAacProfile aac_profile = srs_aac_rtmp2ts(aac_object); - *pp++ = ((aac_profile << 6) & 0xc0) | ((aac_sample_rate << 2) & 0x3c) | ((aac_channels >> 2) & 0x01); + SrsAacProfile aac_profile = srs_aac_rtmp2ts(aac_object_); + *pp++ = ((aac_profile << 6) & 0xc0) | ((aac_sample_rate_ << 2) & 0x3c) | ((aac_channels_ >> 2) & 0x01); // 4bits left. // adts_variable_header(), 1.A.2.2.2 Variable Header of ADTS // copyright_identification_bit 1 bslbf // copyright_identification_start 1 bslbf - *pp++ = ((aac_channels << 6) & 0xc0) | ((aac_frame_length >> 11) & 0x03); + *pp++ = ((aac_channels_ << 6) & 0xc0) | ((aac_frame_length >> 11) & 0x03); // aac_frame_length 13 bslbf: Length of the frame including headers and error_check in bytes. // use the left 2bits as the 13 and 12 bit, @@ -169,12 +169,12 @@ srs_error_t SrsAacTransmuxer::write_audio(int64_t timestamp, char *data, int siz } // write 7bytes fixed header. - if ((err = writer->write(aac_fixed_header, 7, NULL)) != srs_success) { + if ((err = writer_->write(aac_fixed_header, 7, NULL)) != srs_success) { return srs_error_wrap(err, "write aac header"); } // write aac frame body. - if ((err = writer->write(data + stream->pos(), aac_raw_length, NULL)) != srs_success) { + if ((err = writer_->write(data + stream->pos(), aac_raw_length, NULL)) != srs_success) { return srs_error_wrap(err, "write aac frame"); } diff --git a/trunk/src/kernel/srs_kernel_aac.hpp b/trunk/src/kernel/srs_kernel_aac.hpp index 527dfdf9d..aeae1d344 100644 --- a/trunk/src/kernel/srs_kernel_aac.hpp +++ b/trunk/src/kernel/srs_kernel_aac.hpp @@ -20,13 +20,13 @@ class ISrsStreamWriter; class SrsAacTransmuxer { private: - ISrsStreamWriter *writer; + ISrsStreamWriter *writer_; private: - SrsAacObjectType aac_object; - int8_t aac_sample_rate; - int8_t aac_channels; - bool got_sequence_header; + SrsAacObjectType aac_object_; + int8_t aac_sample_rate_; + int8_t aac_channels_; + bool got_sequence_header_; public: SrsAacTransmuxer(); diff --git a/trunk/src/kernel/srs_kernel_balance.cpp b/trunk/src/kernel/srs_kernel_balance.cpp index 698bd5fc1..56209de4e 100644 --- a/trunk/src/kernel/srs_kernel_balance.cpp +++ b/trunk/src/kernel/srs_kernel_balance.cpp @@ -20,8 +20,8 @@ ISrsLbRoundRobin::~ISrsLbRoundRobin() SrsLbRoundRobin::SrsLbRoundRobin() { - index = -1; - count = 0; + index_ = -1; + count_ = 0; } SrsLbRoundRobin::~SrsLbRoundRobin() @@ -30,20 +30,20 @@ SrsLbRoundRobin::~SrsLbRoundRobin() uint32_t SrsLbRoundRobin::current() { - return index; + return index_; } string SrsLbRoundRobin::selected() { - return elem; + return elem_; } string SrsLbRoundRobin::select(const vector &servers) { srs_assert(!servers.empty()); - index = (int)(count++ % servers.size()); - elem = servers.at(index); + index_ = (int)(count_++ % servers.size()); + elem_ = servers.at(index_); - return elem; + return elem_; } diff --git a/trunk/src/kernel/srs_kernel_balance.hpp b/trunk/src/kernel/srs_kernel_balance.hpp index 33687dc12..ba7078618 100644 --- a/trunk/src/kernel/srs_kernel_balance.hpp +++ b/trunk/src/kernel/srs_kernel_balance.hpp @@ -51,9 +51,9 @@ public: class SrsLbRoundRobin : public ISrsLbRoundRobin { private: - int index; - uint32_t count; - std::string elem; + int index_; + uint32_t count_; + std::string elem_; public: SrsLbRoundRobin(); diff --git a/trunk/src/kernel/srs_kernel_buffer.cpp b/trunk/src/kernel/srs_kernel_buffer.cpp index 755e1a71c..7e9f210cc 100644 --- a/trunk/src/kernel/srs_kernel_buffer.cpp +++ b/trunk/src/kernel/srs_kernel_buffer.cpp @@ -38,8 +38,8 @@ ISrsCodec::~ISrsCodec() SrsBuffer::SrsBuffer(char *b, int nn) { - p = bytes = b; - nb_bytes = nn; + p_ = bytes_ = b; + nb_bytes_ = nn; } SrsBuffer::~SrsBuffer() @@ -48,44 +48,44 @@ SrsBuffer::~SrsBuffer() SrsBuffer *SrsBuffer::copy() { - SrsBuffer *cp = new SrsBuffer(bytes, nb_bytes); - cp->p = p; + SrsBuffer *cp = new SrsBuffer(bytes_, nb_bytes_); + cp->p_ = p_; return cp; } char *SrsBuffer::data() { - return bytes; + return bytes_; } char *SrsBuffer::head() { - return p; + return p_; } int SrsBuffer::size() { - return nb_bytes; + return nb_bytes_; } void SrsBuffer::set_size(int v) { - nb_bytes = v; + nb_bytes_ = v; } int SrsBuffer::pos() { - return (int)(p - bytes); + return (int)(p_ - bytes_); } int SrsBuffer::left() { - return nb_bytes - (int)(p - bytes); + return nb_bytes_ - (int)(p_ - bytes_); } bool SrsBuffer::empty() { - return !bytes || (p >= bytes + nb_bytes); + return !bytes_ || (p_ >= bytes_ + nb_bytes_); } bool SrsBuffer::require(int required_size) @@ -94,23 +94,23 @@ bool SrsBuffer::require(int required_size) return false; } - return required_size <= nb_bytes - (p - bytes); + return required_size <= nb_bytes_ - (p_ - bytes_); } void SrsBuffer::skip(int size) { - srs_assert(p); - srs_assert(p + size >= bytes); - srs_assert(p + size <= bytes + nb_bytes); + srs_assert(p_); + srs_assert(p_ + size >= bytes_); + srs_assert(p_ + size <= bytes_ + nb_bytes_); - p += size; + p_ += size; } int8_t SrsBuffer::read_1bytes() { srs_assert(require(1)); - return (int8_t)*p++; + return (int8_t)*p_++; } int16_t SrsBuffer::read_2bytes() @@ -119,8 +119,8 @@ int16_t SrsBuffer::read_2bytes() int16_t value; char *pp = (char *)&value; - pp[1] = *p++; - pp[0] = *p++; + pp[1] = *p_++; + pp[0] = *p_++; return value; } @@ -131,8 +131,8 @@ int16_t SrsBuffer::read_le2bytes() int16_t value; char *pp = (char *)&value; - pp[0] = *p++; - pp[1] = *p++; + pp[0] = *p_++; + pp[1] = *p_++; return value; } @@ -143,9 +143,9 @@ int32_t SrsBuffer::read_3bytes() int32_t value = 0x00; char *pp = (char *)&value; - pp[2] = *p++; - pp[1] = *p++; - pp[0] = *p++; + pp[2] = *p_++; + pp[1] = *p_++; + pp[0] = *p_++; return value; } @@ -156,9 +156,9 @@ int32_t SrsBuffer::read_le3bytes() int32_t value = 0x00; char *pp = (char *)&value; - pp[0] = *p++; - pp[1] = *p++; - pp[2] = *p++; + pp[0] = *p_++; + pp[1] = *p_++; + pp[2] = *p_++; return value; } @@ -169,10 +169,10 @@ int32_t SrsBuffer::read_4bytes() int32_t value; char *pp = (char *)&value; - pp[3] = *p++; - pp[2] = *p++; - pp[1] = *p++; - pp[0] = *p++; + pp[3] = *p_++; + pp[2] = *p_++; + pp[1] = *p_++; + pp[0] = *p_++; return value; } @@ -183,10 +183,10 @@ int32_t SrsBuffer::read_le4bytes() int32_t value; char *pp = (char *)&value; - pp[0] = *p++; - pp[1] = *p++; - pp[2] = *p++; - pp[3] = *p++; + pp[0] = *p_++; + pp[1] = *p_++; + pp[2] = *p_++; + pp[3] = *p_++; return value; } @@ -197,14 +197,14 @@ int64_t SrsBuffer::read_8bytes() int64_t value; char *pp = (char *)&value; - pp[7] = *p++; - pp[6] = *p++; - pp[5] = *p++; - pp[4] = *p++; - pp[3] = *p++; - pp[2] = *p++; - pp[1] = *p++; - pp[0] = *p++; + pp[7] = *p_++; + pp[6] = *p_++; + pp[5] = *p_++; + pp[4] = *p_++; + pp[3] = *p_++; + pp[2] = *p_++; + pp[1] = *p_++; + pp[0] = *p_++; return value; } @@ -215,14 +215,14 @@ int64_t SrsBuffer::read_le8bytes() int64_t value; char *pp = (char *)&value; - pp[0] = *p++; - pp[1] = *p++; - pp[2] = *p++; - pp[3] = *p++; - pp[4] = *p++; - pp[5] = *p++; - pp[6] = *p++; - pp[7] = *p++; + pp[0] = *p_++; + pp[1] = *p_++; + pp[2] = *p_++; + pp[3] = *p_++; + pp[4] = *p_++; + pp[5] = *p_++; + pp[6] = *p_++; + pp[7] = *p_++; return value; } @@ -232,9 +232,9 @@ string SrsBuffer::read_string(int len) srs_assert(require(len)); std::string value; - value.append(p, len); + value.append(p_, len); - p += len; + p_ += len; return value; } @@ -243,16 +243,16 @@ void SrsBuffer::read_bytes(char *data, int size) { srs_assert(require(size)); - memcpy(data, p, size); + memcpy(data, p_, size); - p += size; + p_ += size; } void SrsBuffer::write_1bytes(int8_t value) { srs_assert(require(1)); - *p++ = value; + *p_++ = value; } void SrsBuffer::write_2bytes(int16_t value) @@ -260,8 +260,8 @@ void SrsBuffer::write_2bytes(int16_t value) srs_assert(require(2)); char *pp = (char *)&value; - *p++ = pp[1]; - *p++ = pp[0]; + *p_++ = pp[1]; + *p_++ = pp[0]; } void SrsBuffer::write_le2bytes(int16_t value) @@ -269,8 +269,8 @@ void SrsBuffer::write_le2bytes(int16_t value) srs_assert(require(2)); char *pp = (char *)&value; - *p++ = pp[0]; - *p++ = pp[1]; + *p_++ = pp[0]; + *p_++ = pp[1]; } void SrsBuffer::write_4bytes(int32_t value) @@ -278,10 +278,10 @@ void SrsBuffer::write_4bytes(int32_t value) srs_assert(require(4)); char *pp = (char *)&value; - *p++ = pp[3]; - *p++ = pp[2]; - *p++ = pp[1]; - *p++ = pp[0]; + *p_++ = pp[3]; + *p_++ = pp[2]; + *p_++ = pp[1]; + *p_++ = pp[0]; } void SrsBuffer::write_le4bytes(int32_t value) @@ -289,10 +289,10 @@ void SrsBuffer::write_le4bytes(int32_t value) srs_assert(require(4)); char *pp = (char *)&value; - *p++ = pp[0]; - *p++ = pp[1]; - *p++ = pp[2]; - *p++ = pp[3]; + *p_++ = pp[0]; + *p_++ = pp[1]; + *p_++ = pp[2]; + *p_++ = pp[3]; } void SrsBuffer::write_3bytes(int32_t value) @@ -300,9 +300,9 @@ void SrsBuffer::write_3bytes(int32_t value) srs_assert(require(3)); char *pp = (char *)&value; - *p++ = pp[2]; - *p++ = pp[1]; - *p++ = pp[0]; + *p_++ = pp[2]; + *p_++ = pp[1]; + *p_++ = pp[0]; } void SrsBuffer::write_le3bytes(int32_t value) @@ -310,9 +310,9 @@ void SrsBuffer::write_le3bytes(int32_t value) srs_assert(require(3)); char *pp = (char *)&value; - *p++ = pp[0]; - *p++ = pp[1]; - *p++ = pp[2]; + *p_++ = pp[0]; + *p_++ = pp[1]; + *p_++ = pp[2]; } void SrsBuffer::write_8bytes(int64_t value) @@ -320,14 +320,14 @@ void SrsBuffer::write_8bytes(int64_t value) srs_assert(require(8)); char *pp = (char *)&value; - *p++ = pp[7]; - *p++ = pp[6]; - *p++ = pp[5]; - *p++ = pp[4]; - *p++ = pp[3]; - *p++ = pp[2]; - *p++ = pp[1]; - *p++ = pp[0]; + *p_++ = pp[7]; + *p_++ = pp[6]; + *p_++ = pp[5]; + *p_++ = pp[4]; + *p_++ = pp[3]; + *p_++ = pp[2]; + *p_++ = pp[1]; + *p_++ = pp[0]; } void SrsBuffer::write_le8bytes(int64_t value) @@ -335,14 +335,14 @@ void SrsBuffer::write_le8bytes(int64_t value) srs_assert(require(8)); char *pp = (char *)&value; - *p++ = pp[0]; - *p++ = pp[1]; - *p++ = pp[2]; - *p++ = pp[3]; - *p++ = pp[4]; - *p++ = pp[5]; - *p++ = pp[6]; - *p++ = pp[7]; + *p_++ = pp[0]; + *p_++ = pp[1]; + *p_++ = pp[2]; + *p_++ = pp[3]; + *p_++ = pp[4]; + *p_++ = pp[5]; + *p_++ = pp[6]; + *p_++ = pp[7]; } void SrsBuffer::write_string(string value) @@ -353,8 +353,8 @@ void SrsBuffer::write_string(string value) srs_assert(require((int)value.length())); - memcpy(p, value.data(), value.length()); - p += value.length(); + memcpy(p_, value.data(), value.length()); + p_ += value.length(); } void SrsBuffer::write_bytes(char *data, int size) @@ -365,15 +365,15 @@ void SrsBuffer::write_bytes(char *data, int size) srs_assert(require(size)); - memcpy(p, data, size); - p += size; + memcpy(p_, data, size); + p_ += size; } SrsBitBuffer::SrsBitBuffer(SrsBuffer *b) { - cb = 0; - cb_left = 0; - stream = b; + cb_ = 0; + cb_left_ = 0; + stream_ = b; } SrsBitBuffer::~SrsBitBuffer() @@ -382,10 +382,10 @@ SrsBitBuffer::~SrsBitBuffer() bool SrsBitBuffer::empty() { - if (cb_left) { + if (cb_left_) { return false; } - return stream->empty(); + return stream_->empty(); } bool SrsBitBuffer::require_bits(int n) @@ -399,20 +399,20 @@ bool SrsBitBuffer::require_bits(int n) int8_t SrsBitBuffer::read_bit() { - if (!cb_left) { - srs_assert(!stream->empty()); - cb = stream->read_1bytes(); - cb_left = 8; + if (!cb_left_) { + srs_assert(!stream_->empty()); + cb_ = stream_->read_1bytes(); + cb_left_ = 8; } - int8_t v = (cb >> (cb_left - 1)) & 0x01; - cb_left--; + int8_t v = (cb_ >> (cb_left_ - 1)) & 0x01; + cb_left_--; return v; } int SrsBitBuffer::left_bits() { - return cb_left + stream->left() * 8; + return cb_left_ + stream_->left() * 8; } void SrsBitBuffer::skip_bits(int n) @@ -438,9 +438,9 @@ int32_t SrsBitBuffer::read_bits(int n) int8_t SrsBitBuffer::read_8bits() { // FAST_8 - if (!cb_left) { - srs_assert(!stream->empty()); - return stream->read_1bytes(); + if (!cb_left_) { + srs_assert(!stream_->empty()); + return stream_->read_1bytes(); } return read_bits(8); @@ -449,9 +449,9 @@ int8_t SrsBitBuffer::read_8bits() int16_t SrsBitBuffer::read_16bits() { // FAST_16 - if (!cb_left) { - srs_assert(!stream->empty()); - return stream->read_2bytes(); + if (!cb_left_) { + srs_assert(!stream_->empty()); + return stream_->read_2bytes(); } return read_bits(16); @@ -460,9 +460,9 @@ int16_t SrsBitBuffer::read_16bits() int32_t SrsBitBuffer::read_32bits() { // FAST_32 - if (!cb_left) { - srs_assert(!stream->empty()); - return stream->read_4bytes(); + if (!cb_left_) { + srs_assert(!stream_->empty()); + return stream_->read_4bytes(); } return read_bits(32); diff --git a/trunk/src/kernel/srs_kernel_buffer.hpp b/trunk/src/kernel/srs_kernel_buffer.hpp index 27d160f9a..537cb265c 100644 --- a/trunk/src/kernel/srs_kernel_buffer.hpp +++ b/trunk/src/kernel/srs_kernel_buffer.hpp @@ -184,11 +184,11 @@ class SrsBuffer { private: // Current read/write position within the buffer - char *p; + char *p_; // Pointer to the start of the buffer data (not owned by this class) - char *bytes; + char *bytes_; // Total size of the buffer in bytes - int nb_bytes; + int nb_bytes_; public: // Create a buffer wrapper around existing memory. @@ -404,11 +404,11 @@ class SrsBitBuffer { private: // Current byte being processed (cached from stream) - int8_t cb; + int8_t cb_; // Number of unread bits remaining in current byte (0-8) - uint8_t cb_left; + uint8_t cb_left_; // Underlying byte buffer (not owned by this class) - SrsBuffer *stream; + SrsBuffer *stream_; public: // Construct a bit buffer from an existing byte buffer. diff --git a/trunk/src/kernel/srs_kernel_codec.cpp b/trunk/src/kernel/srs_kernel_codec.cpp index dead7d652..0065650e3 100644 --- a/trunk/src/kernel/srs_kernel_codec.cpp +++ b/trunk/src/kernel/srs_kernel_codec.cpp @@ -726,16 +726,16 @@ SrsCodecConfig::~SrsCodecConfig() SrsAudioCodecConfig::SrsAudioCodecConfig() { - id = SrsAudioCodecIdForbidden; - sound_rate = SrsAudioSampleRateForbidden; - sound_size = SrsAudioSampleBitsForbidden; - sound_type = SrsAudioChannelsForbidden; + id_ = SrsAudioCodecIdForbidden; + sound_rate_ = SrsAudioSampleRateForbidden; + sound_size_ = SrsAudioSampleBitsForbidden; + sound_type_ = SrsAudioChannelsForbidden; - audio_data_rate = 0; + audio_data_rate_ = 0; - aac_object = SrsAacObjectTypeForbidden; - aac_sample_rate = SrsAacSampleRateUnset; // sample rate ignored - aac_channels = 0; + aac_object_ = SrsAacObjectTypeForbidden; + aac_sample_rate_ = SrsAacSampleRateUnset; // sample rate ignored + aac_channels_ = 0; } SrsAudioCodecConfig::~SrsAudioCodecConfig() @@ -744,23 +744,23 @@ SrsAudioCodecConfig::~SrsAudioCodecConfig() bool SrsAudioCodecConfig::is_aac_codec_ok() { - return !aac_extra_data.empty(); + return !aac_extra_data_.empty(); } SrsVideoCodecConfig::SrsVideoCodecConfig() { - id = SrsVideoCodecIdForbidden; - video_data_rate = 0; - frame_rate = duration = 0; + id_ = SrsVideoCodecIdForbidden; + video_data_rate_ = 0; + frame_rate_ = duration_ = 0; - width = 0; - height = 0; + width_ = 0; + height_ = 0; - NAL_unit_length = 0; - avc_profile = SrsAvcProfileReserved; - avc_level = SrsAvcLevelReserved; + NAL_unit_length_ = 0; + avc_profile_ = SrsAvcProfileReserved; + avc_level_ = SrsAvcLevelReserved; - payload_format = SrsAvcPayloadFormatGuess; + payload_format_ = SrsAvcPayloadFormatGuess; } SrsVideoCodecConfig::~SrsVideoCodecConfig() @@ -769,7 +769,7 @@ SrsVideoCodecConfig::~SrsVideoCodecConfig() bool SrsVideoCodecConfig::is_avc_codec_ok() { - return !avc_extra_data.empty(); + return !avc_extra_data_.empty(); } bool srs_avc_startswith_annexb(SrsBuffer *stream, int *pnb_start_code) diff --git a/trunk/src/kernel/srs_kernel_codec.hpp b/trunk/src/kernel/srs_kernel_codec.hpp index 68c3d32dd..b201a2612 100644 --- a/trunk/src/kernel/srs_kernel_codec.hpp +++ b/trunk/src/kernel/srs_kernel_codec.hpp @@ -519,15 +519,15 @@ enum SrsHevcSliceType { }; struct SrsHevcNalData { - uint16_t nal_unit_length; - std::vector nal_unit_data; + uint16_t nal_unit_length_; + std::vector nal_unit_data_; }; struct SrsHevcHvccNalu { - uint8_t array_completeness; - uint8_t nal_unit_type; - uint16_t num_nalus; - std::vector nal_data_vec; + uint8_t array_completeness_; + uint8_t nal_unit_type_; + uint16_t num_nalus_; + std::vector nal_data_vec_; }; /** @@ -551,60 +551,60 @@ const int SrsHevcMax_PPS_COUNT = 64; */ struct SrsHevcProfileTierLevel { public: - uint8_t general_profile_space; - uint8_t general_tier_flag; - uint8_t general_profile_idc; - uint8_t general_profile_compatibility_flag[32]; - uint8_t general_progressive_source_flag; - uint8_t general_interlaced_source_flag; - uint8_t general_non_packed_constraint_flag; - uint8_t general_frame_only_constraint_flag; - uint8_t general_max_12bit_constraint_flag; - uint8_t general_max_10bit_constraint_flag; - uint8_t general_max_8bit_constraint_flag; - uint8_t general_max_422chroma_constraint_flag; - uint8_t general_max_420chroma_constraint_flag; - uint8_t general_max_monochrome_constraint_flag; - uint8_t general_intra_constraint_flag; - uint8_t general_one_picture_only_constraint_flag; - uint8_t general_lower_bit_rate_constraint_flag; - uint32_t general_max_14bit_constraint_flag; - uint8_t general_reserved_zero_7bits; - uint64_t general_reserved_zero_33bits; - uint64_t general_reserved_zero_34bits; - uint64_t general_reserved_zero_35bits; - uint64_t general_reserved_zero_43bits; - uint8_t general_inbld_flag; - uint8_t general_reserved_zero_bit; - uint8_t general_level_idc; - std::vector sub_layer_profile_present_flag; - std::vector sub_layer_level_present_flag; - uint8_t reserved_zero_2bits[8]; - std::vector sub_layer_profile_space; - std::vector sub_layer_tier_flag; - std::vector sub_layer_profile_idc; - std::vector > sub_layer_profile_compatibility_flag; - std::vector sub_layer_progressive_source_flag; - std::vector sub_layer_interlaced_source_flag; - std::vector sub_layer_non_packed_constraint_flag; - std::vector sub_layer_frame_only_constraint_flag; - std::vector sub_layer_max_12bit_constraint_flag; - std::vector sub_layer_max_10bit_constraint_flag; - std::vector sub_layer_max_8bit_constraint_flag; - std::vector sub_layer_max_422chroma_constraint_flag; - std::vector sub_layer_max_420chroma_constraint_flag; - std::vector sub_layer_max_monochrome_constraint_flag; - std::vector sub_layer_intra_constraint_flag; - std::vector sub_layer_one_picture_only_constraint_flag; - std::vector sub_layer_lower_bit_rate_constraint_flag; - std::vector sub_layer_reserved_zero_7bits; - std::vector sub_layer_reserved_zero_33bits; - std::vector sub_layer_reserved_zero_34bits; - std::vector sub_layer_reserved_zero_35bits; - std::vector sub_layer_reserved_zero_43bits; - std::vector sub_layer_inbld_flag; - std::vector sub_layer_reserved_zero_bit; - std::vector sub_layer_level_idc; + uint8_t general_profile_space_; + uint8_t general_tier_flag_; + uint8_t general_profile_idc_; + uint8_t general_profile_compatibility_flag_[32]; + uint8_t general_progressive_source_flag_; + uint8_t general_interlaced_source_flag_; + uint8_t general_non_packed_constraint_flag_; + uint8_t general_frame_only_constraint_flag_; + uint8_t general_max_12bit_constraint_flag_; + uint8_t general_max_10bit_constraint_flag_; + uint8_t general_max_8bit_constraint_flag_; + uint8_t general_max_422chroma_constraint_flag_; + uint8_t general_max_420chroma_constraint_flag_; + uint8_t general_max_monochrome_constraint_flag_; + uint8_t general_intra_constraint_flag_; + uint8_t general_one_picture_only_constraint_flag_; + uint8_t general_lower_bit_rate_constraint_flag_; + uint32_t general_max_14bit_constraint_flag_; + uint8_t general_reserved_zero_7bits_; + uint64_t general_reserved_zero_33bits_; + uint64_t general_reserved_zero_34bits_; + uint64_t general_reserved_zero_35bits_; + uint64_t general_reserved_zero_43bits_; + uint8_t general_inbld_flag_; + uint8_t general_reserved_zero_bit_; + uint8_t general_level_idc_; + std::vector sub_layer_profile_present_flag_; + std::vector sub_layer_level_present_flag_; + uint8_t reserved_zero_2bits_[8]; + std::vector sub_layer_profile_space_; + std::vector sub_layer_tier_flag_; + std::vector sub_layer_profile_idc_; + std::vector > sub_layer_profile_compatibility_flag_; + std::vector sub_layer_progressive_source_flag_; + std::vector sub_layer_interlaced_source_flag_; + std::vector sub_layer_non_packed_constraint_flag_; + std::vector sub_layer_frame_only_constraint_flag_; + std::vector sub_layer_max_12bit_constraint_flag_; + std::vector sub_layer_max_10bit_constraint_flag_; + std::vector sub_layer_max_8bit_constraint_flag_; + std::vector sub_layer_max_422chroma_constraint_flag_; + std::vector sub_layer_max_420chroma_constraint_flag_; + std::vector sub_layer_max_monochrome_constraint_flag_; + std::vector sub_layer_intra_constraint_flag_; + std::vector sub_layer_one_picture_only_constraint_flag_; + std::vector sub_layer_lower_bit_rate_constraint_flag_; + std::vector sub_layer_reserved_zero_7bits_; + std::vector sub_layer_reserved_zero_33bits_; + std::vector sub_layer_reserved_zero_34bits_; + std::vector sub_layer_reserved_zero_35bits_; + std::vector sub_layer_reserved_zero_43bits_; + std::vector sub_layer_inbld_flag_; + std::vector sub_layer_reserved_zero_bit_; + std::vector sub_layer_level_idc_; public: SrsHevcProfileTierLevel(); @@ -617,11 +617,11 @@ public: * @doc ITU-T-H.265-2021.pdf, page 440. */ struct SrsHevcSubLayerHrdParameters { - std::vector bit_rate_value_minus1; - std::vector cpb_size_value_minus1; - std::vector cpb_size_du_value_minus1; - std::vector bit_rate_du_value_minus1; - std::vector cbr_flag; + std::vector bit_rate_value_minus1_; + std::vector cpb_size_value_minus1_; + std::vector cpb_size_du_value_minus1_; + std::vector bit_rate_du_value_minus1_; + std::vector cbr_flag_; }; /** @@ -630,26 +630,26 @@ struct SrsHevcSubLayerHrdParameters { * @doc ITU-T-H.265-2021.pdf, page 439. */ struct SrsHevcHrdParameters { - uint8_t nal_hrd_parameters_present_flag; - uint8_t vcl_hrd_parameters_present_flag; - uint8_t sub_pic_hrd_params_present_flag; - uint8_t tick_divisor_minus2; - uint8_t du_cpb_removal_delay_increment_length_minus1; - uint8_t sub_pic_cpb_params_in_pic_timing_sei_flag; - uint8_t dpb_output_delay_du_length_minus1; - uint8_t bit_rate_scale; - uint8_t cpb_size_scale; - uint8_t cpb_size_du_scale; - uint8_t initial_cpb_removal_delay_length_minus1; - uint8_t au_cpb_removal_delay_length_minus1; - uint8_t dpb_output_delay_length_minus1; - std::vector fixed_pic_rate_general_flag; - std::vector fixed_pic_rate_within_cvs_flag; - std::vector elemental_duration_in_tc_minus1; - std::vector low_delay_hrd_flag; - std::vector cpb_cnt_minus1; - SrsHevcSubLayerHrdParameters sub_layer_hrd_parameters; // nal - SrsHevcSubLayerHrdParameters sub_layer_hrd_parameters_v; // vlc + uint8_t nal_hrd_parameters_present_flag_; + uint8_t vcl_hrd_parameters_present_flag_; + uint8_t sub_pic_hrd_params_present_flag_; + uint8_t tick_divisor_minus2_; + uint8_t du_cpb_removal_delay_increment_length_minus1_; + uint8_t sub_pic_cpb_params_in_pic_timing_sei_flag_; + uint8_t dpb_output_delay_du_length_minus1_; + uint8_t bit_rate_scale_; + uint8_t cpb_size_scale_; + uint8_t cpb_size_du_scale_; + uint8_t initial_cpb_removal_delay_length_minus1_; + uint8_t au_cpb_removal_delay_length_minus1_; + uint8_t dpb_output_delay_length_minus1_; + std::vector fixed_pic_rate_general_flag_; + std::vector fixed_pic_rate_within_cvs_flag_; + std::vector elemental_duration_in_tc_minus1_; + std::vector low_delay_hrd_flag_; + std::vector cpb_cnt_minus1_; + SrsHevcSubLayerHrdParameters sub_layer_hrd_parameters_; // nal + SrsHevcSubLayerHrdParameters sub_layer_hrd_parameters_v_; // vlc }; /** @@ -658,11 +658,11 @@ struct SrsHevcHrdParameters { * @doc ITU-T-H.265-2021.pdf, page 65. */ struct SrsHevcScalingListData { - uint32_t scaling_list_pred_mode_flag[4][6]; - uint32_t scaling_list_pred_matrix_id_delta[4][6]; - int32_t scaling_list_dc_coef_minus8[4][6]; - uint32_t ScalingList[4][6][64]; - int32_t coefNum; + uint32_t scaling_list_pred_mode_flag_[4][6]; + uint32_t scaling_list_pred_matrix_id_delta_[4][6]; + int32_t scaling_list_dc_coef_minus8_[4][6]; + uint32_t ScalingList_[4][6][64]; + int32_t coefNum_; }; /** @@ -671,15 +671,15 @@ struct SrsHevcScalingListData { * @doc ITU-T-H.265-2021.pdf, page 57. */ struct SrsHevcSpsRangeExtension { - uint8_t transform_skip_rotation_enabled_flag; - uint8_t transform_skip_context_enabled_flag; - uint8_t implicit_rdpcm_enabled_flag; - uint8_t explicit_rdpcm_enabled_flag; - uint8_t extended_precision_processing_flag; - uint8_t intra_smoothing_disabled_flag; - uint8_t high_precision_offsets_enabled_flag; - uint8_t persistent_rice_adaptation_enabled_flag; - uint8_t cabac_bypass_alignment_enabled_flag; + uint8_t transform_skip_rotation_enabled_flag_; + uint8_t transform_skip_context_enabled_flag_; + uint8_t implicit_rdpcm_enabled_flag_; + uint8_t explicit_rdpcm_enabled_flag_; + uint8_t extended_precision_processing_flag_; + uint8_t intra_smoothing_disabled_flag_; + uint8_t high_precision_offsets_enabled_flag_; + uint8_t persistent_rice_adaptation_enabled_flag_; + uint8_t cabac_bypass_alignment_enabled_flag_; }; /** @@ -688,15 +688,15 @@ struct SrsHevcSpsRangeExtension { * @doc ITU-T-H.265-2021.pdf, page 57. */ struct SrsHevcPpsRangeExtension { - uint32_t log2_max_transform_skip_block_size_minus2; - uint8_t cross_component_prediction_enabled_flag; - uint8_t chroma_qp_offset_list_enabled_flag; - uint32_t diff_cu_chroma_qp_offset_depth; - uint32_t chroma_qp_offset_list_len_minus1; - std::vector cb_qp_offset_list; - std::vector cr_qp_offset_list; - uint32_t log2_sao_offset_scale_luma; - uint32_t log2_sao_offset_scale_chroma; + uint32_t log2_max_transform_skip_block_size_minus2_; + uint8_t cross_component_prediction_enabled_flag_; + uint8_t chroma_qp_offset_list_enabled_flag_; + uint32_t diff_cu_chroma_qp_offset_depth_; + uint32_t chroma_qp_offset_list_len_minus1_; + std::vector cb_qp_offset_list_; + std::vector cr_qp_offset_list_; + uint32_t log2_sao_offset_scale_luma_; + uint32_t log2_sao_offset_scale_chroma_; }; /** @@ -705,19 +705,19 @@ struct SrsHevcPpsRangeExtension { * @doc ITU-T-H.265-2021.pdf, page 70. */ struct SrsHevcStRefPicSet { - uint8_t inter_ref_pic_set_prediction_flag; - int delta_idx_minus1; - uint8_t delta_rps_sign; - int abs_delta_rps_minus1; - std::vector used_by_curr_pic_flag; - std::vector use_delta_flag; - int num_negative_pics; - int num_positive_pics; + uint8_t inter_ref_pic_set_prediction_flag_; + int delta_idx_minus1_; + uint8_t delta_rps_sign_; + int abs_delta_rps_minus1_; + std::vector used_by_curr_pic_flag_; + std::vector use_delta_flag_; + int num_negative_pics_; + int num_positive_pics_; - std::vector delta_poc_s0_minus1; - std::vector used_by_curr_pic_s0_flag; - std::vector delta_poc_s1_minus1; - std::vector used_by_curr_pic_s1_flag; + std::vector delta_poc_s0_minus1_; + std::vector used_by_curr_pic_s0_flag_; + std::vector delta_poc_s1_minus1_; + std::vector used_by_curr_pic_s1_flag_; }; /** @@ -726,46 +726,46 @@ struct SrsHevcStRefPicSet { * @doc ITU-T-H.265-2021.pdf, page 437. */ struct SrsHevcVuiParameters { - uint8_t aspect_ratio_info_present_flag; - uint8_t aspect_ratio_idc; - int sar_width; - int sar_height; - uint8_t overscan_info_present_flag; - uint8_t overscan_appropriate_flag; - uint8_t video_signal_type_present_flag; - uint8_t video_format; - uint8_t video_full_range_flag; - uint8_t colour_description_present_flag; - uint8_t colour_primaries; - uint8_t transfer_characteristics; - uint8_t matrix_coeffs; - uint8_t chroma_loc_info_present_flag; - int chroma_sample_loc_type_top_field; - int chroma_sample_loc_type_bottom_field; - uint8_t neutral_chroma_indication_flag; - uint8_t field_seq_flag; - uint8_t frame_field_info_present_flag; - uint8_t default_display_window_flag; - int def_disp_win_left_offset; - int def_disp_win_right_offset; - int def_disp_win_top_offset; - int def_disp_win_bottom_offset; - uint8_t vui_timing_info_present_flag; - uint32_t vui_num_units_in_tick; - uint32_t vui_time_scale; - uint8_t vui_poc_proportional_to_timing_flag; - int vui_num_ticks_poc_diff_one_minus1; - uint8_t vui_hrd_parameters_present_flag; - SrsHevcHrdParameters hrd_parameters; - uint8_t bitstream_restriction_flag; - uint8_t tiles_fixed_structure_flag; - uint8_t motion_vectors_over_pic_boundaries_flag; - uint8_t restricted_ref_pic_lists_flag; - int min_spatial_segmentation_idc; - int max_bytes_per_pic_denom; - int max_bits_per_min_cu_denom; - int log2_max_mv_length_horizontal; - int log2_max_mv_length_vertical; + uint8_t aspect_ratio_info_present_flag_; + uint8_t aspect_ratio_idc_; + int sar_width_; + int sar_height_; + uint8_t overscan_info_present_flag_; + uint8_t overscan_appropriate_flag_; + uint8_t video_signal_type_present_flag_; + uint8_t video_format_; + uint8_t video_full_range_flag_; + uint8_t colour_description_present_flag_; + uint8_t colour_primaries_; + uint8_t transfer_characteristics_; + uint8_t matrix_coeffs_; + uint8_t chroma_loc_info_present_flag_; + int chroma_sample_loc_type_top_field_; + int chroma_sample_loc_type_bottom_field_; + uint8_t neutral_chroma_indication_flag_; + uint8_t field_seq_flag_; + uint8_t frame_field_info_present_flag_; + uint8_t default_display_window_flag_; + int def_disp_win_left_offset_; + int def_disp_win_right_offset_; + int def_disp_win_top_offset_; + int def_disp_win_bottom_offset_; + uint8_t vui_timing_info_present_flag_; + uint32_t vui_num_units_in_tick_; + uint32_t vui_time_scale_; + uint8_t vui_poc_proportional_to_timing_flag_; + int vui_num_ticks_poc_diff_one_minus1_; + uint8_t vui_hrd_parameters_present_flag_; + SrsHevcHrdParameters hrd_parameters_; + uint8_t bitstream_restriction_flag_; + uint8_t tiles_fixed_structure_flag_; + uint8_t motion_vectors_over_pic_boundaries_flag_; + uint8_t restricted_ref_pic_lists_flag_; + int min_spatial_segmentation_idc_; + int max_bytes_per_pic_denom_; + int max_bits_per_min_cu_denom_; + int log2_max_mv_length_horizontal_; + int log2_max_mv_length_vertical_; }; /** @@ -774,33 +774,33 @@ struct SrsHevcVuiParameters { * @doc ITU-T-H.265-2021.pdf, page 54. */ struct SrsHevcRbspVps { - uint8_t vps_video_parameter_set_id; // u(4) - uint8_t vps_base_layer_internal_flag; // u(1) - uint8_t vps_base_layer_available_flag; // u(1) - uint8_t vps_max_layers_minus1; // u(6) - uint8_t vps_max_sub_layers_minus1; // u(3) - uint8_t vps_temporal_id_nesting_flag; // u(1) - int vps_reserved_0xffff_16bits; // u(16) - SrsHevcProfileTierLevel ptl; - uint8_t vps_sub_layer_ordering_info_present_flag; + uint8_t vps_video_parameter_set_id_; // u(4) + uint8_t vps_base_layer_internal_flag_; // u(1) + uint8_t vps_base_layer_available_flag_; // u(1) + uint8_t vps_max_layers_minus1_; // u(6) + uint8_t vps_max_sub_layers_minus1_; // u(3) + uint8_t vps_temporal_id_nesting_flag_; // u(1) + int vps_reserved_0xffff_16bits_; // u(16) + SrsHevcProfileTierLevel ptl_; + uint8_t vps_sub_layer_ordering_info_present_flag_; // Sublayers - uint32_t vps_max_dec_pic_buffering_minus1[8]; // max u(3) - uint32_t vps_max_num_reorder_pics[8]; - uint32_t vps_max_latency_increase_plus1[8]; - uint8_t vps_max_layer_id; - uint32_t vps_num_layer_sets_minus1; - std::vector > layer_id_included_flag; - uint8_t vps_timing_info_present_flag; - uint32_t vps_num_units_in_tick; - uint32_t vps_time_scale; - uint8_t vps_poc_proportional_to_timing_flag; - uint32_t vps_num_ticks_poc_diff_one_minus1; - uint32_t vps_num_hrd_parameters; - std::vector hrd_layer_set_idx; - std::vector cprms_present_flag; - SrsHevcHrdParameters hrd_parameters; - uint8_t vps_extension_flag; - uint8_t vps_extension_data_flag; + uint32_t vps_max_dec_pic_buffering_minus1_[8]; // max u(3) + uint32_t vps_max_num_reorder_pics_[8]; + uint32_t vps_max_latency_increase_plus1_[8]; + uint8_t vps_max_layer_id_; + uint32_t vps_num_layer_sets_minus1_; + std::vector > layer_id_included_flag_; + uint8_t vps_timing_info_present_flag_; + uint32_t vps_num_units_in_tick_; + uint32_t vps_time_scale_; + uint8_t vps_poc_proportional_to_timing_flag_; + uint32_t vps_num_ticks_poc_diff_one_minus1_; + uint32_t vps_num_hrd_parameters_; + std::vector hrd_layer_set_idx_; + std::vector cprms_present_flag_; + SrsHevcHrdParameters hrd_parameters_; + uint8_t vps_extension_flag_; + uint8_t vps_extension_data_flag_; }; /** @@ -809,64 +809,64 @@ struct SrsHevcRbspVps { * @doc ITU-T-H.265-2021.pdf, page 55. */ struct SrsHevcRbspSps { - uint8_t sps_video_parameter_set_id; - uint8_t sps_max_sub_layers_minus1; - uint8_t sps_temporal_id_nesting_flag; - SrsHevcProfileTierLevel ptl; - uint32_t sps_seq_parameter_set_id; - uint32_t chroma_format_idc; - uint8_t separate_colour_plane_flag; - uint32_t pic_width_in_luma_samples; - uint32_t pic_height_in_luma_samples; - uint32_t conformance_window_flag; - uint32_t conf_win_left_offset; - uint32_t conf_win_right_offset; - uint32_t conf_win_top_offset; - uint32_t conf_win_bottom_offset; - uint32_t bit_depth_luma_minus8; - uint32_t bit_depth_chroma_minus8; - uint32_t log2_max_pic_order_cnt_lsb_minus4; - uint8_t sps_sub_layer_ordering_info_present_flag; - uint32_t sps_max_dec_pic_buffering_minus1[8]; // max u(3) - uint32_t sps_max_num_reorder_pics[8]; - uint32_t sps_max_latency_increase_plus1[8]; - uint32_t log2_min_luma_coding_block_size_minus3; - uint32_t log2_diff_max_min_luma_coding_block_size; - uint32_t log2_min_luma_transform_block_size_minus2; - uint32_t log2_diff_max_min_luma_transform_block_size; - uint32_t max_transform_hierarchy_depth_inter; - uint32_t max_transform_hierarchy_depth_intra; - uint8_t scaling_list_enabled_flag; - uint8_t sps_infer_scaling_list_flag; - uint32_t sps_scaling_list_ref_layer_id; - uint32_t sps_scaling_list_data_present_flag; - SrsHevcScalingListData scaling_list_data; - uint8_t amp_enabled_flag; - uint8_t sample_adaptive_offset_enabled_flag; - uint8_t pcm_enabled_flag; - uint8_t pcm_sample_bit_depth_luma_minus1; - uint8_t pcm_sample_bit_depth_chroma_minus1; - uint32_t log2_min_pcm_luma_coding_block_size_minus3; - uint32_t log2_diff_max_min_pcm_luma_coding_block_size; - uint8_t pcm_loop_filter_disabled_flag; - uint32_t num_short_term_ref_pic_sets; - std::vector st_ref_pic_set; - uint8_t long_term_ref_pics_present_flag; - uint32_t num_long_term_ref_pics_sps; - uint32_t lt_ref_pic_poc_lsb_sps_bytes; - std::vector lt_ref_pic_poc_lsb_sps; - std::vector used_by_curr_pic_lt_sps_flag; - uint8_t sps_temporal_mvp_enabled_flag; - uint8_t strong_intra_smoothing_enabled_flag; - uint8_t vui_parameters_present_flag; - SrsHevcVuiParameters vui; - uint8_t sps_extension_present_flag; - uint8_t sps_range_extension_flag; - uint8_t sps_multilayer_extension_flag; - uint8_t sps_3d_extension_flag; - uint8_t sps_extension_5bits; - SrsHevcSpsRangeExtension sps_range_extension; - uint8_t inter_view_mv_vert_constraint_flag; // sps_multilayer_extension_t sps_multilayer_extension; + uint8_t sps_video_parameter_set_id_; + uint8_t sps_max_sub_layers_minus1_; + uint8_t sps_temporal_id_nesting_flag_; + SrsHevcProfileTierLevel ptl_; + uint32_t sps_seq_parameter_set_id_; + uint32_t chroma_format_idc_; + uint8_t separate_colour_plane_flag_; + uint32_t pic_width_in_luma_samples_; + uint32_t pic_height_in_luma_samples_; + uint32_t conformance_window_flag_; + uint32_t conf_win_left_offset_; + uint32_t conf_win_right_offset_; + uint32_t conf_win_top_offset_; + uint32_t conf_win_bottom_offset_; + uint32_t bit_depth_luma_minus8_; + uint32_t bit_depth_chroma_minus8_; + uint32_t log2_max_pic_order_cnt_lsb_minus4_; + uint8_t sps_sub_layer_ordering_info_present_flag_; + uint32_t sps_max_dec_pic_buffering_minus1_[8]; // max u(3) + uint32_t sps_max_num_reorder_pics_[8]; + uint32_t sps_max_latency_increase_plus1_[8]; + uint32_t log2_min_luma_coding_block_size_minus3_; + uint32_t log2_diff_max_min_luma_coding_block_size_; + uint32_t log2_min_luma_transform_block_size_minus2_; + uint32_t log2_diff_max_min_luma_transform_block_size_; + uint32_t max_transform_hierarchy_depth_inter_; + uint32_t max_transform_hierarchy_depth_intra_; + uint8_t scaling_list_enabled_flag_; + uint8_t sps_infer_scaling_list_flag_; + uint32_t sps_scaling_list_ref_layer_id_; + uint32_t sps_scaling_list_data_present_flag_; + SrsHevcScalingListData scaling_list_data_; + uint8_t amp_enabled_flag_; + uint8_t sample_adaptive_offset_enabled_flag_; + uint8_t pcm_enabled_flag_; + uint8_t pcm_sample_bit_depth_luma_minus1_; + uint8_t pcm_sample_bit_depth_chroma_minus1_; + uint32_t log2_min_pcm_luma_coding_block_size_minus3_; + uint32_t log2_diff_max_min_pcm_luma_coding_block_size_; + uint8_t pcm_loop_filter_disabled_flag_; + uint32_t num_short_term_ref_pic_sets_; + std::vector st_ref_pic_set_; + uint8_t long_term_ref_pics_present_flag_; + uint32_t num_long_term_ref_pics_sps_; + uint32_t lt_ref_pic_poc_lsb_sps_bytes_; + std::vector lt_ref_pic_poc_lsb_sps_; + std::vector used_by_curr_pic_lt_sps_flag_; + uint8_t sps_temporal_mvp_enabled_flag_; + uint8_t strong_intra_smoothing_enabled_flag_; + uint8_t vui_parameters_present_flag_; + SrsHevcVuiParameters vui_; + uint8_t sps_extension_present_flag_; + uint8_t sps_range_extension_flag_; + uint8_t sps_multilayer_extension_flag_; + uint8_t sps_3d_extension_flag_; + uint8_t sps_extension_5bits_; + SrsHevcSpsRangeExtension sps_range_extension_; + uint8_t inter_view_mv_vert_constraint_flag_; // sps_multilayer_extension_t sps_multilayer_extension; // sps_3d_extension_t sps_3d_extension; // int sps_extension_data_flag; // no need // rbsp_trailing_bits()... @@ -878,81 +878,81 @@ struct SrsHevcRbspSps { * @doc ITU-T-H.265-2021.pdf, page 57. */ struct SrsHevcRbspPps { - uint8_t pps_pic_parameter_set_id; - uint8_t pps_seq_parameter_set_id; - uint8_t dependent_slice_segments_enabled_flag; - uint8_t output_flag_present_flag; - uint8_t num_extra_slice_header_bits; - uint8_t sign_data_hiding_enabled_flag; - uint8_t cabac_init_present_flag; - uint32_t num_ref_idx_l0_default_active_minus1; - uint32_t num_ref_idx_l1_default_active_minus1; - int32_t init_qp_minus26; - uint8_t constrained_intra_pred_flag; - uint8_t transform_skip_enabled_flag; - uint8_t cu_qp_delta_enabled_flag; - uint32_t diff_cu_qp_delta_depth; - int32_t pps_cb_qp_offset; - int32_t pps_cr_qp_offset; - uint8_t pps_slice_chroma_qp_offsets_present_flag; - uint8_t weighted_pred_flag; - uint32_t weighted_bipred_flag; - uint8_t transquant_bypass_enabled_flag; - uint8_t tiles_enabled_flag; - uint8_t entropy_coding_sync_enabled_flag; - uint32_t num_tile_columns_minus1; - uint32_t num_tile_rows_minus1; - uint32_t uniform_spacing_flag; - std::vector column_width_minus1; - std::vector row_height_minus1; - uint8_t loop_filter_across_tiles_enabled_flag; - uint8_t pps_loop_filter_across_slices_enabled_flag; - uint8_t deblocking_filter_control_present_flag; - uint8_t deblocking_filter_override_enabled_flag; - uint8_t pps_deblocking_filter_disabled_flag; - int32_t pps_beta_offset_div2; - int32_t pps_tc_offset_div2; - uint8_t pps_scaling_list_data_present_flag; - SrsHevcScalingListData scaling_list_data; - uint8_t lists_modification_present_flag; - uint32_t log2_parallel_merge_level_minus2; - uint8_t slice_segment_header_extension_present_flag; - uint8_t pps_extension_present_flag; - uint8_t pps_range_extension_flag; - uint8_t pps_multilayer_extension_flag; - uint8_t pps_3d_extension_flag; - uint8_t pps_scc_extension_flag; - uint8_t pps_extension_4bits; - SrsHevcPpsRangeExtension pps_range_extension; + uint8_t pps_pic_parameter_set_id_; + uint8_t pps_seq_parameter_set_id_; + uint8_t dependent_slice_segments_enabled_flag_; + uint8_t output_flag_present_flag_; + uint8_t num_extra_slice_header_bits_; + uint8_t sign_data_hiding_enabled_flag_; + uint8_t cabac_init_present_flag_; + uint32_t num_ref_idx_l0_default_active_minus1_; + uint32_t num_ref_idx_l1_default_active_minus1_; + int32_t init_qp_minus26_; + uint8_t constrained_intra_pred_flag_; + uint8_t transform_skip_enabled_flag_; + uint8_t cu_qp_delta_enabled_flag_; + uint32_t diff_cu_qp_delta_depth_; + int32_t pps_cb_qp_offset_; + int32_t pps_cr_qp_offset_; + uint8_t pps_slice_chroma_qp_offsets_present_flag_; + uint8_t weighted_pred_flag_; + uint32_t weighted_bipred_flag_; + uint8_t transquant_bypass_enabled_flag_; + uint8_t tiles_enabled_flag_; + uint8_t entropy_coding_sync_enabled_flag_; + uint32_t num_tile_columns_minus1_; + uint32_t num_tile_rows_minus1_; + uint32_t uniform_spacing_flag_; + std::vector column_width_minus1_; + std::vector row_height_minus1_; + uint8_t loop_filter_across_tiles_enabled_flag_; + uint8_t pps_loop_filter_across_slices_enabled_flag_; + uint8_t deblocking_filter_control_present_flag_; + uint8_t deblocking_filter_override_enabled_flag_; + uint8_t pps_deblocking_filter_disabled_flag_; + int32_t pps_beta_offset_div2_; + int32_t pps_tc_offset_div2_; + uint8_t pps_scaling_list_data_present_flag_; + SrsHevcScalingListData scaling_list_data_; + uint8_t lists_modification_present_flag_; + uint32_t log2_parallel_merge_level_minus2_; + uint8_t slice_segment_header_extension_present_flag_; + uint8_t pps_extension_present_flag_; + uint8_t pps_range_extension_flag_; + uint8_t pps_multilayer_extension_flag_; + uint8_t pps_3d_extension_flag_; + uint8_t pps_scc_extension_flag_; + uint8_t pps_extension_4bits_; + SrsHevcPpsRangeExtension pps_range_extension_; // pps_multilayer_extension_t pps_multilayer_extension; // pps_3d_extension_t pps_3d_extension; - uint8_t pps_extension_data_flag; + uint8_t pps_extension_data_flag_; // rbsp_trailing_bits( ) ... }; struct SrsHevcDecoderConfigurationRecord { - uint8_t configuration_version; - uint8_t general_profile_space; - uint8_t general_tier_flag; - uint8_t general_profile_idc; - uint32_t general_profile_compatibility_flags; - uint64_t general_constraint_indicator_flags; - uint8_t general_level_idc; - uint16_t min_spatial_segmentation_idc; - uint8_t parallelism_type; - uint8_t chroma_format; - uint8_t bit_depth_luma_minus8; - uint8_t bit_depth_chroma_minus8; - uint16_t avg_frame_rate; - uint8_t constant_frame_rate; - uint8_t num_temporal_layers; - uint8_t temporal_id_nested; - uint8_t length_size_minus_one; - std::vector nalu_vec; + uint8_t configuration_version_; + uint8_t general_profile_space_; + uint8_t general_tier_flag_; + uint8_t general_profile_idc_; + uint32_t general_profile_compatibility_flags_; + uint64_t general_constraint_indicator_flags_; + uint8_t general_level_idc_; + uint16_t min_spatial_segmentation_idc_; + uint8_t parallelism_type_; + uint8_t chroma_format_; + uint8_t bit_depth_luma_minus8_; + uint8_t bit_depth_chroma_minus8_; + uint16_t avg_frame_rate_; + uint8_t constant_frame_rate_; + uint8_t num_temporal_layers_; + uint8_t temporal_id_nested_; + uint8_t length_size_minus_one_; + std::vector nalu_vec_; - SrsHevcRbspVps vps_table[SrsHevcMax_VPS_COUNT]; - SrsHevcRbspSps sps_table[SrsHevcMax_SPS_COUNT]; - SrsHevcRbspPps pps_table[SrsHevcMax_PPS_COUNT]; + SrsHevcRbspVps vps_table_[SrsHevcMax_VPS_COUNT]; + SrsHevcRbspSps sps_table_[SrsHevcMax_SPS_COUNT]; + SrsHevcRbspPps pps_table_[SrsHevcMax_PPS_COUNT]; }; /** @@ -1132,15 +1132,15 @@ class SrsAudioCodecConfig : public SrsCodecConfig // In FLV specification. public: // The audio codec id; for FLV, it's SoundFormat. - SrsAudioCodecId id; + SrsAudioCodecId id_; // The audio sample rate; for FLV, it's SoundRate. - SrsAudioSampleRate sound_rate; + SrsAudioSampleRate sound_rate_; // The audio sample size, such as 16 bits; for FLV, it's SoundSize. - SrsAudioSampleBits sound_size; + SrsAudioSampleBits sound_size_; // The audio number of channels; for FLV, it's SoundType. // TODO: FIXME: Rename to sound_channels. - SrsAudioChannels sound_type; - int audio_data_rate; // in bps + SrsAudioChannels sound_type_; + int audio_data_rate_; // in bps // In AAC specification. public: /** @@ -1149,15 +1149,15 @@ public: * 1.5.1.1 Audio object type definition, page 23, * in ISO_IEC_14496-3-AAC-2001.pdf. */ - SrsAacObjectType aac_object; + SrsAacObjectType aac_object_; /** * samplingFrequencyIndex */ - uint8_t aac_sample_rate; + uint8_t aac_sample_rate_; /** * channelConfiguration */ - uint8_t aac_channels; + uint8_t aac_channels_; // Sequence header payload. public: /** @@ -1165,7 +1165,7 @@ public: * without the flv codec header, * @see: ffmpeg, AVCodecContext::extradata */ - std::vector aac_extra_data; + std::vector aac_extra_data_; public: SrsAudioCodecConfig(); @@ -1181,12 +1181,12 @@ public: class SrsVideoCodecConfig : public SrsCodecConfig { public: - SrsVideoCodecId id; - int video_data_rate; // in bps - double frame_rate; - double duration; - int width; - int height; + SrsVideoCodecId id_; + int video_data_rate_; // in bps + double frame_rate_; + double duration_; + int width_; + int height_; public: /** @@ -1194,29 +1194,29 @@ public: * without the flv codec header, * @see: ffmpeg, AVCodecContext::extradata */ - std::vector avc_extra_data; + std::vector avc_extra_data_; public: /** * video specified */ // profile_idc, ISO_IEC_14496-10-AVC-2003.pdf, page 45. - SrsAvcProfile avc_profile; + SrsAvcProfile avc_profile_; // level_idc, ISO_IEC_14496-10-AVC-2003.pdf, page 45. - SrsAvcLevel avc_level; + SrsAvcLevel avc_level_; // The profile_idc, ITU-T-H.265-2021.pdf, page 62. - SrsHevcProfile hevc_profile; + SrsHevcProfile hevc_profile_; // The level_idc, ITU-T-H.265-2021.pdf, page 63. - SrsHevcLevel hevc_level; + SrsHevcLevel hevc_level_; // lengthSizeMinusOne, ISO_IEC_14496-15-AVC-format-2012.pdf, page 16 - int8_t NAL_unit_length; + int8_t NAL_unit_length_; // Note that we may resize the vector, so the under-layer bytes may change. - std::vector sequenceParameterSetNALUnit; - std::vector pictureParameterSetNALUnit; + std::vector sequenceParameterSetNALUnit_; + std::vector pictureParameterSetNALUnit_; public: // the avc payload format. - SrsAvcPayloadFormat payload_format; + SrsAvcPayloadFormat payload_format_; public: SrsHevcDecoderConfigurationRecord hevc_dec_conf_record_; diff --git a/trunk/src/kernel/srs_kernel_error.cpp b/trunk/src/kernel/srs_kernel_error.cpp index 12e1b11a4..002c829f3 100644 --- a/trunk/src/kernel/srs_kernel_error.cpp +++ b/trunk/src/kernel/srs_kernel_error.cpp @@ -214,21 +214,21 @@ bool srs_is_server_gracefully_close(srs_error_t err) SrsCplxError::SrsCplxError() { - code = ERROR_SUCCESS; - wrapped = NULL; - rerrno = line = 0; + code_ = ERROR_SUCCESS; + wrapped_ = NULL; + rerrno_ = line_ = 0; } SrsCplxError::~SrsCplxError() { - srs_freep(wrapped); + srs_freep(wrapped_); } std::string SrsCplxError::description() { - if (desc.empty()) { + if (desc_.empty()) { stringstream ss; - ss << "code=" << code; + ss << "code=" << code_; string code_str = srs_error_code_str(this); if (!code_str.empty()) @@ -240,36 +240,36 @@ std::string SrsCplxError::description() SrsCplxError *next = this; while (next) { - ss << " : " << next->msg; - next = next->wrapped; + ss << " : " << next->msg_; + next = next->wrapped_; } ss << endl; next = this; while (next) { - ss << "thread [" << getpid() << "][" << next->cid.c_str() << "]: " - << next->func << "() [" << next->file << ":" << next->line << "]" - << "[errno=" << next->rerrno << "]"; + ss << "thread [" << getpid() << "][" << next->cid_.c_str() << "]: " + << next->func_ << "() [" << next->file_ << ":" << next->line_ << "]" + << "[errno=" << next->rerrno_ << "]"; - next = next->wrapped; + next = next->wrapped_; if (next) { ss << endl; } } - desc = ss.str(); + desc_ = ss.str(); } - return desc; + return desc_; } std::string SrsCplxError::summary() { - if (_summary.empty()) { + if (summary_.empty()) { stringstream ss; - ss << "code=" << code; + ss << "code=" << code_; string code_str = srs_error_code_str(this); if (!code_str.empty()) @@ -277,14 +277,14 @@ std::string SrsCplxError::summary() SrsCplxError *next = this; while (next) { - ss << " : " << next->msg; - next = next->wrapped; + ss << " : " << next->msg_; + next = next->wrapped_; } - _summary = ss.str(); + summary_ = ss.str(); } - return _summary; + return summary_; } SrsCplxError *SrsCplxError::create(const char *func, const char *file, int line, int code, const char *fmt, ...) @@ -299,17 +299,17 @@ SrsCplxError *SrsCplxError::create(const char *func, const char *file, int line, SrsCplxError *err = new SrsCplxError(); - err->func = func; - err->file = file; - err->line = line; - err->code = code; - err->rerrno = rerrno; + err->func_ = func; + err->file_ = file; + err->line_ = line; + err->code_ = code; + err->rerrno_ = rerrno; if (r0 > 0 && r0 < maxLogBuf) { - err->msg = string(buffer, r0); + err->msg_ = string(buffer, r0); } - err->wrapped = NULL; + err->wrapped_ = NULL; if (_srs_context) { - err->cid = _srs_context->get_id(); + err->cid_ = _srs_context->get_id(); } return err; @@ -327,19 +327,19 @@ SrsCplxError *SrsCplxError::wrap(const char *func, const char *file, int line, S SrsCplxError *err = new SrsCplxError(); - err->func = func; - err->file = file; - err->line = line; + err->func_ = func; + err->file_ = file; + err->line_ = line; if (v) { - err->code = v->code; + err->code_ = v->code_; } - err->rerrno = rerrno; + err->rerrno_ = rerrno; if (r0 > 0 && r0 < maxLogBuf) { - err->msg = string(buffer, r0); + err->msg_ = string(buffer, r0); } - err->wrapped = v; + err->wrapped_ = v; if (_srs_context) { - err->cid = _srs_context->get_id(); + err->cid_ = _srs_context->get_id(); } return err; @@ -358,15 +358,15 @@ SrsCplxError *SrsCplxError::copy(SrsCplxError *from) SrsCplxError *err = new SrsCplxError(); - err->code = from->code; - err->wrapped = srs_error_copy(from->wrapped); - err->msg = from->msg; - err->func = from->func; - err->file = from->file; - err->line = from->line; - err->cid = from->cid; - err->rerrno = from->rerrno; - err->desc = from->desc; + err->code_ = from->code_; + err->wrapped_ = srs_error_copy(from->wrapped_); + err->msg_ = from->msg_; + err->func_ = from->func_; + err->file_ = from->file_; + err->line_ = from->line_; + err->cid_ = from->cid_; + err->rerrno_ = from->rerrno_; + err->desc_ = from->desc_; return err; } @@ -383,7 +383,7 @@ string SrsCplxError::summary(SrsCplxError *err) int SrsCplxError::error_code(SrsCplxError *err) { - return err ? err->code : ERROR_SUCCESS; + return err ? err->code_ : ERROR_SUCCESS; } #define SRS_STRERRNO_GEN(n, v, m, s) {(SrsErrorCode)v, m, s}, diff --git a/trunk/src/kernel/srs_kernel_error.hpp b/trunk/src/kernel/srs_kernel_error.hpp index 341bba819..f6e08b550 100644 --- a/trunk/src/kernel/srs_kernel_error.hpp +++ b/trunk/src/kernel/srs_kernel_error.hpp @@ -434,19 +434,19 @@ extern bool srs_is_server_gracefully_close(srs_error_t err); class SrsCplxError { private: - int code; - SrsCplxError *wrapped; - std::string msg; + int code_; + SrsCplxError *wrapped_; + std::string msg_; - std::string func; - std::string file; - int line; + std::string func_; + std::string file_; + int line_; - SrsContextId cid; - int rerrno; + SrsContextId cid_; + int rerrno_; - std::string desc; - std::string _summary; + std::string desc_; + std::string summary_; private: SrsCplxError(); diff --git a/trunk/src/kernel/srs_kernel_file.cpp b/trunk/src/kernel/srs_kernel_file.cpp index fe91c9176..1284eb960 100644 --- a/trunk/src/kernel/srs_kernel_file.cpp +++ b/trunk/src/kernel/srs_kernel_file.cpp @@ -201,7 +201,7 @@ SrsFileReader *ISrsFileReaderFactory::create_file_reader() SrsFileReader::SrsFileReader() { - fd = -1; + fd_ = -1; } SrsFileReader::~SrsFileReader() @@ -213,15 +213,15 @@ srs_error_t SrsFileReader::open(string p) { srs_error_t err = srs_success; - if (fd > 0) { - return srs_error_new(ERROR_SYSTEM_FILE_ALREADY_OPENED, "file %s already opened", path.c_str()); + if (fd_ > 0) { + return srs_error_new(ERROR_SYSTEM_FILE_ALREADY_OPENED, "file %s already opened", path_.c_str()); } - if ((fd = _srs_open_fn(p.c_str(), O_RDONLY)) < 0) { + if ((fd_ = _srs_open_fn(p.c_str(), O_RDONLY)) < 0) { return srs_error_new(ERROR_SYSTEM_FILE_OPENE, "open file %s failed", p.c_str()); } - path = p; + path_ = p; return err; } @@ -230,45 +230,45 @@ void SrsFileReader::close() { int ret = ERROR_SUCCESS; - if (fd < 0) { + if (fd_ < 0) { return; } - if (_srs_close_fn(fd) < 0) { - srs_warn("close file %s failed. ret=%d", path.c_str(), ret); + if (_srs_close_fn(fd_) < 0) { + srs_warn("close file %s failed. ret=%d", path_.c_str(), ret); } - fd = -1; + fd_ = -1; return; } bool SrsFileReader::is_open() { - return fd > 0; + return fd_ > 0; } int64_t SrsFileReader::tellg() { - return (int64_t)_srs_lseek_fn(fd, 0, SEEK_CUR); + return (int64_t)_srs_lseek_fn(fd_, 0, SEEK_CUR); } void SrsFileReader::skip(int64_t size) { - off_t r0 = _srs_lseek_fn(fd, (off_t)size, SEEK_CUR); + off_t r0 = _srs_lseek_fn(fd_, (off_t)size, SEEK_CUR); srs_assert(r0 != -1); } int64_t SrsFileReader::seek2(int64_t offset) { - return (int64_t)_srs_lseek_fn(fd, (off_t)offset, SEEK_SET); + return (int64_t)_srs_lseek_fn(fd_, (off_t)offset, SEEK_SET); } int64_t SrsFileReader::filesize() { int64_t cur = tellg(); - int64_t size = (int64_t)_srs_lseek_fn(fd, 0, SEEK_END); + int64_t size = (int64_t)_srs_lseek_fn(fd_, 0, SEEK_END); - off_t r0 = _srs_lseek_fn(fd, (off_t)cur, SEEK_SET); + off_t r0 = _srs_lseek_fn(fd_, (off_t)cur, SEEK_SET); srs_assert(r0 != -1); return size; @@ -280,8 +280,8 @@ srs_error_t SrsFileReader::read(void *buf, size_t count, ssize_t *pnread) ssize_t nread; // TODO: FIXME: use st_read. - if ((nread = _srs_read_fn(fd, buf, count)) < 0) { - return srs_error_new(ERROR_SYSTEM_FILE_READ, "read from file %s failed", path.c_str()); + if ((nread = _srs_read_fn(fd_, buf, count)) < 0) { + return srs_error_new(ERROR_SYSTEM_FILE_READ, "read from file %s failed", path_.c_str()); } if (nread == 0) { @@ -297,7 +297,7 @@ srs_error_t SrsFileReader::read(void *buf, size_t count, ssize_t *pnread) srs_error_t SrsFileReader::lseek(off_t offset, int whence, off_t *seeked) { - off_t sk = _srs_lseek_fn(fd, offset, whence); + off_t sk = _srs_lseek_fn(fd_, offset, whence); if (sk < 0) { return srs_error_new(ERROR_SYSTEM_FILE_SEEK, "seek %d failed", (int)sk); } diff --git a/trunk/src/kernel/srs_kernel_file.hpp b/trunk/src/kernel/srs_kernel_file.hpp index 83b26a6cc..c5bcef9c7 100644 --- a/trunk/src/kernel/srs_kernel_file.hpp +++ b/trunk/src/kernel/srs_kernel_file.hpp @@ -83,8 +83,8 @@ public: class SrsFileReader : public ISrsReadSeeker { private: - std::string path; - int fd; + std::string path_; + int fd_; public: SrsFileReader(); diff --git a/trunk/src/kernel/srs_kernel_flv.cpp b/trunk/src/kernel/srs_kernel_flv.cpp index 0b672922e..3472056e0 100644 --- a/trunk/src/kernel/srs_kernel_flv.cpp +++ b/trunk/src/kernel/srs_kernel_flv.cpp @@ -45,19 +45,19 @@ int srs_rtmp_prefer_cid(SrsFrameType message_type) int srs_rtmp_write_chunk_header(SrsMediaPacket *msg, char *cache, int nb_cache, bool c0) { int payload_length = msg->payload_.get() ? msg->payload_->size() : 0; - int chunk_id = srs_rtmp_prefer_cid(msg->message_type); + int chunk_id = srs_rtmp_prefer_cid(msg->message_type_); if (c0) { return srs_chunk_header_c0(chunk_id, - (uint32_t)msg->timestamp, + (uint32_t)msg->timestamp_, payload_length, - msg->message_type, - msg->stream_id, + msg->message_type_, + msg->stream_id_, cache, nb_cache); } else { return srs_chunk_header_c3(chunk_id, - (uint32_t)msg->timestamp, + (uint32_t)msg->timestamp_, cache, nb_cache); } @@ -188,12 +188,12 @@ int srs_chunk_header_c3(int prefer_cid, uint32_t timestamp, char *cache, int nb_ SrsMessageHeader::SrsMessageHeader() { - message_type = 0; - payload_length = 0; - timestamp_delta = 0; - stream_id = 0; + message_type_ = 0; + payload_length_ = 0; + timestamp_delta_ = 0; + stream_id_ = 0; - timestamp = 0; + timestamp_ = 0; } SrsMessageHeader::~SrsMessageHeader() @@ -202,89 +202,89 @@ SrsMessageHeader::~SrsMessageHeader() bool SrsMessageHeader::is_audio() { - return message_type == RTMP_MSG_AudioMessage; + return message_type_ == RTMP_MSG_AudioMessage; } bool SrsMessageHeader::is_video() { - return message_type == RTMP_MSG_VideoMessage; + return message_type_ == RTMP_MSG_VideoMessage; } bool SrsMessageHeader::is_amf0_command() { - return message_type == RTMP_MSG_AMF0CommandMessage; + return message_type_ == RTMP_MSG_AMF0CommandMessage; } bool SrsMessageHeader::is_amf0_data() { - return message_type == RTMP_MSG_AMF0DataMessage; + return message_type_ == RTMP_MSG_AMF0DataMessage; } bool SrsMessageHeader::is_amf3_command() { - return message_type == RTMP_MSG_AMF3CommandMessage; + return message_type_ == RTMP_MSG_AMF3CommandMessage; } bool SrsMessageHeader::is_amf3_data() { - return message_type == RTMP_MSG_AMF3DataMessage; + return message_type_ == RTMP_MSG_AMF3DataMessage; } bool SrsMessageHeader::is_window_ackledgement_size() { - return message_type == RTMP_MSG_WindowAcknowledgementSize; + return message_type_ == RTMP_MSG_WindowAcknowledgementSize; } bool SrsMessageHeader::is_ackledgement() { - return message_type == RTMP_MSG_Acknowledgement; + return message_type_ == RTMP_MSG_Acknowledgement; } bool SrsMessageHeader::is_set_chunk_size() { - return message_type == RTMP_MSG_SetChunkSize; + return message_type_ == RTMP_MSG_SetChunkSize; } bool SrsMessageHeader::is_user_control_message() { - return message_type == RTMP_MSG_UserControlMessage; + return message_type_ == RTMP_MSG_UserControlMessage; } bool SrsMessageHeader::is_set_peer_bandwidth() { - return message_type == RTMP_MSG_SetPeerBandwidth; + return message_type_ == RTMP_MSG_SetPeerBandwidth; } bool SrsMessageHeader::is_aggregate() { - return message_type == RTMP_MSG_AggregateMessage; + return message_type_ == RTMP_MSG_AggregateMessage; } void SrsMessageHeader::initialize_amf0_script(int size, int stream) { - message_type = RTMP_MSG_AMF0DataMessage; - payload_length = (int32_t)size; - timestamp_delta = (int32_t)0; - timestamp = (int64_t)0; - stream_id = (int32_t)stream; + message_type_ = RTMP_MSG_AMF0DataMessage; + payload_length_ = (int32_t)size; + timestamp_delta_ = (int32_t)0; + timestamp_ = (int64_t)0; + stream_id_ = (int32_t)stream; } void SrsMessageHeader::initialize_audio(int size, uint32_t time, int stream) { - message_type = RTMP_MSG_AudioMessage; - payload_length = (int32_t)size; - timestamp_delta = (int32_t)time; - timestamp = (int64_t)time; - stream_id = (int32_t)stream; + message_type_ = RTMP_MSG_AudioMessage; + payload_length_ = (int32_t)size; + timestamp_delta_ = (int32_t)time; + timestamp_ = (int64_t)time; + stream_id_ = (int32_t)stream; } void SrsMessageHeader::initialize_video(int size, uint32_t time, int stream) { - message_type = RTMP_MSG_VideoMessage; - payload_length = (int32_t)size; - timestamp_delta = (int32_t)time; - timestamp = (int64_t)time; - stream_id = (int32_t)stream; + message_type_ = RTMP_MSG_VideoMessage; + payload_length_ = (int32_t)size; + timestamp_delta_ = (int32_t)time; + timestamp_ = (int64_t)time; + stream_id_ = (int32_t)stream; } SrsRtmpCommonMessage::SrsRtmpCommonMessage() @@ -317,7 +317,7 @@ srs_error_t SrsRtmpCommonMessage::create(SrsMessageHeader *pheader, char *body, payload_->attach(body, size); if (pheader) { - this->header = *pheader; + this->header_ = *pheader; } return err; @@ -326,37 +326,37 @@ srs_error_t SrsRtmpCommonMessage::create(SrsMessageHeader *pheader, char *body, void SrsRtmpCommonMessage::to_msg(SrsMediaPacket *msg) { msg->payload_ = payload_; - msg->timestamp = header.timestamp; - msg->stream_id = header.stream_id; - msg->message_type = (SrsFrameType)header.message_type; + msg->timestamp_ = header_.timestamp_; + msg->stream_id_ = header_.stream_id_; + msg->message_type_ = (SrsFrameType)header_.message_type_; } SrsFlvTransmuxer::SrsFlvTransmuxer() { - writer = NULL; + writer_ = NULL; drop_if_not_match_ = true; has_audio_ = true; has_video_ = true; - nb_tag_headers = 0; - tag_headers = NULL; - nb_iovss_cache = 0; - iovss_cache = NULL; - nb_ppts = 0; - ppts = NULL; + nb_tag_headers_ = 0; + tag_headers_ = NULL; + nb_iovss_cache_ = 0; + iovss_cache_ = NULL; + nb_ppts_ = 0; + ppts_ = NULL; } SrsFlvTransmuxer::~SrsFlvTransmuxer() { - srs_freepa(tag_headers); - srs_freepa(iovss_cache); - srs_freepa(ppts); + srs_freepa(tag_headers_); + srs_freepa(iovss_cache_); + srs_freepa(ppts_); } srs_error_t SrsFlvTransmuxer::initialize(ISrsWriter *fw) { srs_assert(fw); - writer = fw; + writer_ = fw; return srs_success; } @@ -406,13 +406,13 @@ srs_error_t SrsFlvTransmuxer::write_header(char flv_header[9]) srs_error_t err = srs_success; // write data. - if ((err = writer->write(flv_header, 9, NULL)) != srs_success) { + if ((err = writer_->write(flv_header, 9, NULL)) != srs_success) { return srs_error_wrap(err, "write flv header failed"); } // previous tag size. char pts[] = {(char)0x00, (char)0x00, (char)0x00, (char)0x00}; - if ((err = writer->write(pts, 4, NULL)) != srs_success) { + if ((err = writer_->write(pts, 4, NULL)) != srs_success) { return srs_error_wrap(err, "write pts"); } @@ -424,10 +424,10 @@ srs_error_t SrsFlvTransmuxer::write_metadata(char type, char *data, int size) srs_error_t err = srs_success; if (size > 0) { - cache_metadata(type, data, size, tag_header); + cache_metadata(type, data, size, tag_header_); } - if ((err = write_tag(tag_header, sizeof(tag_header), data, size)) != srs_success) { + if ((err = write_tag(tag_header_, sizeof(tag_header_), data, size)) != srs_success) { return srs_error_wrap(err, "write tag"); } @@ -442,10 +442,10 @@ srs_error_t SrsFlvTransmuxer::write_audio(int64_t timestamp, char *data, int siz return err; if (size > 0) { - cache_audio(timestamp, data, size, tag_header); + cache_audio(timestamp, data, size, tag_header_); } - if ((err = write_tag(tag_header, sizeof(tag_header), data, size)) != srs_success) { + if ((err = write_tag(tag_header_, sizeof(tag_header_), data, size)) != srs_success) { return srs_error_wrap(err, "write tag"); } @@ -460,10 +460,10 @@ srs_error_t SrsFlvTransmuxer::write_video(int64_t timestamp, char *data, int siz return err; if (size > 0) { - cache_video(timestamp, data, size, tag_header); + cache_video(timestamp, data, size, tag_header_); } - if ((err = write_tag(tag_header, sizeof(tag_header), data, size)) != srs_success) { + if ((err = write_tag(tag_header_, sizeof(tag_header_), data, size)) != srs_success) { return srs_error_wrap(err, "write flv video tag failed"); } @@ -481,33 +481,33 @@ srs_error_t SrsFlvTransmuxer::write_tags(SrsMediaPacket **msgs, int count) srs_error_t err = srs_success; // Do realloc the iovss if required. - iovec *iovss = iovss_cache; + iovec *iovss = iovss_cache_; do { int nn_might_iovss = 3 * count; - if (nb_iovss_cache < nn_might_iovss) { - srs_freepa(iovss_cache); + if (nb_iovss_cache_ < nn_might_iovss) { + srs_freepa(iovss_cache_); - nb_iovss_cache = nn_might_iovss; - iovss = iovss_cache = new iovec[nn_might_iovss]; + nb_iovss_cache_ = nn_might_iovss; + iovss = iovss_cache_ = new iovec[nn_might_iovss]; } } while (false); // Do realloc the tag headers if required. - char *cache = tag_headers; - if (nb_tag_headers < count) { - srs_freepa(tag_headers); + char *cache = tag_headers_; + if (nb_tag_headers_ < count) { + srs_freepa(tag_headers_); - nb_tag_headers = count; - cache = tag_headers = new char[SRS_FLV_TAG_HEADER_SIZE * count]; + nb_tag_headers_ = count; + cache = tag_headers_ = new char[SRS_FLV_TAG_HEADER_SIZE * count]; } // Do realloc the pts if required. - char *pts = ppts; - if (nb_ppts < count) { - srs_freepa(ppts); + char *pts = ppts_; + if (nb_ppts_ < count) { + srs_freepa(ppts_); - nb_ppts = count; - pts = ppts = new char[SRS_FLV_PREVIOUS_TAG_SIZE * count]; + nb_ppts_ = count; + pts = ppts_ = new char[SRS_FLV_PREVIOUS_TAG_SIZE * count]; } // Now all caches are ok, start to write all messages. @@ -520,11 +520,11 @@ srs_error_t SrsFlvTransmuxer::write_tags(SrsMediaPacket **msgs, int count) if (msg->is_audio()) { if (drop_if_not_match_ && !has_audio_) continue; // Ignore audio packets if no audio stream. - cache_audio(msg->timestamp, msg->payload(), msg->size(), cache); + cache_audio(msg->timestamp_, msg->payload(), msg->size(), cache); } else if (msg->is_video()) { if (drop_if_not_match_ && !has_video_) continue; // Ignore video packets if no video stream. - cache_video(msg->timestamp, msg->payload(), msg->size(), cache); + cache_video(msg->timestamp_, msg->payload(), msg->size(), cache); } else { cache_metadata(SrsFrameTypeScript, msg->payload(), msg->size(), cache); } @@ -548,7 +548,7 @@ srs_error_t SrsFlvTransmuxer::write_tags(SrsMediaPacket **msgs, int count) } // Send out all data carried by iovec. - if ((err = writer->writev(iovss, nn_real_iovss, NULL)) != srs_success) { + if ((err = writer_->writev(iovss, nn_real_iovss, NULL)) != srs_success) { return srs_error_wrap(err, "write flv tags failed"); } @@ -652,7 +652,7 @@ srs_error_t SrsFlvTransmuxer::write_tag(char *header, int header_size, char *tag iovs[2].iov_base = pre_size; iovs[2].iov_len = SRS_FLV_PREVIOUS_TAG_SIZE; - if ((err = writer->writev(iovs, 3, NULL)) != srs_success) { + if ((err = writer_->writev(iovs, 3, NULL)) != srs_success) { return srs_error_wrap(err, "write flv tag failed"); } @@ -661,7 +661,7 @@ srs_error_t SrsFlvTransmuxer::write_tag(char *header, int header_size, char *tag SrsFlvDecoder::SrsFlvDecoder() { - reader = NULL; + reader_ = NULL; } SrsFlvDecoder::~SrsFlvDecoder() @@ -671,7 +671,7 @@ SrsFlvDecoder::~SrsFlvDecoder() srs_error_t SrsFlvDecoder::initialize(ISrsReader *fr) { srs_assert(fr); - reader = fr; + reader_ = fr; return srs_success; } @@ -682,7 +682,7 @@ srs_error_t SrsFlvDecoder::read_header(char header[9]) srs_assert(header); // TODO: FIXME: Should use readfully. - if ((err = reader->read(header, 9, NULL)) != srs_success) { + if ((err = reader_->read(header, 9, NULL)) != srs_success) { return srs_error_wrap(err, "read header"); } @@ -706,7 +706,7 @@ srs_error_t SrsFlvDecoder::read_tag_header(char *ptype, int32_t *pdata_size, uin // read tag header // TODO: FIXME: Should use readfully. - if ((err = reader->read(th, 11, NULL)) != srs_success) { + if ((err = reader_->read(th, 11, NULL)) != srs_success) { return srs_error_wrap(err, "read flv tag header failed"); } @@ -741,7 +741,7 @@ srs_error_t SrsFlvDecoder::read_tag_data(char *data, int32_t size) srs_assert(data); // TODO: FIXME: Should use readfully. - if ((err = reader->read(data, size, NULL)) != srs_success) { + if ((err = reader_->read(data, size, NULL)) != srs_success) { return srs_error_wrap(err, "read flv tag header failed"); } @@ -756,7 +756,7 @@ srs_error_t SrsFlvDecoder::read_previous_tag_size(char previous_tag_size[4]) // ignore 4bytes tag size. // TODO: FIXME: Should use readfully. - if ((err = reader->read(previous_tag_size, 4, NULL)) != srs_success) { + if ((err = reader_->read(previous_tag_size, 4, NULL)) != srs_success) { return srs_error_wrap(err, "read flv previous tag size failed"); } @@ -765,7 +765,7 @@ srs_error_t SrsFlvDecoder::read_previous_tag_size(char previous_tag_size[4]) SrsFlvVodStreamDecoder::SrsFlvVodStreamDecoder() { - reader = NULL; + reader_ = NULL; } SrsFlvVodStreamDecoder::~SrsFlvVodStreamDecoder() @@ -777,12 +777,12 @@ srs_error_t SrsFlvVodStreamDecoder::initialize(ISrsReader *fr) srs_error_t err = srs_success; srs_assert(fr); - reader = dynamic_cast(fr); - if (!reader) { + reader_ = dynamic_cast(fr); + if (!reader_) { return srs_error_new(ERROR_EXPECT_FILE_IO, "stream is not file io"); } - if (!reader->is_open()) { + if (!reader_->is_open()) { return srs_error_new(ERROR_KERNEL_FLV_STREAM_CLOSED, "stream is not open for decoder"); } @@ -801,7 +801,7 @@ srs_error_t SrsFlvVodStreamDecoder::read_header_ext(char header[13]) // 9bytes header and 4bytes first previous-tag-size int size = 13; - if ((err = reader->read(header, size, NULL)) != srs_success) { + if ((err = reader_->read(header, size, NULL)) != srs_success) { return srs_error_wrap(err, "read header"); } @@ -835,7 +835,7 @@ srs_error_t SrsFlvVodStreamDecoder::read_sequence_header_summary(int64_t *pstart int64_t av_sequence_offset_start = -1; int64_t av_sequence_offset_end = -1; for (;;) { - if ((err = reader->read(tag_header, SRS_FLV_TAG_HEADER_SIZE, NULL)) != srs_success) { + if ((err = reader_->read(tag_header, SRS_FLV_TAG_HEADER_SIZE, NULL)) != srs_success) { return srs_error_wrap(err, "read tag header"); } @@ -849,7 +849,7 @@ srs_error_t SrsFlvVodStreamDecoder::read_sequence_header_summary(int64_t *pstart bool is_not_av = !is_video && !is_audio; if (is_not_av) { // skip body and tag size. - reader->skip(data_size + SRS_FLV_PREVIOUS_TAG_SIZE); + reader_->skip(data_size + SRS_FLV_PREVIOUS_TAG_SIZE); continue; } @@ -868,10 +868,10 @@ srs_error_t SrsFlvVodStreamDecoder::read_sequence_header_summary(int64_t *pstart got_video = true; if (av_sequence_offset_start < 0) { - av_sequence_offset_start = reader->tellg() - SRS_FLV_TAG_HEADER_SIZE; + av_sequence_offset_start = reader_->tellg() - SRS_FLV_TAG_HEADER_SIZE; } - av_sequence_offset_end = reader->tellg() + data_size + SRS_FLV_PREVIOUS_TAG_SIZE; - reader->skip(data_size + SRS_FLV_PREVIOUS_TAG_SIZE); + av_sequence_offset_end = reader_->tellg() + data_size + SRS_FLV_PREVIOUS_TAG_SIZE; + reader_->skip(data_size + SRS_FLV_PREVIOUS_TAG_SIZE); } // audio @@ -880,10 +880,10 @@ srs_error_t SrsFlvVodStreamDecoder::read_sequence_header_summary(int64_t *pstart got_audio = true; if (av_sequence_offset_start < 0) { - av_sequence_offset_start = reader->tellg() - SRS_FLV_TAG_HEADER_SIZE; + av_sequence_offset_start = reader_->tellg() - SRS_FLV_TAG_HEADER_SIZE; } - av_sequence_offset_end = reader->tellg() + data_size + SRS_FLV_PREVIOUS_TAG_SIZE; - reader->skip(data_size + SRS_FLV_PREVIOUS_TAG_SIZE); + av_sequence_offset_end = reader_->tellg() + data_size + SRS_FLV_PREVIOUS_TAG_SIZE; + reader_->skip(data_size + SRS_FLV_PREVIOUS_TAG_SIZE); } if (got_audio && got_video) { @@ -893,7 +893,7 @@ srs_error_t SrsFlvVodStreamDecoder::read_sequence_header_summary(int64_t *pstart // seek to the sequence header start offset. if (av_sequence_offset_start > 0) { - reader->seek2(av_sequence_offset_start); + reader_->seek2(av_sequence_offset_start); *pstart = av_sequence_offset_start; *psize = (int)(av_sequence_offset_end - av_sequence_offset_start); } @@ -905,12 +905,12 @@ srs_error_t SrsFlvVodStreamDecoder::seek2(int64_t offset) { srs_error_t err = srs_success; - if (offset >= reader->filesize()) { - return srs_error_new(ERROR_SYSTEM_FILE_EOF, "flv fast decoder seek overflow file, size=%d, offset=%d", (int)reader->filesize(), (int)offset); + if (offset >= reader_->filesize()) { + return srs_error_new(ERROR_SYSTEM_FILE_EOF, "flv fast decoder seek overflow file, size=%d, offset=%d", (int)reader_->filesize(), (int)offset); } - if (reader->seek2(offset) < 0) { - return srs_error_new(ERROR_SYSTEM_FILE_SEEK, "flv fast decoder seek error, size=%d, offset=%d", (int)reader->filesize(), (int)offset); + if (reader_->seek2(offset) < 0) { + return srs_error_new(ERROR_SYSTEM_FILE_SEEK, "flv fast decoder seek error, size=%d, offset=%d", (int)reader_->filesize(), (int)offset); } return err; diff --git a/trunk/src/kernel/srs_kernel_flv.hpp b/trunk/src/kernel/srs_kernel_flv.hpp index b3d045a60..03537a8be 100644 --- a/trunk/src/kernel/srs_kernel_flv.hpp +++ b/trunk/src/kernel/srs_kernel_flv.hpp @@ -137,26 +137,26 @@ public: // 3bytes. // Three-byte field that contains a timestamp delta of the message. // @remark, only used for decoding message from chunk stream. - int32_t timestamp_delta; + int32_t timestamp_delta_; // 3bytes. // Three-byte field that represents the size of the payload in bytes. // It is set in big-endian format. - int32_t payload_length; + int32_t payload_length_; // 1byte. // One byte field to represent the message type. A range of type IDs // (1-7) are reserved for protocol control messages. // For example, RTMP_MSG_AudioMessage or RTMP_MSG_VideoMessage. - int8_t message_type; + int8_t message_type_; // 4bytes. // Four-byte field that identifies the stream of the message. These // bytes are set in little-endian format. - int32_t stream_id; + int32_t stream_id_; // Four-byte field that contains a timestamp of the message. // The 4 bytes are packed in the big-endian order. // @remark, used as calc timestamp when decode and encode time. // @remark, we use 64bits for large time for jitter detect and hls. - int64_t timestamp; + int64_t timestamp_; public: SrsMessageHeader(); @@ -193,7 +193,7 @@ class SrsRtmpCommonMessage { public: // 4.1. Message Header - SrsMessageHeader header; + SrsMessageHeader header_; public: // 4.2. Message Payload @@ -230,10 +230,10 @@ private: bool has_audio_; bool has_video_; bool drop_if_not_match_; - ISrsWriter *writer; + ISrsWriter *writer_; private: - char tag_header[SRS_FLV_TAG_HEADER_SIZE]; + char tag_header_[SRS_FLV_TAG_HEADER_SIZE]; public: SrsFlvTransmuxer(); @@ -277,14 +277,14 @@ public: private: // The cache tag header. - int nb_tag_headers; - char *tag_headers; + int nb_tag_headers_; + char *tag_headers_; // The cache pps(previous tag size) - int nb_ppts; - char *ppts; + int nb_ppts_; + char *ppts_; // The cache iovss. - int nb_iovss_cache; - iovec *iovss_cache; + int nb_iovss_cache_; + iovec *iovss_cache_; public: // Write the tags in a time. @@ -302,7 +302,7 @@ private: class SrsFlvDecoder { private: - ISrsReader *reader; + ISrsReader *reader_; public: SrsFlvDecoder(); @@ -335,7 +335,7 @@ public: class SrsFlvVodStreamDecoder { private: - SrsFileReader *reader; + SrsFileReader *reader_; public: SrsFlvVodStreamDecoder(); diff --git a/trunk/src/kernel/srs_kernel_kbps.cpp b/trunk/src/kernel/srs_kernel_kbps.cpp index cc2f60fc1..26b414e56 100644 --- a/trunk/src/kernel/srs_kernel_kbps.cpp +++ b/trunk/src/kernel/srs_kernel_kbps.cpp @@ -15,8 +15,8 @@ using namespace std; SrsRateSample::SrsRateSample() { - total = time = -1; - rate = 0; + total_ = time_ = -1; + rate_ = 0; } SrsRateSample::~SrsRateSample() @@ -25,23 +25,23 @@ SrsRateSample::~SrsRateSample() SrsRateSample *SrsRateSample::update(int64_t nn, srs_utime_t t, int k) { - total = nn; - time = t; - rate = k; + total_ = nn; + time_ = t; + rate_ = k; return this; } void srs_pps_init(SrsRateSample &sample, int64_t nn, srs_utime_t now) { - if (sample.time < 0 || nn < sample.total) { + if (sample.time_ < 0 || nn < sample.total_) { sample.update(nn, now, 0); } } void srs_pps_update(SrsRateSample &sample, int64_t nn, srs_utime_t now) { - int pps = (int)((nn - sample.total) * 1000 / srsu2ms(now - sample.time)); - if (pps == 0 && nn > sample.total) { + int pps = (int)((nn - sample.total_) * 1000 / srsu2ms(now - sample.time_)); + if (pps == 0 && nn > sample.total_) { pps = 1; // For pps in (0, 1), we set to 1. } sample.update(nn, now, pps); @@ -50,7 +50,7 @@ void srs_pps_update(SrsRateSample &sample, int64_t nn, srs_utime_t now) SrsPps::SrsPps() { clk_ = _srs_clock; - sugar = 0; + sugar_ = 0; } SrsPps::~SrsPps() @@ -59,7 +59,7 @@ SrsPps::~SrsPps() void SrsPps::update() { - update(sugar); + update(sugar_); } void SrsPps::update(int64_t nn) @@ -74,31 +74,31 @@ void SrsPps::update(int64_t nn) srs_pps_init(sample_5m_, nn, now); srs_pps_init(sample_60m_, nn, now); - if (now - sample_10s_.time >= 10 * SRS_UTIME_SECONDS) { + if (now - sample_10s_.time_ >= 10 * SRS_UTIME_SECONDS) { srs_pps_update(sample_10s_, nn, now); } - if (now - sample_30s_.time >= 30 * SRS_UTIME_SECONDS) { + if (now - sample_30s_.time_ >= 30 * SRS_UTIME_SECONDS) { srs_pps_update(sample_30s_, nn, now); } - if (now - sample_1m_.time >= 60 * SRS_UTIME_SECONDS) { + if (now - sample_1m_.time_ >= 60 * SRS_UTIME_SECONDS) { srs_pps_update(sample_1m_, nn, now); } - if (now - sample_5m_.time >= 300 * SRS_UTIME_SECONDS) { + if (now - sample_5m_.time_ >= 300 * SRS_UTIME_SECONDS) { srs_pps_update(sample_5m_, nn, now); } - if (now - sample_60m_.time >= 3600 * SRS_UTIME_SECONDS) { + if (now - sample_60m_.time_ >= 3600 * SRS_UTIME_SECONDS) { srs_pps_update(sample_60m_, nn, now); } } int SrsPps::r10s() { - return sample_10s_.rate; + return sample_10s_.rate_; } int SrsPps::r30s() { - return sample_30s_.rate; + return sample_30s_.rate_; } SrsWallClock::SrsWallClock() @@ -344,14 +344,14 @@ void srs_global_kbps_update(SrsKbpsStats *stats) { static char buf[128]; - string &cid_desc = stats->cid_desc; + string &cid_desc = stats->cid_desc_; _srs_pps_cids_get->update(); _srs_pps_cids_set->update(); if (_srs_pps_cids_get->r10s() || _srs_pps_cids_set->r10s()) { snprintf(buf, sizeof(buf), ", cid=%d,%d", _srs_pps_cids_get->r10s(), _srs_pps_cids_set->r10s()); cid_desc = buf; } - string &timer_desc = stats->timer_desc; + string &timer_desc = stats->timer_desc_; _srs_pps_timer->update(); _srs_pps_pub->update(); _srs_pps_conn->update(); @@ -360,14 +360,14 @@ void srs_global_kbps_update(SrsKbpsStats *stats) timer_desc = buf; } - string &free_desc = stats->free_desc; + string &free_desc = stats->free_desc_; _srs_pps_dispose->update(); if (_srs_pps_dispose->r10s()) { snprintf(buf, sizeof(buf), ", free=%d", _srs_pps_dispose->r10s()); free_desc = buf; } - string &recvfrom_desc = stats->recvfrom_desc; + string &recvfrom_desc = stats->recvfrom_desc_; (void)recvfrom_desc; #if defined(SRS_DEBUG) && defined(SRS_DEBUG_STATS) _srs_pps_recvfrom->update(_st_stat_recvfrom); @@ -380,7 +380,7 @@ void srs_global_kbps_update(SrsKbpsStats *stats) } #endif - string &io_desc = stats->io_desc; + string &io_desc = stats->io_desc_; (void)io_desc; #if defined(SRS_DEBUG) && defined(SRS_DEBUG_STATS) _srs_pps_read->update(_st_stat_read); @@ -395,7 +395,7 @@ void srs_global_kbps_update(SrsKbpsStats *stats) } #endif - string &msg_desc = stats->msg_desc; + string &msg_desc = stats->msg_desc_; (void)msg_desc; #if defined(SRS_DEBUG) && defined(SRS_DEBUG_STATS) _srs_pps_recvmsg->update(_st_stat_recvmsg); @@ -408,7 +408,7 @@ void srs_global_kbps_update(SrsKbpsStats *stats) } #endif - string &epoll_desc = stats->epoll_desc; + string &epoll_desc = stats->epoll_desc_; (void)epoll_desc; #if defined(SRS_DEBUG) && defined(SRS_DEBUG_STATS) _srs_pps_epoll->update(_st_stat_epoll); @@ -421,7 +421,7 @@ void srs_global_kbps_update(SrsKbpsStats *stats) } #endif - string &sched_desc = stats->sched_desc; + string &sched_desc = stats->sched_desc_; (void)sched_desc; #if defined(SRS_DEBUG) && defined(SRS_DEBUG_STATS) _srs_pps_sched_160ms->update(_st_stat_sched_160ms); @@ -439,7 +439,7 @@ void srs_global_kbps_update(SrsKbpsStats *stats) } #endif - string &clock_desc = stats->clock_desc; + string &clock_desc = stats->clock_desc_; _srs_pps_clock_15ms->update(); _srs_pps_clock_20ms->update(); _srs_pps_clock_25ms->update(); @@ -454,7 +454,7 @@ void srs_global_kbps_update(SrsKbpsStats *stats) clock_desc = buf; } - string &thread_desc = stats->thread_desc; + string &thread_desc = stats->thread_desc_; (void)thread_desc; #if defined(SRS_DEBUG) && defined(SRS_DEBUG_STATS) _srs_pps_thread_run->update(_st_stat_thread_run); @@ -467,7 +467,7 @@ void srs_global_kbps_update(SrsKbpsStats *stats) } #endif - string &objs_desc = stats->objs_desc; + string &objs_desc = stats->objs_desc_; _srs_pps_objs_rtps->update(); _srs_pps_objs_rraw->update(); _srs_pps_objs_rfua->update(); @@ -486,7 +486,7 @@ void srs_global_rtc_update(SrsKbsRtcStats *stats) { static char buf[128]; - string &rpkts_desc = stats->rpkts_desc; + string &rpkts_desc = stats->rpkts_desc_; _srs_pps_rpkts->update(); _srs_pps_rrtps->update(); _srs_pps_rstuns->update(); @@ -496,7 +496,7 @@ void srs_global_rtc_update(SrsKbsRtcStats *stats) rpkts_desc = buf; } - string &spkts_desc = stats->spkts_desc; + string &spkts_desc = stats->spkts_desc_; _srs_pps_spkts->update(); _srs_pps_srtps->update(); _srs_pps_sstuns->update(); @@ -506,7 +506,7 @@ void srs_global_rtc_update(SrsKbsRtcStats *stats) spkts_desc = buf; } - string &rtcp_desc = stats->rtcp_desc; + string &rtcp_desc = stats->rtcp_desc_; _srs_pps_pli->update(); _srs_pps_twcc->update(); _srs_pps_rr->update(); @@ -515,7 +515,7 @@ void srs_global_rtc_update(SrsKbsRtcStats *stats) rtcp_desc = buf; } - string &snk_desc = stats->snk_desc; + string &snk_desc = stats->snk_desc_; _srs_pps_snack->update(); _srs_pps_snack2->update(); _srs_pps_sanack->update(); @@ -525,7 +525,7 @@ void srs_global_rtc_update(SrsKbsRtcStats *stats) snk_desc = buf; } - string &rnk_desc = stats->rnk_desc; + string &rnk_desc = stats->rnk_desc_; _srs_pps_rnack->update(); _srs_pps_rnack2->update(); _srs_pps_rhnack->update(); @@ -535,7 +535,7 @@ void srs_global_rtc_update(SrsKbsRtcStats *stats) rnk_desc = buf; } - string &fid_desc = stats->fid_desc; + string &fid_desc = stats->fid_desc_; _srs_pps_ids->update(); _srs_pps_fids->update(); _srs_pps_fids_level0->update(); diff --git a/trunk/src/kernel/srs_kernel_kbps.hpp b/trunk/src/kernel/srs_kernel_kbps.hpp index e77d00d15..32f86105d 100644 --- a/trunk/src/kernel/srs_kernel_kbps.hpp +++ b/trunk/src/kernel/srs_kernel_kbps.hpp @@ -19,10 +19,10 @@ class SrsWallClock; class SrsRateSample { public: - int64_t total; - srs_utime_t time; + int64_t total_; + srs_utime_t time_; // kbps or kps - int rate; + int rate_; public: SrsRateSample(); @@ -48,7 +48,7 @@ private: public: // Sugar for target to stat. - int64_t sugar; + int64_t sugar_; public: SrsPps(); @@ -200,17 +200,17 @@ srs_error_t srs_global_kbps_initialize(); class SrsKbpsStats { public: - std::string cid_desc; - std::string timer_desc; - std::string free_desc; - std::string recvfrom_desc; - std::string io_desc; - std::string msg_desc; - std::string epoll_desc; - std::string sched_desc; - std::string clock_desc; - std::string thread_desc; - std::string objs_desc; + std::string cid_desc_; + std::string timer_desc_; + std::string free_desc_; + std::string recvfrom_desc_; + std::string io_desc_; + std::string msg_desc_; + std::string epoll_desc_; + std::string sched_desc_; + std::string clock_desc_; + std::string thread_desc_; + std::string objs_desc_; }; // Update the global kbps statistics variables @@ -219,12 +219,12 @@ void srs_global_kbps_update(SrsKbpsStats *stats); class SrsKbsRtcStats { public: - std::string rpkts_desc; - std::string spkts_desc; - std::string rtcp_desc; - std::string snk_desc; - std::string rnk_desc; - std::string fid_desc; + std::string rpkts_desc_; + std::string spkts_desc_; + std::string rtcp_desc_; + std::string snk_desc_; + std::string rnk_desc_; + std::string fid_desc_; }; // Update the global rtc statistics variables diff --git a/trunk/src/kernel/srs_kernel_mp3.cpp b/trunk/src/kernel/srs_kernel_mp3.cpp index 56f5a04e5..4c607c38a 100644 --- a/trunk/src/kernel/srs_kernel_mp3.cpp +++ b/trunk/src/kernel/srs_kernel_mp3.cpp @@ -23,7 +23,7 @@ using namespace std; SrsMp3Transmuxer::SrsMp3Transmuxer() { - writer = NULL; + writer_ = NULL; } SrsMp3Transmuxer::~SrsMp3Transmuxer() @@ -40,7 +40,7 @@ srs_error_t SrsMp3Transmuxer::initialize(SrsFileWriter *fw) return srs_error_new(ERROR_KERNEL_MP3_STREAM_CLOSED, "stream is not open"); } - writer = fw; + writer_ = fw; return err; } @@ -60,7 +60,7 @@ srs_error_t SrsMp3Transmuxer::write_header() (char)0x00, (char)0x00 // Flags }; - if ((err = writer->write(id3, sizeof(id3), NULL)) != srs_success) { + if ((err = writer_->write(id3, sizeof(id3), NULL)) != srs_success) { return srs_error_wrap(err, "write id3"); } @@ -98,7 +98,7 @@ srs_error_t SrsMp3Transmuxer::write_audio(int64_t timestamp, char *data, int siz return srs_error_new(ERROR_MP3_DECODE_ERROR, "mp3 decode aac_packet_type failed"); } - if ((err = writer->write(data + stream->pos(), size - stream->pos(), NULL)) != srs_success) { + if ((err = writer_->write(data + stream->pos(), size - stream->pos(), NULL)) != srs_success) { return srs_error_wrap(err, "write audio"); } diff --git a/trunk/src/kernel/srs_kernel_mp3.hpp b/trunk/src/kernel/srs_kernel_mp3.hpp index 66010ff8b..d6d2e4882 100644 --- a/trunk/src/kernel/srs_kernel_mp3.hpp +++ b/trunk/src/kernel/srs_kernel_mp3.hpp @@ -20,7 +20,7 @@ class SrsFileWriter; class SrsMp3Transmuxer { private: - SrsFileWriter *writer; + SrsFileWriter *writer_; public: SrsMp3Transmuxer(); diff --git a/trunk/src/kernel/srs_kernel_mp4.cpp b/trunk/src/kernel/srs_kernel_mp4.cpp index 62e32e0a4..8f8605980 100644 --- a/trunk/src/kernel/srs_kernel_mp4.cpp +++ b/trunk/src/kernel/srs_kernel_mp4.cpp @@ -53,7 +53,7 @@ srs_error_t srs_mp4_write_box(ISrsWriter *writer, ISrsCodec *box) stringstream &srs_mp4_padding(stringstream &ss, SrsMp4DumpContext dc, int tab) { - for (int i = 0; i < (int)dc.level; i++) { + for (int i = 0; i < (int)dc.level_; i++) { for (int j = 0; j < tab; j++) { ss << " "; } @@ -135,8 +135,8 @@ srs_error_t srs_mp4_string_read(SrsBuffer *buf, string &v, int left) SrsMp4DumpContext::SrsMp4DumpContext() { - level = 0; - summary = false; + level_ = 0; + summary_ = false; } SrsMp4DumpContext::~SrsMp4DumpContext() @@ -146,31 +146,31 @@ SrsMp4DumpContext::~SrsMp4DumpContext() SrsMp4DumpContext SrsMp4DumpContext::indent() { SrsMp4DumpContext ctx = *this; - ctx.level++; + ctx.level_++; return ctx; } SrsMp4Box::SrsMp4Box() { - smallsize = 0; - largesize = 0; - start_pos = 0; - type = SrsMp4BoxTypeForbidden; + smallsize_ = 0; + largesize_ = 0; + start_pos_ = 0; + type_ = SrsMp4BoxTypeForbidden; } SrsMp4Box::~SrsMp4Box() { vector::iterator it; - for (it = boxes.begin(); it != boxes.end(); ++it) { + for (it = boxes_.begin(); it != boxes_.end(); ++it) { SrsMp4Box *box = *it; srs_freep(box); } - boxes.clear(); + boxes_.clear(); } uint64_t SrsMp4Box::sz() { - return smallsize == SRS_MP4_USE_LARGE_SIZE ? largesize : smallsize; + return smallsize_ == SRS_MP4_USE_LARGE_SIZE ? largesize_ : smallsize_; } int SrsMp4Box::sz_header() @@ -183,10 +183,10 @@ uint64_t SrsMp4Box::update_size() uint64_t size = nb_bytes(); if (size > 0xffffffff) { - largesize = size; - smallsize = SRS_MP4_USE_LARGE_SIZE; + largesize_ = size; + smallsize_ = SRS_MP4_USE_LARGE_SIZE; } else { - smallsize = (uint32_t)size; + smallsize_ = (uint32_t)size; } return size; @@ -194,32 +194,32 @@ uint64_t SrsMp4Box::update_size() int SrsMp4Box::left_space(SrsBuffer *buf) { - int left = (int)sz() - (buf->pos() - start_pos); + int left = (int)sz() - (buf->pos() - start_pos_); return srs_max(0, left); } bool SrsMp4Box::is_ftyp() { - return type == SrsMp4BoxTypeFTYP; + return type_ == SrsMp4BoxTypeFTYP; } bool SrsMp4Box::is_moov() { - return type == SrsMp4BoxTypeMOOV; + return type_ == SrsMp4BoxTypeMOOV; } bool SrsMp4Box::is_mdat() { - return type == SrsMp4BoxTypeMDAT; + return type_ == SrsMp4BoxTypeMDAT; } SrsMp4Box *SrsMp4Box::get(SrsMp4BoxType bt) { vector::iterator it; - for (it = boxes.begin(); it != boxes.end(); ++it) { + for (it = boxes_.begin(); it != boxes_.end(); ++it) { SrsMp4Box *box = *it; - if (box->type == bt) { + if (box->type_ == bt) { return box; } } @@ -232,11 +232,11 @@ int SrsMp4Box::remove(SrsMp4BoxType bt) int nb_removed = 0; vector::iterator it; - for (it = boxes.begin(); it != boxes.end();) { + for (it = boxes_.begin(); it != boxes_.end();) { SrsMp4Box *box = *it; - if (box->type == bt) { - it = boxes.erase(it); + if (box->type_ == bt) { + it = boxes_.erase(it); srs_freep(box); } else { ++it; @@ -248,24 +248,24 @@ int SrsMp4Box::remove(SrsMp4BoxType bt) void SrsMp4Box::append(SrsMp4Box *box) { - boxes.push_back(box); + boxes_.push_back(box); } stringstream &SrsMp4Box::dumps(stringstream &ss, SrsMp4DumpContext dc) { srs_mp4_padding(ss, dc); - srs_print_mp4_type(ss, (uint32_t)type); + srs_print_mp4_type(ss, (uint32_t)type_); ss << ", " << sz(); - if (smallsize == SRS_MP4_USE_LARGE_SIZE) { + if (smallsize_ == SRS_MP4_USE_LARGE_SIZE) { ss << "(large)"; } ss << "B"; dumps_detail(ss, dc); - if (!boxes.empty()) { - ss << ", " << boxes.size() << " boxes"; + if (!boxes_.empty()) { + ss << ", " << boxes_.size() << " boxes"; } // If there contained boxes in header, @@ -275,7 +275,7 @@ stringstream &SrsMp4Box::dumps(stringstream &ss, SrsMp4DumpContext dc) } vector::iterator it; - for (it = boxes.begin(); it != boxes.end(); ++it) { + for (it = boxes_.begin(); it != boxes_.end(); ++it) { SrsMp4Box *box = *it; box->dumps(ss, dc.indent()); } @@ -455,9 +455,9 @@ srs_error_t SrsMp4Box::discovery(SrsBuffer *buf, SrsMp4Box **ppbox) } if (box) { - box->smallsize = smallsize; - box->largesize = largesize; - box->type = type; + box->smallsize_ = smallsize; + box->largesize_ = largesize; + box->type_ = type; *ppbox = box; } @@ -469,7 +469,7 @@ uint64_t SrsMp4Box::nb_bytes() uint64_t sz = nb_header(); vector::iterator it; - for (it = boxes.begin(); it != boxes.end(); ++it) { + for (it = boxes_.begin(); it != boxes_.end(); ++it) { SrsMp4Box *box = *it; sz += box->nb_bytes(); } @@ -483,7 +483,7 @@ srs_error_t SrsMp4Box::encode(SrsBuffer *buf) update_size(); - start_pos = buf->pos(); + start_pos_ = buf->pos(); if ((err = encode_header(buf)) != srs_success) { return srs_error_wrap(err, "encode box header"); @@ -500,7 +500,7 @@ srs_error_t SrsMp4Box::decode(SrsBuffer *buf) { srs_error_t err = srs_success; - start_pos = buf->pos(); + start_pos_ = buf->pos(); if ((err = decode_header(buf)) != srs_success) { return srs_error_wrap(err, "decode box header"); @@ -518,7 +518,7 @@ srs_error_t SrsMp4Box::encode_boxes(SrsBuffer *buf) srs_error_t err = srs_success; vector::iterator it; - for (it = boxes.begin(); it != boxes.end(); ++it) { + for (it = boxes_.begin(); it != boxes_.end(); ++it) { SrsMp4Box *box = *it; if ((err = box->encode(buf)) != srs_success) { return srs_error_wrap(err, "encode contained box"); @@ -545,7 +545,7 @@ srs_error_t SrsMp4Box::decode_boxes(SrsBuffer *buf) return srs_error_wrap(err, "decode contained box"); } - boxes.push_back(box); + boxes_.push_back(box); left -= box->sz(); } @@ -555,11 +555,11 @@ srs_error_t SrsMp4Box::decode_boxes(SrsBuffer *buf) int SrsMp4Box::nb_header() { int size = 8; - if (smallsize == SRS_MP4_USE_LARGE_SIZE) { + if (smallsize_ == SRS_MP4_USE_LARGE_SIZE) { size += 8; } - if (type == SrsMp4BoxTypeUUID) { + if (type_ == SrsMp4BoxTypeUUID) { size += 16; } @@ -575,14 +575,14 @@ srs_error_t SrsMp4Box::encode_header(SrsBuffer *buf) return srs_error_new(ERROR_MP4_BOX_REQUIRE_SPACE, "requires %d only %d bytes", size, buf->left()); } - buf->write_4bytes(smallsize); - buf->write_4bytes(type); - if (smallsize == SRS_MP4_USE_LARGE_SIZE) { - buf->write_8bytes(largesize); + buf->write_4bytes(smallsize_); + buf->write_4bytes(type_); + if (smallsize_ == SRS_MP4_USE_LARGE_SIZE) { + buf->write_8bytes(largesize_); } - if (type == SrsMp4BoxTypeUUID) { - buf->write_bytes(&usertype[0], 16); + if (type_ == SrsMp4BoxTypeUUID) { + buf->write_bytes(&usertype_[0], 16); } int lrsz = nb_header() - SrsMp4Box::nb_header(); @@ -600,19 +600,19 @@ srs_error_t SrsMp4Box::decode_header(SrsBuffer *buf) if (!buf->require(8)) { return srs_error_new(ERROR_MP4_BOX_REQUIRE_SPACE, "requires 8 only %d bytes", buf->left()); } - smallsize = (uint32_t)buf->read_4bytes(); - type = (SrsMp4BoxType)buf->read_4bytes(); + smallsize_ = (uint32_t)buf->read_4bytes(); + type_ = (SrsMp4BoxType)buf->read_4bytes(); - if (smallsize == SRS_MP4_EOF_SIZE) { + if (smallsize_ == SRS_MP4_EOF_SIZE) { srs_trace("MP4 box EOF."); return err; } - if (smallsize == SRS_MP4_USE_LARGE_SIZE) { + if (smallsize_ == SRS_MP4_USE_LARGE_SIZE) { if (!buf->require(8)) { return srs_error_new(ERROR_MP4_BOX_REQUIRE_SPACE, "box requires 8 only %d bytes", buf->left()); } - largesize = (uint64_t)buf->read_8bytes(); + largesize_ = (uint64_t)buf->read_8bytes(); } // Only support 31bits size. @@ -620,12 +620,12 @@ srs_error_t SrsMp4Box::decode_header(SrsBuffer *buf) return srs_error_new(ERROR_MP4_BOX_OVERFLOW, "box size overflow 31bits, size=%" PRId64, sz()); } - if (type == SrsMp4BoxTypeUUID) { + if (type_ == SrsMp4BoxTypeUUID) { if (!buf->require(16)) { return srs_error_new(ERROR_MP4_BOX_REQUIRE_SPACE, "box requires 16 only %d bytes", buf->left()); } - usertype.resize(16); - buf->read_bytes(&usertype[0], 16); + usertype_.resize(16); + buf->read_bytes(&usertype_[0], 16); } // The left required size, determined by the default version(0). @@ -649,8 +649,8 @@ stringstream &SrsMp4Box::dumps_detail(stringstream &ss, SrsMp4DumpContext dc) SrsMp4FullBox::SrsMp4FullBox() { - version = 0; - flags = 0; + version_ = 0; + flags_ = 0; } SrsMp4FullBox::~SrsMp4FullBox() @@ -674,8 +674,8 @@ srs_error_t SrsMp4FullBox::encode_header(SrsBuffer *buf) return srs_error_new(ERROR_MP4_BOX_REQUIRE_SPACE, "full box requires 4 only %d bytes", buf->left()); } - buf->write_1bytes(version); - buf->write_3bytes(flags); + buf->write_1bytes(version_); + buf->write_3bytes(flags_); return err; } @@ -692,10 +692,10 @@ srs_error_t SrsMp4FullBox::decode_header(SrsBuffer *buf) return srs_error_new(ERROR_MP4_BOX_REQUIRE_SPACE, "full box requires 4 only %d bytes", buf->left()); } - flags = (uint32_t)buf->read_4bytes(); + flags_ = (uint32_t)buf->read_4bytes(); - version = (uint8_t)((flags >> 24) & 0xff); - flags &= 0x00ffffff; + version_ = (uint8_t)((flags_ >> 24) & 0xff); + flags_ &= 0x00ffffff; // The left required size, determined by the version. int lrsz = nb_header() - SrsMp4FullBox::nb_header(); @@ -712,9 +712,9 @@ stringstream &SrsMp4FullBox::dumps_detail(stringstream &ss, SrsMp4DumpContext dc ss << ", FB(4B"; - if (version != 0 || flags != 0) { - ss << ",V" << uint32_t(version) - << ",0x" << std::setw(2) << std::setfill('0') << std::hex << flags << std::dec; + if (version_ != 0 || flags_ != 0) { + ss << ",V" << uint32_t(version_) + << ",0x" << std::setw(2) << std::setfill('0') << std::hex << flags_ << std::dec; } ss << ")"; @@ -724,9 +724,9 @@ stringstream &SrsMp4FullBox::dumps_detail(stringstream &ss, SrsMp4DumpContext dc SrsMp4FileTypeBox::SrsMp4FileTypeBox() { - type = SrsMp4BoxTypeFTYP; - major_brand = SrsMp4BoxBrandForbidden; - minor_version = 0; + type_ = SrsMp4BoxTypeFTYP; + major_brand_ = SrsMp4BoxBrandForbidden; + minor_version_ = 0; } SrsMp4FileTypeBox::~SrsMp4FileTypeBox() @@ -735,31 +735,31 @@ SrsMp4FileTypeBox::~SrsMp4FileTypeBox() void SrsMp4FileTypeBox::set_compatible_brands(SrsMp4BoxBrand b0, SrsMp4BoxBrand b1) { - compatible_brands.resize(2); - compatible_brands[0] = b0; - compatible_brands[1] = b1; + compatible_brands_.resize(2); + compatible_brands_[0] = b0; + compatible_brands_[1] = b1; } void SrsMp4FileTypeBox::set_compatible_brands(SrsMp4BoxBrand b0, SrsMp4BoxBrand b1, SrsMp4BoxBrand b2) { - compatible_brands.resize(3); - compatible_brands[0] = b0; - compatible_brands[1] = b1; - compatible_brands[2] = b2; + compatible_brands_.resize(3); + compatible_brands_[0] = b0; + compatible_brands_[1] = b1; + compatible_brands_[2] = b2; } void SrsMp4FileTypeBox::set_compatible_brands(SrsMp4BoxBrand b0, SrsMp4BoxBrand b1, SrsMp4BoxBrand b2, SrsMp4BoxBrand b3) { - compatible_brands.resize(4); - compatible_brands[0] = b0; - compatible_brands[1] = b1; - compatible_brands[2] = b2; - compatible_brands[3] = b3; + compatible_brands_.resize(4); + compatible_brands_[0] = b0; + compatible_brands_[1] = b1; + compatible_brands_[2] = b2; + compatible_brands_[3] = b3; } int SrsMp4FileTypeBox::nb_header() { - return (int)(SrsMp4Box::nb_header() + 8 + compatible_brands.size() * 4); + return (int)(SrsMp4Box::nb_header() + 8 + compatible_brands_.size() * 4); } srs_error_t SrsMp4FileTypeBox::encode_header(SrsBuffer *buf) @@ -770,11 +770,11 @@ srs_error_t SrsMp4FileTypeBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - buf->write_4bytes(major_brand); - buf->write_4bytes(minor_version); + buf->write_4bytes(major_brand_); + buf->write_4bytes(minor_version_); - for (size_t i = 0; i < (size_t)compatible_brands.size(); i++) { - buf->write_4bytes(compatible_brands[i]); + for (size_t i = 0; i < (size_t)compatible_brands_.size(); i++) { + buf->write_4bytes(compatible_brands_[i]); } return err; @@ -788,18 +788,18 @@ srs_error_t SrsMp4FileTypeBox::decode_header(SrsBuffer *buf) return srs_error_wrap(err, "decode header"); } - major_brand = (SrsMp4BoxBrand)buf->read_4bytes(); - minor_version = buf->read_4bytes(); + major_brand_ = (SrsMp4BoxBrand)buf->read_4bytes(); + minor_version_ = buf->read_4bytes(); // Compatible brands to the end of the box. int left = left_space(buf); if (left > 0) { - compatible_brands.resize(left / 4); + compatible_brands_.resize(left / 4); } for (int i = 0; left > 0; i++, left -= 4) { - compatible_brands[i] = (SrsMp4BoxBrand)buf->read_4bytes(); + compatible_brands_[i] = (SrsMp4BoxBrand)buf->read_4bytes(); } return err; @@ -810,13 +810,13 @@ stringstream &SrsMp4FileTypeBox::dumps_detail(stringstream &ss, SrsMp4DumpContex SrsMp4Box::dumps_detail(ss, dc); ss << ", brands:"; - srs_print_mp4_type(ss, (uint32_t)major_brand); + srs_print_mp4_type(ss, (uint32_t)major_brand_); - ss << "," << minor_version; + ss << "," << minor_version_; - if (!compatible_brands.empty()) { + if (!compatible_brands_.empty()) { ss << "("; - srs_dumps_array(compatible_brands, ss, dc, srs_mp4_pfn_type, srs_mp4_delimiter_inline); + srs_dumps_array(compatible_brands_, ss, dc, srs_mp4_pfn_type, srs_mp4_delimiter_inline); ss << ")"; } return ss; @@ -824,7 +824,7 @@ stringstream &SrsMp4FileTypeBox::dumps_detail(stringstream &ss, SrsMp4DumpContex SrsMp4SegmentTypeBox::SrsMp4SegmentTypeBox() { - type = SrsMp4BoxTypeSTYP; + type_ = SrsMp4BoxTypeSTYP; } SrsMp4SegmentTypeBox::~SrsMp4SegmentTypeBox() @@ -833,7 +833,7 @@ SrsMp4SegmentTypeBox::~SrsMp4SegmentTypeBox() SrsMp4MovieFragmentBox::SrsMp4MovieFragmentBox() { - type = SrsMp4BoxTypeMOOF; + type_ = SrsMp4BoxTypeMOOF; } SrsMp4MovieFragmentBox::~SrsMp4MovieFragmentBox() @@ -849,19 +849,19 @@ SrsMp4MovieFragmentHeaderBox *SrsMp4MovieFragmentBox::mfhd() void SrsMp4MovieFragmentBox::set_mfhd(SrsMp4MovieFragmentHeaderBox *v) { remove(SrsMp4BoxTypeMFHD); - boxes.push_back(v); + boxes_.push_back(v); } void SrsMp4MovieFragmentBox::add_traf(SrsMp4TrackFragmentBox *v) { - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4MovieFragmentHeaderBox::SrsMp4MovieFragmentHeaderBox() { - type = SrsMp4BoxTypeMFHD; + type_ = SrsMp4BoxTypeMFHD; - sequence_number = 0; + sequence_number_ = 0; } SrsMp4MovieFragmentHeaderBox::~SrsMp4MovieFragmentHeaderBox() @@ -881,7 +881,7 @@ srs_error_t SrsMp4MovieFragmentHeaderBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - buf->write_4bytes(sequence_number); + buf->write_4bytes(sequence_number_); return err; } @@ -894,7 +894,7 @@ srs_error_t SrsMp4MovieFragmentHeaderBox::decode_header(SrsBuffer *buf) return srs_error_wrap(err, "decode header"); } - sequence_number = buf->read_4bytes(); + sequence_number_ = buf->read_4bytes(); return err; } @@ -903,13 +903,13 @@ stringstream &SrsMp4MovieFragmentHeaderBox::dumps_detail(stringstream &ss, SrsMp { SrsMp4FullBox::dumps_detail(ss, dc); - ss << ", sequence=" << sequence_number; + ss << ", sequence=" << sequence_number_; return ss; } SrsMp4TrackFragmentBox::SrsMp4TrackFragmentBox() { - type = SrsMp4BoxTypeTRAF; + type_ = SrsMp4BoxTypeTRAF; } SrsMp4TrackFragmentBox::~SrsMp4TrackFragmentBox() @@ -925,7 +925,7 @@ SrsMp4TrackFragmentHeaderBox *SrsMp4TrackFragmentBox::tfhd() void SrsMp4TrackFragmentBox::set_tfhd(SrsMp4TrackFragmentHeaderBox *v) { remove(SrsMp4BoxTypeTFHD); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4TrackFragmentDecodeTimeBox *SrsMp4TrackFragmentBox::tfdt() @@ -937,7 +937,7 @@ SrsMp4TrackFragmentDecodeTimeBox *SrsMp4TrackFragmentBox::tfdt() void SrsMp4TrackFragmentBox::set_tfdt(SrsMp4TrackFragmentDecodeTimeBox *v) { remove(SrsMp4BoxTypeTFDT); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4TrackFragmentRunBox *SrsMp4TrackFragmentBox::trun() @@ -949,18 +949,18 @@ SrsMp4TrackFragmentRunBox *SrsMp4TrackFragmentBox::trun() void SrsMp4TrackFragmentBox::set_trun(SrsMp4TrackFragmentRunBox *v) { remove(SrsMp4BoxTypeTRUN); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4TrackFragmentHeaderBox::SrsMp4TrackFragmentHeaderBox() { - type = SrsMp4BoxTypeTFHD; + type_ = SrsMp4BoxTypeTFHD; - flags = 0; - base_data_offset = 0; - track_id = sample_description_index = 0; - default_sample_duration = default_sample_size = 0; - default_sample_flags = 0; + flags_ = 0; + base_data_offset_ = 0; + track_id_ = sample_description_index_ = 0; + default_sample_duration_ = default_sample_size_ = 0; + default_sample_flags_ = 0; } SrsMp4TrackFragmentHeaderBox::~SrsMp4TrackFragmentHeaderBox() @@ -971,19 +971,19 @@ int SrsMp4TrackFragmentHeaderBox::nb_header() { int size = SrsMp4FullBox::nb_header() + 4; - if ((flags & SrsMp4TfhdFlagsBaseDataOffset) == SrsMp4TfhdFlagsBaseDataOffset) { + if ((flags_ & SrsMp4TfhdFlagsBaseDataOffset) == SrsMp4TfhdFlagsBaseDataOffset) { size += 8; } - if ((flags & SrsMp4TfhdFlagsSampleDescriptionIndex) == SrsMp4TfhdFlagsSampleDescriptionIndex) { + if ((flags_ & SrsMp4TfhdFlagsSampleDescriptionIndex) == SrsMp4TfhdFlagsSampleDescriptionIndex) { size += 4; } - if ((flags & SrsMp4TfhdFlagsDefaultSampleDuration) == SrsMp4TfhdFlagsDefaultSampleDuration) { + if ((flags_ & SrsMp4TfhdFlagsDefaultSampleDuration) == SrsMp4TfhdFlagsDefaultSampleDuration) { size += 4; } - if ((flags & SrsMp4TfhdFlagsDefautlSampleSize) == SrsMp4TfhdFlagsDefautlSampleSize) { + if ((flags_ & SrsMp4TfhdFlagsDefautlSampleSize) == SrsMp4TfhdFlagsDefautlSampleSize) { size += 4; } - if ((flags & SrsMp4TfhdFlagsDefaultSampleFlags) == SrsMp4TfhdFlagsDefaultSampleFlags) { + if ((flags_ & SrsMp4TfhdFlagsDefaultSampleFlags) == SrsMp4TfhdFlagsDefaultSampleFlags) { size += 4; } @@ -998,22 +998,22 @@ srs_error_t SrsMp4TrackFragmentHeaderBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - buf->write_4bytes(track_id); + buf->write_4bytes(track_id_); - if ((flags & SrsMp4TfhdFlagsBaseDataOffset) == SrsMp4TfhdFlagsBaseDataOffset) { - buf->write_8bytes(base_data_offset); + if ((flags_ & SrsMp4TfhdFlagsBaseDataOffset) == SrsMp4TfhdFlagsBaseDataOffset) { + buf->write_8bytes(base_data_offset_); } - if ((flags & SrsMp4TfhdFlagsSampleDescriptionIndex) == SrsMp4TfhdFlagsSampleDescriptionIndex) { - buf->write_4bytes(sample_description_index); + if ((flags_ & SrsMp4TfhdFlagsSampleDescriptionIndex) == SrsMp4TfhdFlagsSampleDescriptionIndex) { + buf->write_4bytes(sample_description_index_); } - if ((flags & SrsMp4TfhdFlagsDefaultSampleDuration) == SrsMp4TfhdFlagsDefaultSampleDuration) { - buf->write_4bytes(default_sample_duration); + if ((flags_ & SrsMp4TfhdFlagsDefaultSampleDuration) == SrsMp4TfhdFlagsDefaultSampleDuration) { + buf->write_4bytes(default_sample_duration_); } - if ((flags & SrsMp4TfhdFlagsDefautlSampleSize) == SrsMp4TfhdFlagsDefautlSampleSize) { - buf->write_4bytes(default_sample_size); + if ((flags_ & SrsMp4TfhdFlagsDefautlSampleSize) == SrsMp4TfhdFlagsDefautlSampleSize) { + buf->write_4bytes(default_sample_size_); } - if ((flags & SrsMp4TfhdFlagsDefaultSampleFlags) == SrsMp4TfhdFlagsDefaultSampleFlags) { - buf->write_4bytes(default_sample_flags); + if ((flags_ & SrsMp4TfhdFlagsDefaultSampleFlags) == SrsMp4TfhdFlagsDefaultSampleFlags) { + buf->write_4bytes(default_sample_flags_); } return err; @@ -1027,22 +1027,22 @@ srs_error_t SrsMp4TrackFragmentHeaderBox::decode_header(SrsBuffer *buf) return srs_error_wrap(err, "decode header"); } - track_id = buf->read_4bytes(); + track_id_ = buf->read_4bytes(); - if ((flags & SrsMp4TfhdFlagsBaseDataOffset) == SrsMp4TfhdFlagsBaseDataOffset) { - base_data_offset = buf->read_8bytes(); + if ((flags_ & SrsMp4TfhdFlagsBaseDataOffset) == SrsMp4TfhdFlagsBaseDataOffset) { + base_data_offset_ = buf->read_8bytes(); } - if ((flags & SrsMp4TfhdFlagsSampleDescriptionIndex) == SrsMp4TfhdFlagsSampleDescriptionIndex) { - sample_description_index = buf->read_4bytes(); + if ((flags_ & SrsMp4TfhdFlagsSampleDescriptionIndex) == SrsMp4TfhdFlagsSampleDescriptionIndex) { + sample_description_index_ = buf->read_4bytes(); } - if ((flags & SrsMp4TfhdFlagsDefaultSampleDuration) == SrsMp4TfhdFlagsDefaultSampleDuration) { - default_sample_duration = buf->read_4bytes(); + if ((flags_ & SrsMp4TfhdFlagsDefaultSampleDuration) == SrsMp4TfhdFlagsDefaultSampleDuration) { + default_sample_duration_ = buf->read_4bytes(); } - if ((flags & SrsMp4TfhdFlagsDefautlSampleSize) == SrsMp4TfhdFlagsDefautlSampleSize) { - default_sample_size = buf->read_4bytes(); + if ((flags_ & SrsMp4TfhdFlagsDefautlSampleSize) == SrsMp4TfhdFlagsDefautlSampleSize) { + default_sample_size_ = buf->read_4bytes(); } - if ((flags & SrsMp4TfhdFlagsDefaultSampleFlags) == SrsMp4TfhdFlagsDefaultSampleFlags) { - default_sample_flags = buf->read_4bytes(); + if ((flags_ & SrsMp4TfhdFlagsDefaultSampleFlags) == SrsMp4TfhdFlagsDefaultSampleFlags) { + default_sample_flags_ = buf->read_4bytes(); } return err; @@ -1052,28 +1052,28 @@ stringstream &SrsMp4TrackFragmentHeaderBox::dumps_detail(stringstream &ss, SrsMp { SrsMp4FullBox::dumps_detail(ss, dc); - ss << ", track=" << track_id; + ss << ", track=" << track_id_; - if ((flags & SrsMp4TfhdFlagsBaseDataOffset) == SrsMp4TfhdFlagsBaseDataOffset) { - ss << ", bdo=" << base_data_offset; + if ((flags_ & SrsMp4TfhdFlagsBaseDataOffset) == SrsMp4TfhdFlagsBaseDataOffset) { + ss << ", bdo=" << base_data_offset_; } - if ((flags & SrsMp4TfhdFlagsSampleDescriptionIndex) == SrsMp4TfhdFlagsSampleDescriptionIndex) { - ss << ", sdi=" << sample_description_index; + if ((flags_ & SrsMp4TfhdFlagsSampleDescriptionIndex) == SrsMp4TfhdFlagsSampleDescriptionIndex) { + ss << ", sdi=" << sample_description_index_; } - if ((flags & SrsMp4TfhdFlagsDefaultSampleDuration) == SrsMp4TfhdFlagsDefaultSampleDuration) { - ss << ", dsu=" << default_sample_duration; + if ((flags_ & SrsMp4TfhdFlagsDefaultSampleDuration) == SrsMp4TfhdFlagsDefaultSampleDuration) { + ss << ", dsu=" << default_sample_duration_; } - if ((flags & SrsMp4TfhdFlagsDefautlSampleSize) == SrsMp4TfhdFlagsDefautlSampleSize) { - ss << ", dss=" << default_sample_size; + if ((flags_ & SrsMp4TfhdFlagsDefautlSampleSize) == SrsMp4TfhdFlagsDefautlSampleSize) { + ss << ", dss=" << default_sample_size_; } - if ((flags & SrsMp4TfhdFlagsDefaultSampleFlags) == SrsMp4TfhdFlagsDefaultSampleFlags) { - ss << ", dsf=" << default_sample_flags; + if ((flags_ & SrsMp4TfhdFlagsDefaultSampleFlags) == SrsMp4TfhdFlagsDefaultSampleFlags) { + ss << ", dsf=" << default_sample_flags_; } - if ((flags & SrsMp4TfhdFlagsDurationIsEmpty) == SrsMp4TfhdFlagsDurationIsEmpty) { + if ((flags_ & SrsMp4TfhdFlagsDurationIsEmpty) == SrsMp4TfhdFlagsDurationIsEmpty) { ss << ", empty-duration"; } - if ((flags & SrsMp4TfhdFlagsDefaultBaseIsMoof) == SrsMp4TfhdFlagsDefaultBaseIsMoof) { + if ((flags_ & SrsMp4TfhdFlagsDefaultBaseIsMoof) == SrsMp4TfhdFlagsDefaultBaseIsMoof) { ss << ", moof-base"; } @@ -1082,8 +1082,8 @@ stringstream &SrsMp4TrackFragmentHeaderBox::dumps_detail(stringstream &ss, SrsMp SrsMp4TrackFragmentDecodeTimeBox::SrsMp4TrackFragmentDecodeTimeBox() { - type = SrsMp4BoxTypeTFDT; - base_media_decode_time = 0; + type_ = SrsMp4BoxTypeTFDT; + base_media_decode_time_ = 0; } SrsMp4TrackFragmentDecodeTimeBox::~SrsMp4TrackFragmentDecodeTimeBox() @@ -1092,7 +1092,7 @@ SrsMp4TrackFragmentDecodeTimeBox::~SrsMp4TrackFragmentDecodeTimeBox() int SrsMp4TrackFragmentDecodeTimeBox::nb_header() { - return SrsMp4FullBox::nb_header() + (version ? 8 : 4); + return SrsMp4FullBox::nb_header() + (version_ ? 8 : 4); } srs_error_t SrsMp4TrackFragmentDecodeTimeBox::encode_header(SrsBuffer *buf) @@ -1103,10 +1103,10 @@ srs_error_t SrsMp4TrackFragmentDecodeTimeBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - if (version) { - buf->write_8bytes(base_media_decode_time); + if (version_) { + buf->write_8bytes(base_media_decode_time_); } else { - buf->write_4bytes((uint32_t)base_media_decode_time); + buf->write_4bytes((uint32_t)base_media_decode_time_); } return err; @@ -1120,10 +1120,10 @@ srs_error_t SrsMp4TrackFragmentDecodeTimeBox::decode_header(SrsBuffer *buf) return srs_error_wrap(err, "decode header"); } - if (version) { - base_media_decode_time = buf->read_8bytes(); + if (version_) { + base_media_decode_time_ = buf->read_8bytes(); } else { - base_media_decode_time = buf->read_4bytes(); + base_media_decode_time_ = buf->read_4bytes(); } return err; @@ -1133,16 +1133,16 @@ stringstream &SrsMp4TrackFragmentDecodeTimeBox::dumps_detail(stringstream &ss, S { SrsMp4FullBox::dumps_detail(ss, dc); - ss << ", bmdt=" << base_media_decode_time; + ss << ", bmdt=" << base_media_decode_time_; return ss; } SrsMp4TrunEntry::SrsMp4TrunEntry(SrsMp4FullBox *o) { - owner = o; - sample_duration = sample_size = sample_flags = 0; - sample_composition_time_offset = 0; + owner_ = o; + sample_duration_ = sample_size_ = sample_flags_ = 0; + sample_composition_time_offset_ = 0; } SrsMp4TrunEntry::~SrsMp4TrunEntry() @@ -1153,16 +1153,16 @@ uint64_t SrsMp4TrunEntry::nb_bytes() { int size = 0; - if ((owner->flags & SrsMp4TrunFlagsSampleDuration) == SrsMp4TrunFlagsSampleDuration) { + if ((owner_->flags_ & SrsMp4TrunFlagsSampleDuration) == SrsMp4TrunFlagsSampleDuration) { size += 4; } - if ((owner->flags & SrsMp4TrunFlagsSampleSize) == SrsMp4TrunFlagsSampleSize) { + if ((owner_->flags_ & SrsMp4TrunFlagsSampleSize) == SrsMp4TrunFlagsSampleSize) { size += 4; } - if ((owner->flags & SrsMp4TrunFlagsSampleFlag) == SrsMp4TrunFlagsSampleFlag) { + if ((owner_->flags_ & SrsMp4TrunFlagsSampleFlag) == SrsMp4TrunFlagsSampleFlag) { size += 4; } - if ((owner->flags & SrsMp4TrunFlagsSampleCtsOffset) == SrsMp4TrunFlagsSampleCtsOffset) { + if ((owner_->flags_ & SrsMp4TrunFlagsSampleCtsOffset) == SrsMp4TrunFlagsSampleCtsOffset) { size += 4; } @@ -1173,21 +1173,21 @@ srs_error_t SrsMp4TrunEntry::encode(SrsBuffer *buf) { srs_error_t err = srs_success; - if ((owner->flags & SrsMp4TrunFlagsSampleDuration) == SrsMp4TrunFlagsSampleDuration) { - buf->write_4bytes(sample_duration); + if ((owner_->flags_ & SrsMp4TrunFlagsSampleDuration) == SrsMp4TrunFlagsSampleDuration) { + buf->write_4bytes(sample_duration_); } - if ((owner->flags & SrsMp4TrunFlagsSampleSize) == SrsMp4TrunFlagsSampleSize) { - buf->write_4bytes(sample_size); + if ((owner_->flags_ & SrsMp4TrunFlagsSampleSize) == SrsMp4TrunFlagsSampleSize) { + buf->write_4bytes(sample_size_); } - if ((owner->flags & SrsMp4TrunFlagsSampleFlag) == SrsMp4TrunFlagsSampleFlag) { - buf->write_4bytes(sample_flags); + if ((owner_->flags_ & SrsMp4TrunFlagsSampleFlag) == SrsMp4TrunFlagsSampleFlag) { + buf->write_4bytes(sample_flags_); } - if ((owner->flags & SrsMp4TrunFlagsSampleCtsOffset) == SrsMp4TrunFlagsSampleCtsOffset) { - if (!owner->version) { - uint32_t v = (uint32_t)sample_composition_time_offset; + if ((owner_->flags_ & SrsMp4TrunFlagsSampleCtsOffset) == SrsMp4TrunFlagsSampleCtsOffset) { + if (!owner_->version_) { + uint32_t v = (uint32_t)sample_composition_time_offset_; buf->write_4bytes(v); } else { - int32_t v = (int32_t)sample_composition_time_offset; + int32_t v = (int32_t)sample_composition_time_offset_; buf->write_4bytes(v); } } @@ -1199,22 +1199,22 @@ srs_error_t SrsMp4TrunEntry::decode(SrsBuffer *buf) { srs_error_t err = srs_success; - if ((owner->flags & SrsMp4TrunFlagsSampleDuration) == SrsMp4TrunFlagsSampleDuration) { - sample_duration = buf->read_4bytes(); + if ((owner_->flags_ & SrsMp4TrunFlagsSampleDuration) == SrsMp4TrunFlagsSampleDuration) { + sample_duration_ = buf->read_4bytes(); } - if ((owner->flags & SrsMp4TrunFlagsSampleSize) == SrsMp4TrunFlagsSampleSize) { - sample_size = buf->read_4bytes(); + if ((owner_->flags_ & SrsMp4TrunFlagsSampleSize) == SrsMp4TrunFlagsSampleSize) { + sample_size_ = buf->read_4bytes(); } - if ((owner->flags & SrsMp4TrunFlagsSampleFlag) == SrsMp4TrunFlagsSampleFlag) { - sample_flags = buf->read_4bytes(); + if ((owner_->flags_ & SrsMp4TrunFlagsSampleFlag) == SrsMp4TrunFlagsSampleFlag) { + sample_flags_ = buf->read_4bytes(); } - if ((owner->flags & SrsMp4TrunFlagsSampleCtsOffset) == SrsMp4TrunFlagsSampleCtsOffset) { - if (!owner->version) { + if ((owner_->flags_ & SrsMp4TrunFlagsSampleCtsOffset) == SrsMp4TrunFlagsSampleCtsOffset) { + if (!owner_->version_) { uint32_t v = buf->read_4bytes(); - sample_composition_time_offset = v; + sample_composition_time_offset_ = v; } else { int32_t v = buf->read_4bytes(); - sample_composition_time_offset = v; + sample_composition_time_offset_ = v; } } @@ -1223,32 +1223,32 @@ srs_error_t SrsMp4TrunEntry::decode(SrsBuffer *buf) stringstream &SrsMp4TrunEntry::dumps(stringstream &ss, SrsMp4DumpContext dc) { - if ((owner->flags & SrsMp4TrunFlagsSampleDuration) == SrsMp4TrunFlagsSampleDuration) { - ss << "duration=" << sample_duration; + if ((owner_->flags_ & SrsMp4TrunFlagsSampleDuration) == SrsMp4TrunFlagsSampleDuration) { + ss << "duration=" << sample_duration_; } - if ((owner->flags & SrsMp4TrunFlagsSampleSize) == SrsMp4TrunFlagsSampleSize) { - ss << ", size=" << sample_size; + if ((owner_->flags_ & SrsMp4TrunFlagsSampleSize) == SrsMp4TrunFlagsSampleSize) { + ss << ", size=" << sample_size_; } - if ((owner->flags & SrsMp4TrunFlagsSampleFlag) == SrsMp4TrunFlagsSampleFlag) { - ss << ", flags=" << sample_flags; + if ((owner_->flags_ & SrsMp4TrunFlagsSampleFlag) == SrsMp4TrunFlagsSampleFlag) { + ss << ", flags=" << sample_flags_; } - if ((owner->flags & SrsMp4TrunFlagsSampleCtsOffset) == SrsMp4TrunFlagsSampleCtsOffset) { - ss << ", cts=" << sample_composition_time_offset; + if ((owner_->flags_ & SrsMp4TrunFlagsSampleCtsOffset) == SrsMp4TrunFlagsSampleCtsOffset) { + ss << ", cts=" << sample_composition_time_offset_; } return ss; } SrsMp4TrackFragmentRunBox::SrsMp4TrackFragmentRunBox() { - type = SrsMp4BoxTypeTRUN; - first_sample_flags = 0; - data_offset = 0; + type_ = SrsMp4BoxTypeTRUN; + first_sample_flags_ = 0; + data_offset_ = 0; } SrsMp4TrackFragmentRunBox::~SrsMp4TrackFragmentRunBox() { vector::iterator it; - for (it = entries.begin(); it != entries.end(); ++it) { + for (it = entries_.begin(); it != entries_.end(); ++it) { SrsMp4TrunEntry *entry = *it; srs_freep(entry); } @@ -1258,15 +1258,15 @@ int SrsMp4TrackFragmentRunBox::nb_header() { int size = SrsMp4FullBox::nb_header() + 4; - if ((flags & SrsMp4TrunFlagsDataOffset) == SrsMp4TrunFlagsDataOffset) { + if ((flags_ & SrsMp4TrunFlagsDataOffset) == SrsMp4TrunFlagsDataOffset) { size += 4; } - if ((flags & SrsMp4TrunFlagsFirstSample) == SrsMp4TrunFlagsFirstSample) { + if ((flags_ & SrsMp4TrunFlagsFirstSample) == SrsMp4TrunFlagsFirstSample) { size += 4; } vector::iterator it; - for (it = entries.begin(); it != entries.end(); ++it) { + for (it = entries_.begin(); it != entries_.end(); ++it) { SrsMp4TrunEntry *entry = *it; size += entry->nb_bytes(); } @@ -1282,18 +1282,18 @@ srs_error_t SrsMp4TrackFragmentRunBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - uint32_t sample_count = (uint32_t)entries.size(); + uint32_t sample_count = (uint32_t)entries_.size(); buf->write_4bytes(sample_count); - if ((flags & SrsMp4TrunFlagsDataOffset) == SrsMp4TrunFlagsDataOffset) { - buf->write_4bytes(data_offset); + if ((flags_ & SrsMp4TrunFlagsDataOffset) == SrsMp4TrunFlagsDataOffset) { + buf->write_4bytes(data_offset_); } - if ((flags & SrsMp4TrunFlagsFirstSample) == SrsMp4TrunFlagsFirstSample) { - buf->write_4bytes(first_sample_flags); + if ((flags_ & SrsMp4TrunFlagsFirstSample) == SrsMp4TrunFlagsFirstSample) { + buf->write_4bytes(first_sample_flags_); } vector::iterator it; - for (it = entries.begin(); it != entries.end(); ++it) { + for (it = entries_.begin(); it != entries_.end(); ++it) { SrsMp4TrunEntry *entry = *it; if ((err = entry->encode(buf)) != srs_success) { return srs_error_wrap(err, "encode entry"); @@ -1313,16 +1313,16 @@ srs_error_t SrsMp4TrackFragmentRunBox::decode_header(SrsBuffer *buf) uint32_t sample_count = buf->read_4bytes(); - if ((flags & SrsMp4TrunFlagsDataOffset) == SrsMp4TrunFlagsDataOffset) { - data_offset = buf->read_4bytes(); + if ((flags_ & SrsMp4TrunFlagsDataOffset) == SrsMp4TrunFlagsDataOffset) { + data_offset_ = buf->read_4bytes(); } - if ((flags & SrsMp4TrunFlagsFirstSample) == SrsMp4TrunFlagsFirstSample) { - first_sample_flags = buf->read_4bytes(); + if ((flags_ & SrsMp4TrunFlagsFirstSample) == SrsMp4TrunFlagsFirstSample) { + first_sample_flags_ = buf->read_4bytes(); } for (int i = 0; i < (int)sample_count; i++) { SrsMp4TrunEntry *entry = new SrsMp4TrunEntry(this); - entries.push_back(entry); + entries_.push_back(entry); if (!buf->require(entry->nb_bytes())) { return srs_error_new(ERROR_MP4_BOX_REQUIRE_SPACE, "trun entry requires %d bytes", entry->nb_bytes()); @@ -1340,20 +1340,20 @@ stringstream &SrsMp4TrackFragmentRunBox::dumps_detail(stringstream &ss, SrsMp4Du { SrsMp4FullBox::dumps_detail(ss, dc); - uint32_t sample_count = (uint32_t)entries.size(); + uint32_t sample_count = (uint32_t)entries_.size(); ss << ", samples=" << sample_count; - if ((flags & SrsMp4TrunFlagsDataOffset) == SrsMp4TrunFlagsDataOffset) { - ss << ", data-offset=" << data_offset; + if ((flags_ & SrsMp4TrunFlagsDataOffset) == SrsMp4TrunFlagsDataOffset) { + ss << ", data-offset=" << data_offset_; } - if ((flags & SrsMp4TrunFlagsFirstSample) == SrsMp4TrunFlagsFirstSample) { - ss << ", first-sample=" << first_sample_flags; + if ((flags_ & SrsMp4TrunFlagsFirstSample) == SrsMp4TrunFlagsFirstSample) { + ss << ", first-sample=" << first_sample_flags_; } if (sample_count > 0) { ss << endl; srs_mp4_padding(ss, dc.indent()); - srs_dumps_array(entries, ss, dc.indent(), srs_mp4_pfn_box2, srs_mp4_delimiter_newline); + srs_dumps_array(entries_, ss, dc.indent(), srs_mp4_pfn_box2, srs_mp4_delimiter_newline); } return ss; @@ -1361,8 +1361,8 @@ stringstream &SrsMp4TrackFragmentRunBox::dumps_detail(stringstream &ss, SrsMp4Du SrsMp4MediaDataBox::SrsMp4MediaDataBox() { - type = SrsMp4BoxTypeMDAT; - nb_data = 0; + type_ = SrsMp4BoxTypeMDAT; + nb_data_ = 0; } SrsMp4MediaDataBox::~SrsMp4MediaDataBox() @@ -1371,7 +1371,7 @@ SrsMp4MediaDataBox::~SrsMp4MediaDataBox() uint64_t SrsMp4MediaDataBox::nb_bytes() { - return SrsMp4Box::nb_header() + nb_data; + return SrsMp4Box::nb_header() + nb_data_; } srs_error_t SrsMp4MediaDataBox::encode(SrsBuffer *buf) @@ -1393,7 +1393,7 @@ srs_error_t SrsMp4MediaDataBox::decode(SrsBuffer *buf) return srs_error_wrap(err, "decode box"); } - nb_data = sz() - (uint64_t)nb_header(); + nb_data_ = sz() - (uint64_t)nb_header(); return err; } @@ -1412,14 +1412,14 @@ stringstream &SrsMp4MediaDataBox::dumps_detail(stringstream &ss, SrsMp4DumpConte { SrsMp4Box::dumps_detail(ss, dc); - ss << ", total " << nb_data << " bytes"; + ss << ", total " << nb_data_ << " bytes"; return ss; } SrsMp4FreeSpaceBox::SrsMp4FreeSpaceBox(SrsMp4BoxType v) { - type = v; // 'free' or 'skip' + type_ = v; // 'free' or 'skip' } SrsMp4FreeSpaceBox::~SrsMp4FreeSpaceBox() @@ -1428,7 +1428,7 @@ SrsMp4FreeSpaceBox::~SrsMp4FreeSpaceBox() int SrsMp4FreeSpaceBox::nb_header() { - return SrsMp4Box::nb_header() + (int)data.size(); + return SrsMp4Box::nb_header() + (int)data_.size(); } srs_error_t SrsMp4FreeSpaceBox::encode_header(SrsBuffer *buf) @@ -1439,8 +1439,8 @@ srs_error_t SrsMp4FreeSpaceBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - if (!data.empty()) { - buf->write_bytes(&data[0], (int)data.size()); + if (!data_.empty()) { + buf->write_bytes(&data_[0], (int)data_.size()); } return err; @@ -1456,8 +1456,8 @@ srs_error_t SrsMp4FreeSpaceBox::decode_header(SrsBuffer *buf) int left = left_space(buf); if (left) { - data.resize(left); - buf->read_bytes(&data[0], left); + data_.resize(left); + buf->read_bytes(&data_[0], left); } return err; @@ -1467,19 +1467,19 @@ stringstream &SrsMp4FreeSpaceBox::dumps_detail(stringstream &ss, SrsMp4DumpConte { SrsMp4Box::dumps_detail(ss, dc); - ss << ", free " << data.size() << "B"; + ss << ", free " << data_.size() << "B"; - if (!data.empty()) { + if (!data_.empty()) { ss << endl; srs_mp4_padding(ss, dc.indent()); - srs_dumps_array(&data[0], (int)data.size(), ss, dc.indent(), srs_mp4_pfn_hex, srs_mp4_delimiter_inspace); + srs_dumps_array(&data_[0], (int)data_.size(), ss, dc.indent(), srs_mp4_pfn_hex, srs_mp4_delimiter_inspace); } return ss; } SrsMp4MovieBox::SrsMp4MovieBox() { - type = SrsMp4BoxTypeMOOV; + type_ = SrsMp4BoxTypeMOOV; } SrsMp4MovieBox::~SrsMp4MovieBox() @@ -1495,7 +1495,7 @@ SrsMp4MovieHeaderBox *SrsMp4MovieBox::mvhd() void SrsMp4MovieBox::set_mvhd(SrsMp4MovieHeaderBox *v) { remove(SrsMp4BoxTypeMVHD); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4MovieExtendsBox *SrsMp4MovieBox::mvex() @@ -1507,14 +1507,14 @@ SrsMp4MovieExtendsBox *SrsMp4MovieBox::mvex() void SrsMp4MovieBox::set_mvex(SrsMp4MovieExtendsBox *v) { remove(SrsMp4BoxTypeMVEX); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4TrackBox *SrsMp4MovieBox::video() { - for (int i = 0; i < (int)boxes.size(); i++) { - SrsMp4Box *box = boxes.at(i); - if (box->type == SrsMp4BoxTypeTRAK) { + for (int i = 0; i < (int)boxes_.size(); i++) { + SrsMp4Box *box = boxes_.at(i); + if (box->type_ == SrsMp4BoxTypeTRAK) { SrsMp4TrackBox *trak = dynamic_cast(box); if ((trak->track_type() & SrsMp4TrackTypeVideo) == SrsMp4TrackTypeVideo) { return trak; @@ -1526,9 +1526,9 @@ SrsMp4TrackBox *SrsMp4MovieBox::video() SrsMp4TrackBox *SrsMp4MovieBox::audio() { - for (int i = 0; i < (int)boxes.size(); i++) { - SrsMp4Box *box = boxes.at(i); - if (box->type == SrsMp4BoxTypeTRAK) { + for (int i = 0; i < (int)boxes_.size(); i++) { + SrsMp4Box *box = boxes_.at(i); + if (box->type_ == SrsMp4BoxTypeTRAK) { SrsMp4TrackBox *trak = dynamic_cast(box); if ((trak->track_type() & SrsMp4TrackTypeAudio) == SrsMp4TrackTypeAudio) { return trak; @@ -1540,16 +1540,16 @@ SrsMp4TrackBox *SrsMp4MovieBox::audio() void SrsMp4MovieBox::add_trak(SrsMp4TrackBox *v) { - boxes.push_back(v); + boxes_.push_back(v); } int SrsMp4MovieBox::nb_vide_tracks() { int nb_tracks = 0; - for (int i = 0; i < (int)boxes.size(); i++) { - SrsMp4Box *box = boxes.at(i); - if (box->type == SrsMp4BoxTypeTRAK) { + for (int i = 0; i < (int)boxes_.size(); i++) { + SrsMp4Box *box = boxes_.at(i); + if (box->type_ == SrsMp4BoxTypeTRAK) { SrsMp4TrackBox *trak = dynamic_cast(box); if ((trak->track_type() & SrsMp4TrackTypeVideo) == SrsMp4TrackTypeVideo) { nb_tracks++; @@ -1564,9 +1564,9 @@ int SrsMp4MovieBox::nb_soun_tracks() { int nb_tracks = 0; - for (int i = 0; i < (int)boxes.size(); i++) { - SrsMp4Box *box = boxes.at(i); - if (box->type == SrsMp4BoxTypeTRAK) { + for (int i = 0; i < (int)boxes_.size(); i++) { + SrsMp4Box *box = boxes_.at(i); + if (box->type_ == SrsMp4BoxTypeTRAK) { SrsMp4TrackBox *trak = dynamic_cast(box); if ((trak->track_type() & SrsMp4TrackTypeAudio) == SrsMp4TrackTypeAudio) { nb_tracks++; @@ -1604,21 +1604,21 @@ srs_error_t SrsMp4MovieBox::decode_header(SrsBuffer *buf) return err; } -SrsMp4MovieHeaderBox::SrsMp4MovieHeaderBox() : creation_time(0), modification_time(0), timescale(0), duration_in_tbn(0) +SrsMp4MovieHeaderBox::SrsMp4MovieHeaderBox() : creation_time_(0), modification_time_(0), timescale_(0), duration_in_tbn_(0) { - type = SrsMp4BoxTypeMVHD; + type_ = SrsMp4BoxTypeMVHD; - rate = 0x00010000; // typically 1.0 - volume = 0x0100; // typically, full volume - reserved0 = 0; - reserved1 = 0; + rate_ = 0x00010000; // typically 1.0 + volume_ = 0x0100; // typically, full volume + reserved0_ = 0; + reserved1_ = 0; int32_t v[] = {0x00010000, 0, 0, 0, 0x00010000, 0, 0, 0, 0x40000000}; - memcpy(matrix, v, 36); + memcpy(matrix_, v, 36); - memset(pre_defined, 0, 24); + memset(pre_defined_, 0, 24); - next_track_ID = 0; + next_track_ID_ = 0; } SrsMp4MovieHeaderBox::~SrsMp4MovieHeaderBox() @@ -1627,17 +1627,17 @@ SrsMp4MovieHeaderBox::~SrsMp4MovieHeaderBox() uint64_t SrsMp4MovieHeaderBox::duration() { - if (timescale <= 0) { + if (timescale_ <= 0) { return 0; } - return duration_in_tbn * 1000 / timescale; + return duration_in_tbn_ * 1000 / timescale_; } int SrsMp4MovieHeaderBox::nb_header() { int size = SrsMp4FullBox::nb_header(); - if (version == 1) { + if (version_ == 1) { size += 8 + 8 + 4 + 8; } else { size += 4 + 4 + 4 + 4; @@ -1656,29 +1656,29 @@ srs_error_t SrsMp4MovieHeaderBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - if (version == 1) { - buf->write_8bytes(creation_time); - buf->write_8bytes(modification_time); - buf->write_4bytes(timescale); - buf->write_8bytes(duration_in_tbn); + if (version_ == 1) { + buf->write_8bytes(creation_time_); + buf->write_8bytes(modification_time_); + buf->write_4bytes(timescale_); + buf->write_8bytes(duration_in_tbn_); } else { - buf->write_4bytes((uint32_t)creation_time); - buf->write_4bytes((uint32_t)modification_time); - buf->write_4bytes(timescale); - buf->write_4bytes((uint32_t)duration_in_tbn); + buf->write_4bytes((uint32_t)creation_time_); + buf->write_4bytes((uint32_t)modification_time_); + buf->write_4bytes(timescale_); + buf->write_4bytes((uint32_t)duration_in_tbn_); } - buf->write_4bytes(rate); - buf->write_2bytes(volume); - buf->write_2bytes(reserved0); - buf->write_8bytes(reserved1); + buf->write_4bytes(rate_); + buf->write_2bytes(volume_); + buf->write_2bytes(reserved0_); + buf->write_8bytes(reserved1_); for (int i = 0; i < 9; i++) { - buf->write_4bytes(matrix[i]); + buf->write_4bytes(matrix_[i]); } for (int i = 0; i < 6; i++) { - buf->write_4bytes(pre_defined[i]); + buf->write_4bytes(pre_defined_[i]); } - buf->write_4bytes(next_track_ID); + buf->write_4bytes(next_track_ID_); return err; } @@ -1691,27 +1691,27 @@ srs_error_t SrsMp4MovieHeaderBox::decode_header(SrsBuffer *buf) return srs_error_wrap(err, "decode header"); } - if (version == 1) { - creation_time = buf->read_8bytes(); - modification_time = buf->read_8bytes(); - timescale = buf->read_4bytes(); - duration_in_tbn = buf->read_8bytes(); + if (version_ == 1) { + creation_time_ = buf->read_8bytes(); + modification_time_ = buf->read_8bytes(); + timescale_ = buf->read_4bytes(); + duration_in_tbn_ = buf->read_8bytes(); } else { - creation_time = buf->read_4bytes(); - modification_time = buf->read_4bytes(); - timescale = buf->read_4bytes(); - duration_in_tbn = buf->read_4bytes(); + creation_time_ = buf->read_4bytes(); + modification_time_ = buf->read_4bytes(); + timescale_ = buf->read_4bytes(); + duration_in_tbn_ = buf->read_4bytes(); } - rate = buf->read_4bytes(); - volume = buf->read_2bytes(); + rate_ = buf->read_4bytes(); + volume_ = buf->read_2bytes(); buf->skip(2); buf->skip(8); for (int i = 0; i < 9; i++) { - matrix[i] = buf->read_4bytes(); + matrix_[i] = buf->read_4bytes(); } buf->skip(24); - next_track_ID = buf->read_4bytes(); + next_track_ID_ = buf->read_4bytes(); return err; } @@ -1720,13 +1720,13 @@ stringstream &SrsMp4MovieHeaderBox::dumps_detail(stringstream &ss, SrsMp4DumpCon { SrsMp4FullBox::dumps_detail(ss, dc); - ss << ", " << std::setprecision(2) << duration() << "ms, TBN=" << timescale << ", nTID=" << next_track_ID; + ss << ", " << std::setprecision(2) << duration() << "ms, TBN=" << timescale_ << ", nTID=" << next_track_ID_; return ss; } SrsMp4MovieExtendsBox::SrsMp4MovieExtendsBox() { - type = SrsMp4BoxTypeMVEX; + type_ = SrsMp4BoxTypeMVEX; } SrsMp4MovieExtendsBox::~SrsMp4MovieExtendsBox() @@ -1735,14 +1735,14 @@ SrsMp4MovieExtendsBox::~SrsMp4MovieExtendsBox() void SrsMp4MovieExtendsBox::add_trex(SrsMp4TrackExtendsBox *v) { - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4TrackExtendsBox::SrsMp4TrackExtendsBox() { - type = SrsMp4BoxTypeTREX; - track_ID = default_sample_size = default_sample_flags = 0; - default_sample_size = default_sample_duration = default_sample_description_index = 0; + type_ = SrsMp4BoxTypeTREX; + track_ID_ = default_sample_size_ = default_sample_flags_ = 0; + default_sample_size_ = default_sample_duration_ = default_sample_description_index_ = 0; } SrsMp4TrackExtendsBox::~SrsMp4TrackExtendsBox() @@ -1762,11 +1762,11 @@ srs_error_t SrsMp4TrackExtendsBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - buf->write_4bytes(track_ID); - buf->write_4bytes(default_sample_description_index); - buf->write_4bytes(default_sample_duration); - buf->write_4bytes(default_sample_size); - buf->write_4bytes(default_sample_flags); + buf->write_4bytes(track_ID_); + buf->write_4bytes(default_sample_description_index_); + buf->write_4bytes(default_sample_duration_); + buf->write_4bytes(default_sample_size_); + buf->write_4bytes(default_sample_flags_); return err; } @@ -1779,11 +1779,11 @@ srs_error_t SrsMp4TrackExtendsBox::decode_header(SrsBuffer *buf) return srs_error_wrap(err, "decode header"); } - track_ID = buf->read_4bytes(); - default_sample_description_index = buf->read_4bytes(); - default_sample_duration = buf->read_4bytes(); - default_sample_size = buf->read_4bytes(); - default_sample_flags = buf->read_4bytes(); + track_ID_ = buf->read_4bytes(); + default_sample_description_index_ = buf->read_4bytes(); + default_sample_duration_ = buf->read_4bytes(); + default_sample_size_ = buf->read_4bytes(); + default_sample_flags_ = buf->read_4bytes(); return err; } @@ -1792,15 +1792,15 @@ stringstream &SrsMp4TrackExtendsBox::dumps_detail(stringstream &ss, SrsMp4DumpCo { SrsMp4FullBox::dumps_detail(ss, dc); - ss << ", track=#" << track_ID << ", default-sample(" - << "index:" << default_sample_description_index << ", size:" << default_sample_size - << ", duration:" << default_sample_duration << ", flags:" << default_sample_flags << ")"; + ss << ", track=#" << track_ID_ << ", default-sample(" + << "index:" << default_sample_description_index_ << ", size:" << default_sample_size_ + << ", duration:" << default_sample_duration_ << ", flags:" << default_sample_flags_ << ")"; return ss; } SrsMp4TrackBox::SrsMp4TrackBox() { - type = SrsMp4BoxTypeTRAK; + type_ = SrsMp4BoxTypeTRAK; } SrsMp4TrackBox::~SrsMp4TrackBox() @@ -1826,13 +1826,13 @@ SrsMp4TrackHeaderBox *SrsMp4TrackBox::tkhd() void SrsMp4TrackBox::set_tkhd(SrsMp4TrackHeaderBox *v) { remove(SrsMp4BoxTypeTKHD); - boxes.insert(boxes.begin(), v); + boxes_.insert(boxes_.begin(), v); } void SrsMp4TrackBox::set_edts(SrsMp4EditBox *v) { remove(SrsMp4BoxTypeEDTS); - boxes.insert(boxes.begin(), v); + boxes_.insert(boxes_.begin(), v); } SrsMp4ChunkOffsetBox *SrsMp4TrackBox::stco() @@ -1889,7 +1889,7 @@ SrsVideoCodecId SrsMp4TrackBox::vide_codec() } SrsMp4SampleEntry *entry = box->entrie_at(0); - switch (entry->type) { + switch (entry->type_) { case SrsMp4BoxTypeAVC1: return SrsVideoCodecIdAVC; default: @@ -1909,7 +1909,7 @@ SrsAudioCodecId SrsMp4TrackBox::soun_codec() } SrsMp4EsdsBox *esds_box = mp4a()->esds(); - switch (esds_box->es->decConfigDescr.objectTypeIndication) { + switch (esds_box->es->decConfigDescr_.objectTypeIndication) { case SrsMp4ObjectTypeAac: return SrsAudioCodecIdAAC; case SrsMp4ObjectTypeMp3: @@ -1941,7 +1941,7 @@ SrsMp4MediaBox *SrsMp4TrackBox::mdia() void SrsMp4TrackBox::set_mdia(SrsMp4MediaBox *v) { remove(SrsMp4BoxTypeMDIA); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4MediaInformationBox *SrsMp4TrackBox::minf() @@ -1974,21 +1974,21 @@ SrsMp4AudioSampleEntry *SrsMp4TrackBox::mp4a() return box ? box->mp4a() : NULL; } -SrsMp4TrackHeaderBox::SrsMp4TrackHeaderBox() : creation_time(0), modification_time(0), track_ID(0), duration(0) +SrsMp4TrackHeaderBox::SrsMp4TrackHeaderBox() : creation_time_(0), modification_time_(0), track_ID_(0), duration_(0) { - type = SrsMp4BoxTypeTKHD; + type_ = SrsMp4BoxTypeTKHD; - reserved0 = 0; - reserved1 = 0; - reserved2 = 0; - layer = alternate_group = 0; - volume = 0; // if track_is_audio 0x0100 else 0 + reserved0_ = 0; + reserved1_ = 0; + reserved2_ = 0; + layer_ = alternate_group_ = 0; + volume_ = 0; // if track_is_audio 0x0100 else 0 int32_t v[] = {0x00010000, 0, 0, 0, 0x00010000, 0, 0, 0, 0x40000000}; - memcpy(matrix, v, 36); + memcpy(matrix_, v, 36); - width = height = 0; - flags = 0x03; + width_ = height_ = 0; + flags_ = 0x03; } SrsMp4TrackHeaderBox::~SrsMp4TrackHeaderBox() @@ -1999,7 +1999,7 @@ int SrsMp4TrackHeaderBox::nb_header() { int size = SrsMp4FullBox::nb_header(); - if (version == 1) { + if (version_ == 1) { size += 8 + 8 + 4 + 4 + 8; } else { size += 4 + 4 + 4 + 4 + 4; @@ -2018,30 +2018,30 @@ srs_error_t SrsMp4TrackHeaderBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - if (version == 1) { - buf->write_8bytes(creation_time); - buf->write_8bytes(modification_time); - buf->write_4bytes(track_ID); - buf->write_4bytes(reserved0); - buf->write_8bytes(duration); + if (version_ == 1) { + buf->write_8bytes(creation_time_); + buf->write_8bytes(modification_time_); + buf->write_4bytes(track_ID_); + buf->write_4bytes(reserved0_); + buf->write_8bytes(duration_); } else { - buf->write_4bytes((uint32_t)creation_time); - buf->write_4bytes((uint32_t)modification_time); - buf->write_4bytes(track_ID); - buf->write_4bytes(reserved0); - buf->write_4bytes((uint32_t)duration); + buf->write_4bytes((uint32_t)creation_time_); + buf->write_4bytes((uint32_t)modification_time_); + buf->write_4bytes(track_ID_); + buf->write_4bytes(reserved0_); + buf->write_4bytes((uint32_t)duration_); } - buf->write_8bytes(reserved1); - buf->write_2bytes(layer); - buf->write_2bytes(alternate_group); - buf->write_2bytes(volume); - buf->write_2bytes(reserved2); + buf->write_8bytes(reserved1_); + buf->write_2bytes(layer_); + buf->write_2bytes(alternate_group_); + buf->write_2bytes(volume_); + buf->write_2bytes(reserved2_); for (int i = 0; i < 9; i++) { - buf->write_4bytes(matrix[i]); + buf->write_4bytes(matrix_[i]); } - buf->write_4bytes(width); - buf->write_4bytes(height); + buf->write_4bytes(width_); + buf->write_4bytes(height_); return err; } @@ -2054,30 +2054,30 @@ srs_error_t SrsMp4TrackHeaderBox::decode_header(SrsBuffer *buf) return srs_error_wrap(err, "decode header"); } - if (version == 1) { - creation_time = buf->read_8bytes(); - modification_time = buf->read_8bytes(); - track_ID = buf->read_4bytes(); + if (version_ == 1) { + creation_time_ = buf->read_8bytes(); + modification_time_ = buf->read_8bytes(); + track_ID_ = buf->read_4bytes(); buf->skip(4); - duration = buf->read_8bytes(); + duration_ = buf->read_8bytes(); } else { - creation_time = buf->read_4bytes(); - modification_time = buf->read_4bytes(); - track_ID = buf->read_4bytes(); + creation_time_ = buf->read_4bytes(); + modification_time_ = buf->read_4bytes(); + track_ID_ = buf->read_4bytes(); buf->skip(4); - duration = buf->read_4bytes(); + duration_ = buf->read_4bytes(); } buf->skip(8); - layer = buf->read_2bytes(); - alternate_group = buf->read_2bytes(); - volume = buf->read_2bytes(); + layer_ = buf->read_2bytes(); + alternate_group_ = buf->read_2bytes(); + volume_ = buf->read_2bytes(); buf->skip(2); for (int i = 0; i < 9; i++) { - matrix[i] = buf->read_4bytes(); + matrix_[i] = buf->read_4bytes(); } - width = buf->read_4bytes(); - height = buf->read_4bytes(); + width_ = buf->read_4bytes(); + height_ = buf->read_4bytes(); return err; } @@ -2086,20 +2086,20 @@ stringstream &SrsMp4TrackHeaderBox::dumps_detail(stringstream &ss, SrsMp4DumpCon { SrsMp4FullBox::dumps_detail(ss, dc); - ss << ", track #" << track_ID << ", " << duration << "TBN"; + ss << ", track #" << track_ID_ << ", " << duration_ << "TBN"; - if (volume) { - ss << ", volume=" << uint32_t(volume >> 8) << "." << uint32_t(volume & 0xFF); + if (volume_) { + ss << ", volume=" << uint32_t(volume_ >> 8) << "." << uint32_t(volume_ & 0xFF); } - ss << ", size=" << uint16_t(width >> 16) << "x" << uint16_t(height >> 16); + ss << ", size=" << uint16_t(width_ >> 16) << "x" << uint16_t(height_ >> 16); return ss; } SrsMp4EditBox::SrsMp4EditBox() { - type = SrsMp4BoxTypeEDTS; + type_ = SrsMp4BoxTypeEDTS; } SrsMp4EditBox::~SrsMp4EditBox() @@ -2109,12 +2109,12 @@ SrsMp4EditBox::~SrsMp4EditBox() void SrsMp4EditBox::set_elst(SrsMp4EditListBox *v) { remove(SrsMp4BoxTypeELST); - boxes.insert(boxes.begin(), v); + boxes_.insert(boxes_.begin(), v); } -SrsMp4ElstEntry::SrsMp4ElstEntry() : segment_duration(0), media_time(0), media_rate_integer(0) +SrsMp4ElstEntry::SrsMp4ElstEntry() : segment_duration_(0), media_time_(0), media_rate_integer_(0) { - media_rate_fraction = 0; + media_rate_fraction_ = 0; } SrsMp4ElstEntry::~SrsMp4ElstEntry() @@ -2128,14 +2128,14 @@ stringstream &SrsMp4ElstEntry::dumps(stringstream &ss, SrsMp4DumpContext dc) stringstream &SrsMp4ElstEntry::dumps_detail(stringstream &ss, SrsMp4DumpContext dc) { - ss << "Entry, " << segment_duration << "TBN, start=" << media_time << "TBN" - << ", rate=" << media_rate_integer << "," << media_rate_fraction; + ss << "Entry, " << segment_duration_ << "TBN, start=" << media_time_ << "TBN" + << ", rate=" << media_rate_integer_ << "," << media_rate_fraction_; return ss; } SrsMp4EditListBox::SrsMp4EditListBox() { - type = SrsMp4BoxTypeELST; + type_ = SrsMp4BoxTypeELST; } SrsMp4EditListBox::~SrsMp4EditListBox() @@ -2146,10 +2146,10 @@ int SrsMp4EditListBox::nb_header() { int size = SrsMp4FullBox::nb_header() + 4; - if (version == 1) { - size += entries.size() * (2 + 2 + 8 + 8); + if (version_ == 1) { + size += entries_.size() * (2 + 2 + 8 + 8); } else { - size += entries.size() * (2 + 2 + 4 + 4); + size += entries_.size() * (2 + 2 + 4 + 4); } return size; @@ -2163,20 +2163,20 @@ srs_error_t SrsMp4EditListBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - buf->write_4bytes((int)entries.size()); - for (size_t i = 0; i < (size_t)entries.size(); i++) { - SrsMp4ElstEntry &entry = entries[i]; + buf->write_4bytes((int)entries_.size()); + for (size_t i = 0; i < (size_t)entries_.size(); i++) { + SrsMp4ElstEntry &entry = entries_[i]; - if (version == 1) { - buf->write_8bytes(entry.segment_duration); - buf->write_8bytes(entry.media_time); + if (version_ == 1) { + buf->write_8bytes(entry.segment_duration_); + buf->write_8bytes(entry.media_time_); } else { - buf->write_4bytes((uint32_t)entry.segment_duration); - buf->write_4bytes((int32_t)entry.media_time); + buf->write_4bytes((uint32_t)entry.segment_duration_); + buf->write_4bytes((int32_t)entry.media_time_); } - buf->write_2bytes(entry.media_rate_integer); - buf->write_2bytes(entry.media_rate_fraction); + buf->write_2bytes(entry.media_rate_integer_); + buf->write_2bytes(entry.media_rate_fraction_); } return err; @@ -2192,30 +2192,30 @@ srs_error_t SrsMp4EditListBox::decode_header(SrsBuffer *buf) uint32_t entry_count = buf->read_4bytes(); if (entry_count > 0) { - entries.resize(entry_count); + entries_.resize(entry_count); } for (int i = 0; i < (int)entry_count; i++) { - SrsMp4ElstEntry &entry = entries[i]; + SrsMp4ElstEntry &entry = entries_[i]; - if (version == 1) { + if (version_ == 1) { if (!buf->require(16)) { return srs_error_new(ERROR_MP4_BOX_REQUIRE_SPACE, "no space"); } - entry.segment_duration = buf->read_8bytes(); - entry.media_time = buf->read_8bytes(); + entry.segment_duration_ = buf->read_8bytes(); + entry.media_time_ = buf->read_8bytes(); } else { if (!buf->require(8)) { return srs_error_new(ERROR_MP4_BOX_REQUIRE_SPACE, "no space"); } - entry.segment_duration = buf->read_4bytes(); - entry.media_time = buf->read_4bytes(); + entry.segment_duration_ = buf->read_4bytes(); + entry.media_time_ = buf->read_4bytes(); } if (!buf->require(4)) { return srs_error_new(ERROR_MP4_BOX_REQUIRE_SPACE, "no space"); } - entry.media_rate_integer = buf->read_2bytes(); - entry.media_rate_fraction = buf->read_2bytes(); + entry.media_rate_integer_ = buf->read_2bytes(); + entry.media_rate_fraction_ = buf->read_2bytes(); } return err; @@ -2225,12 +2225,12 @@ stringstream &SrsMp4EditListBox::dumps_detail(stringstream &ss, SrsMp4DumpContex { SrsMp4FullBox::dumps_detail(ss, dc); - ss << ", " << entries.size() << " childs"; + ss << ", " << entries_.size() << " childs"; - if (!entries.empty()) { + if (!entries_.empty()) { ss << "(+)" << endl; srs_mp4_padding(ss, dc.indent()); - srs_dumps_array(entries, ss, dc.indent(), srs_mp4_pfn_detail, srs_mp4_delimiter_newline); + srs_dumps_array(entries_, ss, dc.indent(), srs_mp4_pfn_detail, srs_mp4_delimiter_newline); } return ss; @@ -2238,7 +2238,7 @@ stringstream &SrsMp4EditListBox::dumps_detail(stringstream &ss, SrsMp4DumpContex SrsMp4MediaBox::SrsMp4MediaBox() { - type = SrsMp4BoxTypeMDIA; + type_ = SrsMp4BoxTypeMDIA; } SrsMp4MediaBox::~SrsMp4MediaBox() @@ -2253,9 +2253,9 @@ SrsMp4TrackType SrsMp4MediaBox::track_type() } SrsMp4HandlerReferenceBox *hdlr = dynamic_cast(box); - if (hdlr->handler_type == SrsMp4HandlerTypeSOUN) { + if (hdlr->handler_type_ == SrsMp4HandlerTypeSOUN) { return SrsMp4TrackTypeAudio; - } else if (hdlr->handler_type == SrsMp4HandlerTypeVIDE) { + } else if (hdlr->handler_type_ == SrsMp4HandlerTypeVIDE) { return SrsMp4TrackTypeVideo; } else { return SrsMp4TrackTypeForbidden; @@ -2271,7 +2271,7 @@ SrsMp4MediaHeaderBox *SrsMp4MediaBox::mdhd() void SrsMp4MediaBox::set_mdhd(SrsMp4MediaHeaderBox *v) { remove(SrsMp4BoxTypeMDHD); - boxes.insert(boxes.begin(), v); + boxes_.insert(boxes_.begin(), v); } SrsMp4HandlerReferenceBox *SrsMp4MediaBox::hdlr() @@ -2283,7 +2283,7 @@ SrsMp4HandlerReferenceBox *SrsMp4MediaBox::hdlr() void SrsMp4MediaBox::set_hdlr(SrsMp4HandlerReferenceBox *v) { remove(SrsMp4BoxTypeHDLR); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4MediaInformationBox *SrsMp4MediaBox::minf() @@ -2295,14 +2295,14 @@ SrsMp4MediaInformationBox *SrsMp4MediaBox::minf() void SrsMp4MediaBox::set_minf(SrsMp4MediaInformationBox *v) { remove(SrsMp4BoxTypeMINF); - boxes.push_back(v); + boxes_.push_back(v); } -SrsMp4MediaHeaderBox::SrsMp4MediaHeaderBox() : creation_time(0), modification_time(0), timescale(0), duration(0) +SrsMp4MediaHeaderBox::SrsMp4MediaHeaderBox() : creation_time_(0), modification_time_(0), timescale_(0), duration_(0) { - type = SrsMp4BoxTypeMDHD; - language = 0; - pre_defined = 0; + type_ = SrsMp4BoxTypeMDHD; + language_ = 0; + pre_defined_ = 0; } SrsMp4MediaHeaderBox::~SrsMp4MediaHeaderBox() @@ -2311,39 +2311,39 @@ SrsMp4MediaHeaderBox::~SrsMp4MediaHeaderBox() char SrsMp4MediaHeaderBox::language0() { - return (char)(((language >> 10) & 0x1f) + 0x60); + return (char)(((language_ >> 10) & 0x1f) + 0x60); } void SrsMp4MediaHeaderBox::set_language0(char v) { - language |= uint16_t((uint8_t(v) - 0x60) & 0x1f) << 10; + language_ |= uint16_t((uint8_t(v) - 0x60) & 0x1f) << 10; } char SrsMp4MediaHeaderBox::language1() { - return (char)(((language >> 5) & 0x1f) + 0x60); + return (char)(((language_ >> 5) & 0x1f) + 0x60); } void SrsMp4MediaHeaderBox::set_language1(char v) { - language |= uint16_t((uint8_t(v) - 0x60) & 0x1f) << 5; + language_ |= uint16_t((uint8_t(v) - 0x60) & 0x1f) << 5; } char SrsMp4MediaHeaderBox::language2() { - return (char)((language & 0x1f) + 0x60); + return (char)((language_ & 0x1f) + 0x60); } void SrsMp4MediaHeaderBox::set_language2(char v) { - language |= uint16_t((uint8_t(v) - 0x60) & 0x1f); + language_ |= uint16_t((uint8_t(v) - 0x60) & 0x1f); } int SrsMp4MediaHeaderBox::nb_header() { int size = SrsMp4FullBox::nb_header(); - if (version == 1) { + if (version_ == 1) { size += 8 + 8 + 4 + 8; } else { size += 4 + 4 + 4 + 4; @@ -2362,20 +2362,20 @@ srs_error_t SrsMp4MediaHeaderBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - if (version == 1) { - buf->write_8bytes(creation_time); - buf->write_8bytes(modification_time); - buf->write_4bytes(timescale); - buf->write_8bytes(duration); + if (version_ == 1) { + buf->write_8bytes(creation_time_); + buf->write_8bytes(modification_time_); + buf->write_4bytes(timescale_); + buf->write_8bytes(duration_); } else { - buf->write_4bytes((uint32_t)creation_time); - buf->write_4bytes((uint32_t)modification_time); - buf->write_4bytes(timescale); - buf->write_4bytes((uint32_t)duration); + buf->write_4bytes((uint32_t)creation_time_); + buf->write_4bytes((uint32_t)modification_time_); + buf->write_4bytes(timescale_); + buf->write_4bytes((uint32_t)duration_); } - buf->write_2bytes(language); - buf->write_2bytes(pre_defined); + buf->write_2bytes(language_); + buf->write_2bytes(pre_defined_); return err; } @@ -2388,19 +2388,19 @@ srs_error_t SrsMp4MediaHeaderBox::decode_header(SrsBuffer *buf) return srs_error_wrap(err, "decode header"); } - if (version == 1) { - creation_time = buf->read_8bytes(); - modification_time = buf->read_8bytes(); - timescale = buf->read_4bytes(); - duration = buf->read_8bytes(); + if (version_ == 1) { + creation_time_ = buf->read_8bytes(); + modification_time_ = buf->read_8bytes(); + timescale_ = buf->read_4bytes(); + duration_ = buf->read_8bytes(); } else { - creation_time = buf->read_4bytes(); - modification_time = buf->read_4bytes(); - timescale = buf->read_4bytes(); - duration = buf->read_4bytes(); + creation_time_ = buf->read_4bytes(); + modification_time_ = buf->read_4bytes(); + timescale_ = buf->read_4bytes(); + duration_ = buf->read_4bytes(); } - language = buf->read_2bytes(); + language_ = buf->read_2bytes(); buf->skip(2); return err; @@ -2410,8 +2410,8 @@ stringstream &SrsMp4MediaHeaderBox::dumps_detail(stringstream &ss, SrsMp4DumpCon { SrsMp4FullBox::dumps_detail(ss, dc); - ss << ", TBN=" << timescale << ", " << duration << "TBN"; - if (language) { + ss << ", TBN=" << timescale_ << ", " << duration_ << "TBN"; + if (language_) { ss << ", LANG=" << language0() << language1() << language2(); } return ss; @@ -2419,12 +2419,12 @@ stringstream &SrsMp4MediaHeaderBox::dumps_detail(stringstream &ss, SrsMp4DumpCon SrsMp4HandlerReferenceBox::SrsMp4HandlerReferenceBox() { - type = SrsMp4BoxTypeHDLR; + type_ = SrsMp4BoxTypeHDLR; - pre_defined = 0; - memset(reserved, 0, 12); + pre_defined_ = 0; + memset(reserved_, 0, 12); - handler_type = SrsMp4HandlerTypeForbidden; + handler_type_ = SrsMp4HandlerTypeForbidden; } SrsMp4HandlerReferenceBox::~SrsMp4HandlerReferenceBox() @@ -2433,17 +2433,17 @@ SrsMp4HandlerReferenceBox::~SrsMp4HandlerReferenceBox() bool SrsMp4HandlerReferenceBox::is_video() { - return handler_type == SrsMp4HandlerTypeVIDE; + return handler_type_ == SrsMp4HandlerTypeVIDE; } bool SrsMp4HandlerReferenceBox::is_audio() { - return handler_type == SrsMp4HandlerTypeSOUN; + return handler_type_ == SrsMp4HandlerTypeSOUN; } int SrsMp4HandlerReferenceBox::nb_header() { - return SrsMp4FullBox::nb_header() + 4 + 4 + 12 + srs_mp4_string_length(name); + return SrsMp4FullBox::nb_header() + 4 + 4 + 12 + srs_mp4_string_length(name_); } srs_error_t SrsMp4HandlerReferenceBox::encode_header(SrsBuffer *buf) @@ -2454,12 +2454,12 @@ srs_error_t SrsMp4HandlerReferenceBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - buf->write_4bytes(pre_defined); - buf->write_4bytes(handler_type); - buf->write_4bytes(reserved[0]); - buf->write_4bytes(reserved[1]); - buf->write_4bytes(reserved[2]); - srs_mp4_string_write(buf, name); + buf->write_4bytes(pre_defined_); + buf->write_4bytes(handler_type_); + buf->write_4bytes(reserved_[0]); + buf->write_4bytes(reserved_[1]); + buf->write_4bytes(reserved_[2]); + srs_mp4_string_write(buf, name_); return err; } @@ -2473,10 +2473,10 @@ srs_error_t SrsMp4HandlerReferenceBox::decode_header(SrsBuffer *buf) } buf->skip(4); - handler_type = (SrsMp4HandlerType)buf->read_4bytes(); + handler_type_ = (SrsMp4HandlerType)buf->read_4bytes(); buf->skip(12); - if ((err = srs_mp4_string_read(buf, name, left_space(buf))) != srs_success) { + if ((err = srs_mp4_string_read(buf, name_, left_space(buf))) != srs_success) { return srs_error_wrap(err, "hdlr read string"); } @@ -2488,9 +2488,9 @@ stringstream &SrsMp4HandlerReferenceBox::dumps_detail(stringstream &ss, SrsMp4Du SrsMp4FullBox::dumps_detail(ss, dc); ss << ", "; - srs_print_mp4_type(ss, (uint32_t)handler_type); - if (!name.empty()) { - ss << ", " << name; + srs_print_mp4_type(ss, (uint32_t)handler_type_); + if (!name_.empty()) { + ss << ", " << name_; } return ss; @@ -2498,7 +2498,7 @@ stringstream &SrsMp4HandlerReferenceBox::dumps_detail(stringstream &ss, SrsMp4Du SrsMp4MediaInformationBox::SrsMp4MediaInformationBox() { - type = SrsMp4BoxTypeMINF; + type_ = SrsMp4BoxTypeMINF; } SrsMp4MediaInformationBox::~SrsMp4MediaInformationBox() @@ -2514,7 +2514,7 @@ SrsMp4VideoMeidaHeaderBox *SrsMp4MediaInformationBox::vmhd() void SrsMp4MediaInformationBox::set_vmhd(SrsMp4VideoMeidaHeaderBox *v) { remove(SrsMp4BoxTypeVMHD); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4SoundMeidaHeaderBox *SrsMp4MediaInformationBox::smhd() @@ -2526,7 +2526,7 @@ SrsMp4SoundMeidaHeaderBox *SrsMp4MediaInformationBox::smhd() void SrsMp4MediaInformationBox::set_smhd(SrsMp4SoundMeidaHeaderBox *v) { remove(SrsMp4BoxTypeSMHD); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4DataInformationBox *SrsMp4MediaInformationBox::dinf() @@ -2538,7 +2538,7 @@ SrsMp4DataInformationBox *SrsMp4MediaInformationBox::dinf() void SrsMp4MediaInformationBox::set_dinf(SrsMp4DataInformationBox *v) { remove(SrsMp4BoxTypeDINF); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4SampleTableBox *SrsMp4MediaInformationBox::stbl() @@ -2550,17 +2550,17 @@ SrsMp4SampleTableBox *SrsMp4MediaInformationBox::stbl() void SrsMp4MediaInformationBox::set_stbl(SrsMp4SampleTableBox *v) { remove(SrsMp4BoxTypeSTBL); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4VideoMeidaHeaderBox::SrsMp4VideoMeidaHeaderBox() { - type = SrsMp4BoxTypeVMHD; - version = 0; - flags = 1; + type_ = SrsMp4BoxTypeVMHD; + version_ = 0; + flags_ = 1; - graphicsmode = 0; - memset(opcolor, 0, 6); + graphicsmode_ = 0; + memset(opcolor_, 0, 6); } SrsMp4VideoMeidaHeaderBox::~SrsMp4VideoMeidaHeaderBox() @@ -2580,10 +2580,10 @@ srs_error_t SrsMp4VideoMeidaHeaderBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - buf->write_2bytes(graphicsmode); - buf->write_2bytes(opcolor[0]); - buf->write_2bytes(opcolor[1]); - buf->write_2bytes(opcolor[2]); + buf->write_2bytes(graphicsmode_); + buf->write_2bytes(opcolor_[0]); + buf->write_2bytes(opcolor_[1]); + buf->write_2bytes(opcolor_[2]); return err; } @@ -2596,19 +2596,19 @@ srs_error_t SrsMp4VideoMeidaHeaderBox::decode_header(SrsBuffer *buf) return srs_error_wrap(err, "decode header"); } - graphicsmode = buf->read_2bytes(); - opcolor[0] = buf->read_2bytes(); - opcolor[1] = buf->read_2bytes(); - opcolor[2] = buf->read_2bytes(); + graphicsmode_ = buf->read_2bytes(); + opcolor_[0] = buf->read_2bytes(); + opcolor_[1] = buf->read_2bytes(); + opcolor_[2] = buf->read_2bytes(); return err; } SrsMp4SoundMeidaHeaderBox::SrsMp4SoundMeidaHeaderBox() { - type = SrsMp4BoxTypeSMHD; + type_ = SrsMp4BoxTypeSMHD; - reserved = balance = 0; + reserved_ = balance_ = 0; } SrsMp4SoundMeidaHeaderBox::~SrsMp4SoundMeidaHeaderBox() @@ -2628,8 +2628,8 @@ srs_error_t SrsMp4SoundMeidaHeaderBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - buf->write_2bytes(balance); - buf->write_2bytes(reserved); + buf->write_2bytes(balance_); + buf->write_2bytes(reserved_); return err; } @@ -2642,7 +2642,7 @@ srs_error_t SrsMp4SoundMeidaHeaderBox::decode_header(SrsBuffer *buf) return srs_error_wrap(err, "decode header"); } - balance = buf->read_2bytes(); + balance_ = buf->read_2bytes(); buf->skip(2); return err; @@ -2650,7 +2650,7 @@ srs_error_t SrsMp4SoundMeidaHeaderBox::decode_header(SrsBuffer *buf) SrsMp4DataInformationBox::SrsMp4DataInformationBox() { - type = SrsMp4BoxTypeDINF; + type_ = SrsMp4BoxTypeDINF; } SrsMp4DataInformationBox::~SrsMp4DataInformationBox() @@ -2666,7 +2666,7 @@ SrsMp4DataReferenceBox *SrsMp4DataInformationBox::dref() void SrsMp4DataInformationBox::set_dref(SrsMp4DataReferenceBox *v) { remove(SrsMp4BoxTypeDREF); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4DataEntryBox::SrsMp4DataEntryBox() @@ -2684,7 +2684,7 @@ bool SrsMp4DataEntryBox::boxes_in_header() SrsMp4DataEntryUrlBox::SrsMp4DataEntryUrlBox() { - type = SrsMp4BoxTypeURL; + type_ = SrsMp4BoxTypeURL; } SrsMp4DataEntryUrlBox::~SrsMp4DataEntryUrlBox() @@ -2693,7 +2693,7 @@ SrsMp4DataEntryUrlBox::~SrsMp4DataEntryUrlBox() int SrsMp4DataEntryUrlBox::nb_header() { - return SrsMp4FullBox::nb_header() + srs_mp4_string_length(location); + return SrsMp4FullBox::nb_header() + srs_mp4_string_length(location_); } srs_error_t SrsMp4DataEntryUrlBox::encode_header(SrsBuffer *buf) @@ -2702,15 +2702,15 @@ srs_error_t SrsMp4DataEntryUrlBox::encode_header(SrsBuffer *buf) // a 24-bit integer with flags; one flag is defined (x000001) which means that the media // data is in the same file as the Movie Box containing this data reference. - if (location.empty()) { - flags = 0x01; + if (location_.empty()) { + flags_ = 0x01; } if ((err = SrsMp4FullBox::encode_header(buf)) != srs_success) { return srs_error_wrap(err, "encode header"); } - srs_mp4_string_write(buf, location); + srs_mp4_string_write(buf, location_); return err; } @@ -2723,7 +2723,7 @@ srs_error_t SrsMp4DataEntryUrlBox::decode_header(SrsBuffer *buf) return srs_error_wrap(err, "decode header"); } - if ((err = srs_mp4_string_read(buf, location, left_space(buf))) != srs_success) { + if ((err = srs_mp4_string_read(buf, location_, left_space(buf))) != srs_success) { return srs_error_wrap(err, "url read location"); } @@ -2734,8 +2734,8 @@ stringstream &SrsMp4DataEntryUrlBox::dumps_detail(stringstream &ss, SrsMp4DumpCo { SrsMp4FullBox::dumps_detail(ss, dc); - ss << ", URL: " << location; - if (location.empty()) { + ss << ", URL: " << location_; + if (location_.empty()) { ss << "Same file"; } return ss; @@ -2743,7 +2743,7 @@ stringstream &SrsMp4DataEntryUrlBox::dumps_detail(stringstream &ss, SrsMp4DumpCo SrsMp4DataEntryUrnBox::SrsMp4DataEntryUrnBox() { - type = SrsMp4BoxTypeURN; + type_ = SrsMp4BoxTypeURN; } SrsMp4DataEntryUrnBox::~SrsMp4DataEntryUrnBox() @@ -2752,7 +2752,7 @@ SrsMp4DataEntryUrnBox::~SrsMp4DataEntryUrnBox() int SrsMp4DataEntryUrnBox::nb_header() { - return SrsMp4FullBox::nb_header() + srs_mp4_string_length(location) + srs_mp4_string_length(name); + return SrsMp4FullBox::nb_header() + srs_mp4_string_length(location_) + srs_mp4_string_length(name_); } srs_error_t SrsMp4DataEntryUrnBox::encode_header(SrsBuffer *buf) @@ -2761,16 +2761,16 @@ srs_error_t SrsMp4DataEntryUrnBox::encode_header(SrsBuffer *buf) // a 24-bit integer with flags; one flag is defined (x000001) which means that the media // data is in the same file as the Movie Box containing this data reference. - if (location.empty()) { - flags = 0x01; + if (location_.empty()) { + flags_ = 0x01; } if ((err = SrsMp4DataEntryBox::encode_header(buf)) != srs_success) { return srs_error_wrap(err, "encode entry"); } - srs_mp4_string_write(buf, location); - srs_mp4_string_write(buf, name); + srs_mp4_string_write(buf, location_); + srs_mp4_string_write(buf, name_); return err; } @@ -2783,11 +2783,11 @@ srs_error_t SrsMp4DataEntryUrnBox::decode_header(SrsBuffer *buf) return srs_error_wrap(err, "decode entry"); } - if ((err = srs_mp4_string_read(buf, location, left_space(buf))) != srs_success) { + if ((err = srs_mp4_string_read(buf, location_, left_space(buf))) != srs_success) { return srs_error_wrap(err, "urn read location"); } - if ((err = srs_mp4_string_read(buf, name, left_space(buf))) != srs_success) { + if ((err = srs_mp4_string_read(buf, name_, left_space(buf))) != srs_success) { return srs_error_wrap(err, "urn read name"); } @@ -2798,12 +2798,12 @@ stringstream &SrsMp4DataEntryUrnBox::dumps_detail(stringstream &ss, SrsMp4DumpCo { SrsMp4FullBox::dumps_detail(ss, dc); - ss << ", URL: " << location; - if (location.empty()) { + ss << ", URL: " << location_; + if (location_.empty()) { ss << "Same file"; } - if (!name.empty()) { - ss << ", " << name; + if (!name_.empty()) { + ss << ", " << name_; } return ss; @@ -2811,33 +2811,33 @@ stringstream &SrsMp4DataEntryUrnBox::dumps_detail(stringstream &ss, SrsMp4DumpCo SrsMp4DataReferenceBox::SrsMp4DataReferenceBox() { - type = SrsMp4BoxTypeDREF; + type_ = SrsMp4BoxTypeDREF; } SrsMp4DataReferenceBox::~SrsMp4DataReferenceBox() { vector::iterator it; - for (it = entries.begin(); it != entries.end(); ++it) { + for (it = entries_.begin(); it != entries_.end(); ++it) { SrsMp4DataEntryBox *entry = *it; srs_freep(entry); } - entries.clear(); + entries_.clear(); } uint32_t SrsMp4DataReferenceBox::entry_count() { - return (uint32_t)entries.size(); + return (uint32_t)entries_.size(); } SrsMp4DataEntryBox *SrsMp4DataReferenceBox::entry_at(int index) { - return entries.at(index); + return entries_.at(index); } // Note that box must be SrsMp4DataEntryBox* void SrsMp4DataReferenceBox::append(SrsMp4Box *box) { - entries.push_back((SrsMp4DataEntryBox *)box); + entries_.push_back((SrsMp4DataEntryBox *)box); } int SrsMp4DataReferenceBox::nb_header() @@ -2847,7 +2847,7 @@ int SrsMp4DataReferenceBox::nb_header() size += 4; vector::iterator it; - for (it = entries.begin(); it != entries.end(); ++it) { + for (it = entries_.begin(); it != entries_.end(); ++it) { SrsMp4DataEntryBox *entry = *it; size += entry->nb_bytes(); } @@ -2863,10 +2863,10 @@ srs_error_t SrsMp4DataReferenceBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - buf->write_4bytes((int32_t)entries.size()); + buf->write_4bytes((int32_t)entries_.size()); vector::iterator it; - for (it = entries.begin(); it != entries.end(); ++it) { + for (it = entries_.begin(); it != entries_.end(); ++it) { SrsMp4DataEntryBox *entry = *it; if ((err = entry->encode(buf)) != srs_success) { return srs_error_wrap(err, "encode entry"); @@ -2897,14 +2897,14 @@ srs_error_t SrsMp4DataReferenceBox::decode_header(SrsBuffer *buf) SrsMp4FullBox *fbox = dynamic_cast(box); if (fbox) { - fbox->version = version; - fbox->flags = flags; + fbox->version_ = version_; + fbox->flags_ = flags_; } - if (box->type == SrsMp4BoxTypeURL) { - entries.push_back(dynamic_cast(box)); - } else if (box->type == SrsMp4BoxTypeURN) { - entries.push_back(dynamic_cast(box)); + if (box->type_ == SrsMp4BoxTypeURL) { + entries_.push_back(dynamic_cast(box)); + } else if (box->type_ == SrsMp4BoxTypeURN) { + entries_.push_back(dynamic_cast(box)); } else { srs_freep(box); } @@ -2917,17 +2917,17 @@ stringstream &SrsMp4DataReferenceBox::dumps_detail(stringstream &ss, SrsMp4DumpC { SrsMp4FullBox::dumps_detail(ss, dc); - ss << ", " << entries.size() << " childs"; - if (!entries.empty()) { + ss << ", " << entries_.size() << " childs"; + if (!entries_.empty()) { ss << "(+)" << endl; - srs_dumps_array(entries, ss, dc.indent(), srs_mp4_pfn_box2, srs_mp4_delimiter_newline); + srs_dumps_array(entries_, ss, dc.indent(), srs_mp4_pfn_box2, srs_mp4_delimiter_newline); } return ss; } SrsMp4SampleTableBox::SrsMp4SampleTableBox() { - type = SrsMp4BoxTypeSTBL; + type_ = SrsMp4BoxTypeSTBL; } SrsMp4SampleTableBox::~SrsMp4SampleTableBox() @@ -2943,7 +2943,7 @@ SrsMp4SampleDescriptionBox *SrsMp4SampleTableBox::stsd() void SrsMp4SampleTableBox::set_stsd(SrsMp4SampleDescriptionBox *v) { remove(SrsMp4BoxTypeSTSD); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4ChunkOffsetBox *SrsMp4SampleTableBox::stco() @@ -2955,7 +2955,7 @@ SrsMp4ChunkOffsetBox *SrsMp4SampleTableBox::stco() void SrsMp4SampleTableBox::set_stco(SrsMp4ChunkOffsetBox *v) { remove(SrsMp4BoxTypeSTCO); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4ChunkLargeOffsetBox *SrsMp4SampleTableBox::co64() @@ -2967,7 +2967,7 @@ SrsMp4ChunkLargeOffsetBox *SrsMp4SampleTableBox::co64() void SrsMp4SampleTableBox::set_co64(SrsMp4ChunkLargeOffsetBox *v) { remove(SrsMp4BoxTypeCO64); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4SampleSizeBox *SrsMp4SampleTableBox::stsz() @@ -2979,7 +2979,7 @@ SrsMp4SampleSizeBox *SrsMp4SampleTableBox::stsz() void SrsMp4SampleTableBox::set_stsz(SrsMp4SampleSizeBox *v) { remove(SrsMp4BoxTypeSTSZ); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4Sample2ChunkBox *SrsMp4SampleTableBox::stsc() @@ -2991,7 +2991,7 @@ SrsMp4Sample2ChunkBox *SrsMp4SampleTableBox::stsc() void SrsMp4SampleTableBox::set_stsc(SrsMp4Sample2ChunkBox *v) { remove(SrsMp4BoxTypeSTSC); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4DecodingTime2SampleBox *SrsMp4SampleTableBox::stts() @@ -3003,7 +3003,7 @@ SrsMp4DecodingTime2SampleBox *SrsMp4SampleTableBox::stts() void SrsMp4SampleTableBox::set_stts(SrsMp4DecodingTime2SampleBox *v) { remove(SrsMp4BoxTypeSTTS); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4CompositionTime2SampleBox *SrsMp4SampleTableBox::ctts() @@ -3015,7 +3015,7 @@ SrsMp4CompositionTime2SampleBox *SrsMp4SampleTableBox::ctts() void SrsMp4SampleTableBox::set_ctts(SrsMp4CompositionTime2SampleBox *v) { remove(SrsMp4BoxTypeCTTS); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4SyncSampleBox *SrsMp4SampleTableBox::stss() @@ -3027,7 +3027,7 @@ SrsMp4SyncSampleBox *SrsMp4SampleTableBox::stss() void SrsMp4SampleTableBox::set_stss(SrsMp4SyncSampleBox *v) { remove(SrsMp4BoxTypeSTSS); - boxes.push_back(v); + boxes_.push_back(v); } int SrsMp4SampleTableBox::nb_header() @@ -3057,7 +3057,7 @@ srs_error_t SrsMp4SampleTableBox::decode_header(SrsBuffer *buf) return err; } -SrsMp4SampleEntry::SrsMp4SampleEntry() : data_reference_index(0) +SrsMp4SampleEntry::SrsMp4SampleEntry() : data_reference_index_(0) { memset(reserved, 0, 6); } @@ -3082,7 +3082,7 @@ srs_error_t SrsMp4SampleEntry::encode_header(SrsBuffer *buf) for (int i = 0; i < 6; i++) { buf->write_1bytes(reserved[i]); } - buf->write_2bytes(data_reference_index); + buf->write_2bytes(data_reference_index_); return err; } @@ -3096,7 +3096,7 @@ srs_error_t SrsMp4SampleEntry::decode_header(SrsBuffer *buf) } buf->skip(6); - data_reference_index = buf->read_2bytes(); + data_reference_index_ = buf->read_2bytes(); return err; } @@ -3105,24 +3105,24 @@ stringstream &SrsMp4SampleEntry::dumps_detail(stringstream &ss, SrsMp4DumpContex { SrsMp4Box::dumps_detail(ss, dc); - ss << ", refs#" << data_reference_index; + ss << ", refs#" << data_reference_index_; return ss; } -SrsMp4VisualSampleEntry::SrsMp4VisualSampleEntry(SrsMp4BoxType boxType) : width(0), height(0) +SrsMp4VisualSampleEntry::SrsMp4VisualSampleEntry(SrsMp4BoxType boxType) : width_(0), height_(0) { - type = boxType; + type_ = boxType; - pre_defined0 = 0; - reserved0 = 0; - reserved1 = 0; - memset(pre_defined1, 0, 12); - memset(compressorname, 0, 32); - frame_count = 1; - horizresolution = 0x00480000; // 72 dpi - vertresolution = 0x00480000; // 72 dpi - depth = 0x0018; - pre_defined2 = -1; + pre_defined0_ = 0; + reserved0_ = 0; + reserved1_ = 0; + memset(pre_defined1_, 0, 12); + memset(compressorname_, 0, 32); + frame_count_ = 1; + horizresolution_ = 0x00480000; // 72 dpi + vertresolution_ = 0x00480000; // 72 dpi + depth_ = 0x0018; + pre_defined2_ = -1; } SrsMp4VisualSampleEntry::~SrsMp4VisualSampleEntry() @@ -3138,7 +3138,7 @@ SrsMp4AvccBox *SrsMp4VisualSampleEntry::avcC() void SrsMp4VisualSampleEntry::set_avcC(SrsMp4AvccBox *v) { remove(SrsMp4BoxTypeAVCC); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4HvcCBox *SrsMp4VisualSampleEntry::hvcC() @@ -3150,7 +3150,7 @@ SrsMp4HvcCBox *SrsMp4VisualSampleEntry::hvcC() void SrsMp4VisualSampleEntry::set_hvcC(SrsMp4HvcCBox *v) { remove(SrsMp4BoxTypeHVCC); - boxes.push_back(v); + boxes_.push_back(v); } int SrsMp4VisualSampleEntry::nb_header() @@ -3166,20 +3166,20 @@ srs_error_t SrsMp4VisualSampleEntry::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode entry"); } - buf->write_2bytes(pre_defined0); - buf->write_2bytes(reserved0); - buf->write_4bytes(pre_defined1[0]); - buf->write_4bytes(pre_defined1[1]); - buf->write_4bytes(pre_defined1[2]); - buf->write_2bytes(width); - buf->write_2bytes(height); - buf->write_4bytes(horizresolution); - buf->write_4bytes(vertresolution); - buf->write_4bytes(reserved1); - buf->write_2bytes(frame_count); - buf->write_bytes(compressorname, 32); - buf->write_2bytes(depth); - buf->write_2bytes(pre_defined2); + buf->write_2bytes(pre_defined0_); + buf->write_2bytes(reserved0_); + buf->write_4bytes(pre_defined1_[0]); + buf->write_4bytes(pre_defined1_[1]); + buf->write_4bytes(pre_defined1_[2]); + buf->write_2bytes(width_); + buf->write_2bytes(height_); + buf->write_4bytes(horizresolution_); + buf->write_4bytes(vertresolution_); + buf->write_4bytes(reserved1_); + buf->write_2bytes(frame_count_); + buf->write_bytes(compressorname_, 32); + buf->write_2bytes(depth_); + buf->write_2bytes(pre_defined2_); return err; } @@ -3195,14 +3195,14 @@ srs_error_t SrsMp4VisualSampleEntry::decode_header(SrsBuffer *buf) buf->skip(2); buf->skip(2); buf->skip(12); - width = buf->read_2bytes(); - height = buf->read_2bytes(); - horizresolution = buf->read_4bytes(); - vertresolution = buf->read_4bytes(); + width_ = buf->read_2bytes(); + height_ = buf->read_2bytes(); + horizresolution_ = buf->read_4bytes(); + vertresolution_ = buf->read_4bytes(); buf->skip(4); - frame_count = buf->read_2bytes(); - buf->read_bytes(compressorname, 32); - depth = buf->read_2bytes(); + frame_count_ = buf->read_2bytes(); + buf->read_bytes(compressorname_, 32); + depth_ = buf->read_2bytes(); buf->skip(2); return err; @@ -3212,13 +3212,13 @@ stringstream &SrsMp4VisualSampleEntry::dumps_detail(stringstream &ss, SrsMp4Dump { SrsMp4SampleEntry::dumps_detail(ss, dc); - ss << ", size=" << width << "x" << height; + ss << ", size=" << width_ << "x" << height_; return ss; } SrsMp4AvccBox::SrsMp4AvccBox() { - type = SrsMp4BoxTypeAVCC; + type_ = SrsMp4BoxTypeAVCC; } SrsMp4AvccBox::~SrsMp4AvccBox() @@ -3227,7 +3227,7 @@ SrsMp4AvccBox::~SrsMp4AvccBox() int SrsMp4AvccBox::nb_header() { - return SrsMp4Box::nb_header() + (int)avc_config.size(); + return SrsMp4Box::nb_header() + (int)avc_config_.size(); } srs_error_t SrsMp4AvccBox::encode_header(SrsBuffer *buf) @@ -3238,8 +3238,8 @@ srs_error_t SrsMp4AvccBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - if (!avc_config.empty()) { - buf->write_bytes(&avc_config[0], (int)avc_config.size()); + if (!avc_config_.empty()) { + buf->write_bytes(&avc_config_[0], (int)avc_config_.size()); } return err; @@ -3255,8 +3255,8 @@ srs_error_t SrsMp4AvccBox::decode_header(SrsBuffer *buf) int nb_config = left_space(buf); if (nb_config) { - avc_config.resize(nb_config); - buf->read_bytes(&avc_config[0], nb_config); + avc_config_.resize(nb_config); + buf->read_bytes(&avc_config_[0], nb_config); } return err; @@ -3266,15 +3266,15 @@ stringstream &SrsMp4AvccBox::dumps_detail(stringstream &ss, SrsMp4DumpContext dc { SrsMp4Box::dumps_detail(ss, dc); - ss << ", AVC Config: " << (int)avc_config.size() << "B" << endl; + ss << ", AVC Config: " << (int)avc_config_.size() << "B" << endl; srs_mp4_padding(ss, dc.indent()); - srs_mp4_print_bytes(ss, (const char *)&avc_config[0], (int)avc_config.size(), dc.indent()); + srs_mp4_print_bytes(ss, (const char *)&avc_config_[0], (int)avc_config_.size(), dc.indent()); return ss; } SrsMp4HvcCBox::SrsMp4HvcCBox() { - type = SrsMp4BoxTypeHVCC; + type_ = SrsMp4BoxTypeHVCC; } SrsMp4HvcCBox::~SrsMp4HvcCBox() @@ -3283,7 +3283,7 @@ SrsMp4HvcCBox::~SrsMp4HvcCBox() int SrsMp4HvcCBox::nb_header() { - return SrsMp4Box::nb_header() + (int)hevc_config.size(); + return SrsMp4Box::nb_header() + (int)hevc_config_.size(); } srs_error_t SrsMp4HvcCBox::encode_header(SrsBuffer *buf) @@ -3294,8 +3294,8 @@ srs_error_t SrsMp4HvcCBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - if (!hevc_config.empty()) { - buf->write_bytes(&hevc_config[0], (int)hevc_config.size()); + if (!hevc_config_.empty()) { + buf->write_bytes(&hevc_config_[0], (int)hevc_config_.size()); } return err; @@ -3311,8 +3311,8 @@ srs_error_t SrsMp4HvcCBox::decode_header(SrsBuffer *buf) int nb_config = left_space(buf); if (nb_config) { - hevc_config.resize(nb_config); - buf->read_bytes(&hevc_config[0], nb_config); + hevc_config_.resize(nb_config); + buf->read_bytes(&hevc_config_[0], nb_config); } return err; @@ -3322,21 +3322,21 @@ stringstream &SrsMp4HvcCBox::dumps_detail(stringstream &ss, SrsMp4DumpContext dc { SrsMp4Box::dumps_detail(ss, dc); - ss << ", HEVC Config: " << (int)hevc_config.size() << "B" << endl; + ss << ", HEVC Config: " << (int)hevc_config_.size() << "B" << endl; srs_mp4_padding(ss, dc.indent()); - srs_mp4_print_bytes(ss, (const char *)&hevc_config[0], (int)hevc_config.size(), dc.indent()); + srs_mp4_print_bytes(ss, (const char *)&hevc_config_[0], (int)hevc_config_.size(), dc.indent()); return ss; } -SrsMp4AudioSampleEntry::SrsMp4AudioSampleEntry() : samplerate(0) +SrsMp4AudioSampleEntry::SrsMp4AudioSampleEntry() : samplerate_(0) { - type = SrsMp4BoxTypeMP4A; + type_ = SrsMp4BoxTypeMP4A; - reserved0 = 0; - pre_defined0 = 0; - reserved1 = 0; - channelcount = 2; - samplesize = 16; + reserved0_ = 0; + pre_defined0_ = 0; + reserved1_ = 0; + channelcount_ = 2; + samplesize_ = 16; } SrsMp4AudioSampleEntry::~SrsMp4AudioSampleEntry() @@ -3352,7 +3352,7 @@ SrsMp4EsdsBox *SrsMp4AudioSampleEntry::esds() void SrsMp4AudioSampleEntry::set_esds(SrsMp4EsdsBox *v) { remove(SrsMp4BoxTypeESDS); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4DecoderSpecificInfo *SrsMp4AudioSampleEntry::asc() @@ -3374,12 +3374,12 @@ srs_error_t SrsMp4AudioSampleEntry::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode entry"); } - buf->write_8bytes(reserved0); - buf->write_2bytes(channelcount); - buf->write_2bytes(samplesize); - buf->write_2bytes(pre_defined0); - buf->write_2bytes(reserved1); - buf->write_4bytes(samplerate); + buf->write_8bytes(reserved0_); + buf->write_2bytes(channelcount_); + buf->write_2bytes(samplesize_); + buf->write_2bytes(pre_defined0_); + buf->write_2bytes(reserved1_); + buf->write_4bytes(samplerate_); return err; } @@ -3393,11 +3393,11 @@ srs_error_t SrsMp4AudioSampleEntry::decode_header(SrsBuffer *buf) } buf->skip(8); - channelcount = buf->read_2bytes(); - samplesize = buf->read_2bytes(); + channelcount_ = buf->read_2bytes(); + samplesize_ = buf->read_2bytes(); buf->skip(2); buf->skip(2); - samplerate = buf->read_4bytes(); + samplerate_ = buf->read_4bytes(); return err; } @@ -3406,8 +3406,8 @@ stringstream &SrsMp4AudioSampleEntry::dumps_detail(stringstream &ss, SrsMp4DumpC { SrsMp4SampleEntry::dumps_detail(ss, dc); - ss << ", " << channelcount << " channels, " << samplesize << " bits" - << ", " << (samplerate >> 16) << " Hz"; + ss << ", " << channelcount_ << " channels, " << samplesize_ << " bits" + << ", " << (samplerate_ >> 16) << " Hz"; return ss; } @@ -3538,15 +3538,15 @@ SrsMp4DecoderSpecificInfo::~SrsMp4DecoderSpecificInfo() int32_t SrsMp4DecoderSpecificInfo::nb_payload() { - return (int)asc.size(); + return (int)asc_.size(); } srs_error_t SrsMp4DecoderSpecificInfo::encode_payload(SrsBuffer *buf) { srs_error_t err = srs_success; - if (!asc.empty()) { - buf->write_bytes(&asc[0], (int)asc.size()); + if (!asc_.empty()) { + buf->write_bytes(&asc_[0], (int)asc_.size()); } return err; @@ -3558,8 +3558,8 @@ srs_error_t SrsMp4DecoderSpecificInfo::decode_payload(SrsBuffer *buf) int nb_asc = vlen; if (nb_asc) { - asc.resize(nb_asc); - buf->read_bytes(&asc[0], nb_asc); + asc_.resize(nb_asc); + buf->read_bytes(&asc_[0], nb_asc); } return err; @@ -3569,30 +3569,30 @@ stringstream &SrsMp4DecoderSpecificInfo::dumps_detail(stringstream &ss, SrsMp4Du { SrsMp4BaseDescriptor::dumps_detail(ss, dc); - ss << ", ASC " << asc.size() << "B"; + ss << ", ASC " << asc_.size() << "B"; ss << endl; srs_mp4_padding(ss, dc.indent()); - return srs_mp4_print_bytes(ss, (const char *)&asc[0], (int)asc.size(), dc.indent()); + return srs_mp4_print_bytes(ss, (const char *)&asc_[0], (int)asc_.size(), dc.indent()); } -SrsMp4DecoderConfigDescriptor::SrsMp4DecoderConfigDescriptor() : upStream(0), bufferSizeDB(0), maxBitrate(0), avgBitrate(0) +SrsMp4DecoderConfigDescriptor::SrsMp4DecoderConfigDescriptor() : upStream(0), bufferSizeDB_(0), maxBitrate_(0), avgBitrate_(0) { tag = SrsMp4ESTagESDecoderConfigDescrTag; objectTypeIndication = SrsMp4ObjectTypeForbidden; streamType = SrsMp4StreamTypeForbidden; - decSpecificInfo = NULL; + decSpecificInfo_ = NULL; reserved = 1; } SrsMp4DecoderConfigDescriptor::~SrsMp4DecoderConfigDescriptor() { - srs_freep(decSpecificInfo); + srs_freep(decSpecificInfo_); } int32_t SrsMp4DecoderConfigDescriptor::nb_payload() { - return 13 + (decSpecificInfo ? decSpecificInfo->nb_bytes() : 0); + return 13 + (decSpecificInfo_ ? decSpecificInfo_->nb_bytes() : 0); } srs_error_t SrsMp4DecoderConfigDescriptor::encode_payload(SrsBuffer *buf) @@ -3606,11 +3606,11 @@ srs_error_t SrsMp4DecoderConfigDescriptor::encode_payload(SrsBuffer *buf) v |= uint8_t(streamType & 0x3f) << 2; buf->write_1bytes(v); - buf->write_3bytes(bufferSizeDB); - buf->write_4bytes(maxBitrate); - buf->write_4bytes(avgBitrate); + buf->write_3bytes(bufferSizeDB_); + buf->write_4bytes(maxBitrate_); + buf->write_4bytes(avgBitrate_); - if (decSpecificInfo && (err = decSpecificInfo->encode(buf)) != srs_success) { + if (decSpecificInfo_ && (err = decSpecificInfo_->encode(buf)) != srs_success) { return srs_error_wrap(err, "encode des specific info"); } @@ -3628,14 +3628,14 @@ srs_error_t SrsMp4DecoderConfigDescriptor::decode_payload(SrsBuffer *buf) streamType = (SrsMp4StreamType)((v >> 2) & 0x3f); reserved = v & 0x01; - bufferSizeDB = buf->read_3bytes(); - maxBitrate = buf->read_4bytes(); - avgBitrate = buf->read_4bytes(); + bufferSizeDB_ = buf->read_3bytes(); + maxBitrate_ = buf->read_4bytes(); + avgBitrate_ = buf->read_4bytes(); int left = left_space(buf); if (left > 0) { - decSpecificInfo = new SrsMp4DecoderSpecificInfo(); - if ((err = decSpecificInfo->decode(buf)) != srs_success) { + decSpecificInfo_ = new SrsMp4DecoderSpecificInfo(); + if ((err = decSpecificInfo_->decode(buf)) != srs_success) { return srs_error_wrap(err, "decode dec specific info"); } } @@ -3653,8 +3653,8 @@ stringstream &SrsMp4DecoderConfigDescriptor::dumps_detail(stringstream &ss, SrsM srs_mp4_padding(ss, dc.indent()); ss << "decoder specific"; - if (decSpecificInfo) { - decSpecificInfo->dumps_detail(ss, dc.indent()); + if (decSpecificInfo_) { + decSpecificInfo_->dumps_detail(ss, dc.indent()); } return ss; @@ -3663,7 +3663,7 @@ stringstream &SrsMp4DecoderConfigDescriptor::dumps_detail(stringstream &ss, SrsM SrsMp4SLConfigDescriptor::SrsMp4SLConfigDescriptor() { tag = SrsMp4ESTagESSLConfigDescrTag; - predefined = 2; + predefined_ = 2; } SrsMp4SLConfigDescriptor::~SrsMp4SLConfigDescriptor() @@ -3679,7 +3679,7 @@ srs_error_t SrsMp4SLConfigDescriptor::encode_payload(SrsBuffer *buf) { srs_error_t err = srs_success; - buf->write_1bytes(predefined); + buf->write_1bytes(predefined_); return err; } @@ -3688,20 +3688,20 @@ srs_error_t SrsMp4SLConfigDescriptor::decode_payload(SrsBuffer *buf) { srs_error_t err = srs_success; - predefined = buf->read_1bytes(); + predefined_ = buf->read_1bytes(); // TODO: FIXME: To support complete SL Config. - if (predefined != 0x02) { - return srs_error_new(ERROR_MP4_ESDS_SL_Config, "illegal ESDS SL Config, predefined=%d", predefined); + if (predefined_ != 0x02) { + return srs_error_new(ERROR_MP4_ESDS_SL_Config, "illegal ESDS SL Config, predefined=%d", predefined_); } return err; } -SrsMp4ES_Descriptor::SrsMp4ES_Descriptor() : ES_ID(0), dependsOn_ES_ID(0), OCR_ES_Id(0) +SrsMp4ES_Descriptor::SrsMp4ES_Descriptor() : ES_ID_(0), dependsOn_ES_ID_(0), OCR_ES_Id_(0) { tag = SrsMp4ESTagESDescrTag; - streamPriority = streamDependenceFlag = URL_Flag = OCRstreamFlag = 0; + streamPriority_ = streamDependenceFlag_ = URL_Flag_ = OCRstreamFlag_ = 0; } SrsMp4ES_Descriptor::~SrsMp4ES_Descriptor() @@ -3711,12 +3711,12 @@ SrsMp4ES_Descriptor::~SrsMp4ES_Descriptor() int32_t SrsMp4ES_Descriptor::nb_payload() { int size = 2 + 1; - size += streamDependenceFlag ? 2 : 0; - if (URL_Flag) { - size += 1 + URLstring.size(); + size += streamDependenceFlag_ ? 2 : 0; + if (URL_Flag_) { + size += 1 + URLstring_.size(); } - size += OCRstreamFlag ? 2 : 0; - size += decConfigDescr.nb_bytes() + slConfigDescr.nb_bytes(); + size += OCRstreamFlag_ ? 2 : 0; + size += decConfigDescr_.nb_bytes() + slConfigDescr_.nb_bytes(); return size; } @@ -3724,32 +3724,32 @@ srs_error_t SrsMp4ES_Descriptor::encode_payload(SrsBuffer *buf) { srs_error_t err = srs_success; - buf->write_2bytes(ES_ID); + buf->write_2bytes(ES_ID_); - uint8_t v = streamPriority & 0x1f; - v |= (streamDependenceFlag & 0x01) << 7; - v |= (URL_Flag & 0x01) << 6; - v |= (OCRstreamFlag & 0x01) << 5; + uint8_t v = streamPriority_ & 0x1f; + v |= (streamDependenceFlag_ & 0x01) << 7; + v |= (URL_Flag_ & 0x01) << 6; + v |= (OCRstreamFlag_ & 0x01) << 5; buf->write_1bytes(v); - if (streamDependenceFlag) { - buf->write_2bytes(dependsOn_ES_ID); + if (streamDependenceFlag_) { + buf->write_2bytes(dependsOn_ES_ID_); } - if (URL_Flag && !URLstring.empty()) { - buf->write_1bytes(URLstring.size()); - buf->write_bytes(&URLstring[0], (int)URLstring.size()); + if (URL_Flag_ && !URLstring_.empty()) { + buf->write_1bytes(URLstring_.size()); + buf->write_bytes(&URLstring_[0], (int)URLstring_.size()); } - if (OCRstreamFlag) { - buf->write_2bytes(OCR_ES_Id); + if (OCRstreamFlag_) { + buf->write_2bytes(OCR_ES_Id_); } - if ((err = decConfigDescr.encode(buf)) != srs_success) { + if ((err = decConfigDescr_.encode(buf)) != srs_success) { return srs_error_wrap(err, "encode dec config"); } - if ((err = slConfigDescr.encode(buf)) != srs_success) { + if ((err = slConfigDescr_.encode(buf)) != srs_success) { return srs_error_wrap(err, "encode sl config"); } @@ -3760,22 +3760,22 @@ srs_error_t SrsMp4ES_Descriptor::decode_payload(SrsBuffer *buf) { srs_error_t err = srs_success; - ES_ID = buf->read_2bytes(); + ES_ID_ = buf->read_2bytes(); uint8_t v = buf->read_1bytes(); - streamPriority = v & 0x1f; - streamDependenceFlag = (v >> 7) & 0x01; - URL_Flag = (v >> 6) & 0x01; - OCRstreamFlag = (v >> 5) & 0x01; + streamPriority_ = v & 0x1f; + streamDependenceFlag_ = (v >> 7) & 0x01; + URL_Flag_ = (v >> 6) & 0x01; + OCRstreamFlag_ = (v >> 5) & 0x01; - if (streamDependenceFlag) { + if (streamDependenceFlag_) { if (!buf->require(2)) { return srs_error_new(ERROR_MP4_BOX_REQUIRE_SPACE, "ES requires 2 only %d bytes", buf->left()); } - dependsOn_ES_ID = buf->read_2bytes(); + dependsOn_ES_ID_ = buf->read_2bytes(); } - if (URL_Flag) { + if (URL_Flag_) { if (!buf->require(1)) { return srs_error_new(ERROR_MP4_BOX_REQUIRE_SPACE, "URLlength requires 1 only %d bytes", buf->left()); } @@ -3784,22 +3784,22 @@ srs_error_t SrsMp4ES_Descriptor::decode_payload(SrsBuffer *buf) if (!buf->require(URLlength)) { return srs_error_new(ERROR_MP4_BOX_REQUIRE_SPACE, "URL requires %d only %d bytes", URLlength, buf->left()); } - URLstring.resize(URLlength); - buf->read_bytes(&URLstring[0], URLlength); + URLstring_.resize(URLlength); + buf->read_bytes(&URLstring_[0], URLlength); } - if (OCRstreamFlag) { + if (OCRstreamFlag_) { if (!buf->require(2)) { return srs_error_new(ERROR_MP4_BOX_REQUIRE_SPACE, "OCR requires 2 only %d bytes", buf->left()); } - OCR_ES_Id = buf->read_2bytes(); + OCR_ES_Id_ = buf->read_2bytes(); } - if ((err = decConfigDescr.decode(buf)) != srs_success) { + if ((err = decConfigDescr_.decode(buf)) != srs_success) { return srs_error_wrap(err, "decode dec config"); } - if ((err = slConfigDescr.decode(buf)) != srs_success) { + if ((err = slConfigDescr_.decode(buf)) != srs_success) { return srs_error_wrap(err, "decode sl config"); } @@ -3810,19 +3810,19 @@ stringstream &SrsMp4ES_Descriptor::dumps_detail(stringstream &ss, SrsMp4DumpCont { SrsMp4BaseDescriptor::dumps_detail(ss, dc); - ss << ", ID=" << ES_ID; + ss << ", ID=" << ES_ID_; ss << endl; srs_mp4_padding(ss, dc.indent()); ss << "decoder config"; - decConfigDescr.dumps_detail(ss, dc.indent()); + decConfigDescr_.dumps_detail(ss, dc.indent()); return ss; } SrsMp4EsdsBox::SrsMp4EsdsBox() { - type = SrsMp4BoxTypeESDS; + type_ = SrsMp4BoxTypeESDS; es = new SrsMp4ES_Descriptor(); } @@ -3833,7 +3833,7 @@ SrsMp4EsdsBox::~SrsMp4EsdsBox() SrsMp4DecoderSpecificInfo *SrsMp4EsdsBox::asc() { - return es->decConfigDescr.decSpecificInfo; + return es->decConfigDescr_.decSpecificInfo_; } int SrsMp4EsdsBox::nb_header() @@ -3888,25 +3888,25 @@ stringstream &SrsMp4EsdsBox::dumps_detail(stringstream &ss, SrsMp4DumpContext dc SrsMp4SampleDescriptionBox::SrsMp4SampleDescriptionBox() { - type = SrsMp4BoxTypeSTSD; + type_ = SrsMp4BoxTypeSTSD; } SrsMp4SampleDescriptionBox::~SrsMp4SampleDescriptionBox() { vector::iterator it; - for (it = entries.begin(); it != entries.end(); ++it) { + for (it = entries_.begin(); it != entries_.end(); ++it) { SrsMp4SampleEntry *entry = *it; srs_freep(entry); } - entries.clear(); + entries_.clear(); } SrsMp4VisualSampleEntry *SrsMp4SampleDescriptionBox::avc1() { vector::iterator it; - for (it = entries.begin(); it != entries.end(); ++it) { + for (it = entries_.begin(); it != entries_.end(); ++it) { SrsMp4SampleEntry *entry = *it; - if (entry->type == SrsMp4BoxTypeAVC1) { + if (entry->type_ == SrsMp4BoxTypeAVC1) { return dynamic_cast(entry); } } @@ -3916,9 +3916,9 @@ SrsMp4VisualSampleEntry *SrsMp4SampleDescriptionBox::avc1() SrsMp4AudioSampleEntry *SrsMp4SampleDescriptionBox::mp4a() { vector::iterator it; - for (it = entries.begin(); it != entries.end(); ++it) { + for (it = entries_.begin(); it != entries_.end(); ++it) { SrsMp4SampleEntry *entry = *it; - if (entry->type == SrsMp4BoxTypeMP4A) { + if (entry->type_ == SrsMp4BoxTypeMP4A) { return dynamic_cast(entry); } } @@ -3927,18 +3927,18 @@ SrsMp4AudioSampleEntry *SrsMp4SampleDescriptionBox::mp4a() uint32_t SrsMp4SampleDescriptionBox::entry_count() { - return (uint32_t)entries.size(); + return (uint32_t)entries_.size(); } SrsMp4SampleEntry *SrsMp4SampleDescriptionBox::entrie_at(int index) { - return entries.at(index); + return entries_.at(index); } // Note that box must be SrsMp4SampleEntry* void SrsMp4SampleDescriptionBox::append(SrsMp4Box *box) { - entries.push_back((SrsMp4SampleEntry *)box); + entries_.push_back((SrsMp4SampleEntry *)box); } int SrsMp4SampleDescriptionBox::nb_header() @@ -3948,7 +3948,7 @@ int SrsMp4SampleDescriptionBox::nb_header() size += 4; vector::iterator it; - for (it = entries.begin(); it != entries.end(); ++it) { + for (it = entries_.begin(); it != entries_.end(); ++it) { SrsMp4SampleEntry *entry = *it; size += entry->nb_bytes(); } @@ -3967,7 +3967,7 @@ srs_error_t SrsMp4SampleDescriptionBox::encode_header(SrsBuffer *buf) buf->write_4bytes(entry_count()); vector::iterator it; - for (it = entries.begin(); it != entries.end(); ++it) { + for (it = entries_.begin(); it != entries_.end(); ++it) { SrsMp4SampleEntry *entry = *it; if ((err = entry->encode(buf)) != srs_success) { return srs_error_wrap(err, "encode entry"); @@ -3998,7 +3998,7 @@ srs_error_t SrsMp4SampleDescriptionBox::decode_header(SrsBuffer *buf) SrsMp4SampleEntry *entry = dynamic_cast(box); if (entry) { - entries.push_back(entry); + entries_.push_back(entry); } else { srs_freep(box); } @@ -4016,18 +4016,18 @@ stringstream &SrsMp4SampleDescriptionBox::dumps_detail(stringstream &ss, SrsMp4D { SrsMp4FullBox::dumps_detail(ss, dc); - ss << ", " << entries.size() << " childs"; - if (!entries.empty()) { + ss << ", " << entries_.size() << " childs"; + if (!entries_.empty()) { ss << "(+)" << endl; - srs_dumps_array(entries, ss, dc.indent(), srs_mp4_pfn_box2, srs_mp4_delimiter_newline); + srs_dumps_array(entries_, ss, dc.indent(), srs_mp4_pfn_box2, srs_mp4_delimiter_newline); } return ss; } SrsMp4SttsEntry::SrsMp4SttsEntry() { - sample_count = 0; - sample_delta = 0; + sample_count_ = 0; + sample_delta_ = 0; } SrsMp4SttsEntry::~SrsMp4SttsEntry() @@ -4036,15 +4036,15 @@ SrsMp4SttsEntry::~SrsMp4SttsEntry() stringstream &SrsMp4SttsEntry::dumps_detail(stringstream &ss, SrsMp4DumpContext dc) { - ss << "count=" << sample_count << ", delta=" << sample_delta; + ss << "count=" << sample_count_ << ", delta=" << sample_delta_; return ss; } SrsMp4DecodingTime2SampleBox::SrsMp4DecodingTime2SampleBox() { - type = SrsMp4BoxTypeSTTS; + type_ = SrsMp4BoxTypeSTTS; - index = count = 0; + index_ = count_ = 0; } SrsMp4DecodingTime2SampleBox::~SrsMp4DecodingTime2SampleBox() @@ -4056,16 +4056,16 @@ srs_error_t SrsMp4DecodingTime2SampleBox::initialize_counter() srs_error_t err = srs_success; // If only sps/pps and no frames, there is no stts entries. - if (entries.empty()) { + if (entries_.empty()) { return err; } - index = 0; - if (index >= entries.size()) { + index_ = 0; + if (index_ >= entries_.size()) { return srs_error_new(ERROR_MP4_ILLEGAL_TIMESTAMP, "illegal ts, empty stts"); } - count = entries[0].sample_count; + count_ = entries_[0].sample_count_; return err; } @@ -4074,24 +4074,24 @@ srs_error_t SrsMp4DecodingTime2SampleBox::on_sample(uint32_t sample_index, SrsMp { srs_error_t err = srs_success; - if (sample_index + 1 > count) { - index++; + if (sample_index + 1 > count_) { + index_++; - if (index >= entries.size()) { - return srs_error_new(ERROR_MP4_ILLEGAL_TIMESTAMP, "illegal ts, stts overflow, count=%zd", entries.size()); + if (index_ >= entries_.size()) { + return srs_error_new(ERROR_MP4_ILLEGAL_TIMESTAMP, "illegal ts, stts overflow, count=%zd", entries_.size()); } - count += entries[index].sample_count; + count_ += entries_[index_].sample_count_; } - *ppentry = &entries[index]; + *ppentry = &entries_[index_]; return err; } int SrsMp4DecodingTime2SampleBox::nb_header() { - return SrsMp4FullBox::nb_header() + 4 + 8 * (int)entries.size(); + return SrsMp4FullBox::nb_header() + 4 + 8 * (int)entries_.size(); } srs_error_t SrsMp4DecodingTime2SampleBox::encode_header(SrsBuffer *buf) @@ -4102,11 +4102,11 @@ srs_error_t SrsMp4DecodingTime2SampleBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - buf->write_4bytes((int)entries.size()); - for (size_t i = 0; i < (size_t)entries.size(); i++) { - SrsMp4SttsEntry &entry = entries[i]; - buf->write_4bytes(entry.sample_count); - buf->write_4bytes(entry.sample_delta); + buf->write_4bytes((int)entries_.size()); + for (size_t i = 0; i < (size_t)entries_.size(); i++) { + SrsMp4SttsEntry &entry = entries_[i]; + buf->write_4bytes(entry.sample_count_); + buf->write_4bytes(entry.sample_delta_); } return err; @@ -4122,16 +4122,16 @@ srs_error_t SrsMp4DecodingTime2SampleBox::decode_header(SrsBuffer *buf) uint32_t entry_count = buf->read_4bytes(); if (entry_count) { - entries.resize(entry_count); + entries_.resize(entry_count); } for (size_t i = 0; i < (size_t)entry_count; i++) { if (!buf->require(8)) { return srs_error_new(ERROR_MP4_BOX_REQUIRE_SPACE, "no space"); } - SrsMp4SttsEntry &entry = entries[i]; - entry.sample_count = buf->read_4bytes(); - entry.sample_delta = buf->read_4bytes(); + SrsMp4SttsEntry &entry = entries_[i]; + entry.sample_count_ = buf->read_4bytes(); + entry.sample_delta_ = buf->read_4bytes(); } return err; @@ -4141,19 +4141,19 @@ stringstream &SrsMp4DecodingTime2SampleBox::dumps_detail(stringstream &ss, SrsMp { SrsMp4FullBox::dumps_detail(ss, dc); - ss << ", " << entries.size() << " childs (+)"; - if (!entries.empty()) { + ss << ", " << entries_.size() << " childs (+)"; + if (!entries_.empty()) { ss << endl; srs_mp4_padding(ss, dc.indent()); - srs_dumps_array(entries, ss, dc.indent(), srs_mp4_pfn_detail, srs_mp4_delimiter_newline); + srs_dumps_array(entries_, ss, dc.indent(), srs_mp4_pfn_detail, srs_mp4_delimiter_newline); } return ss; } SrsMp4CttsEntry::SrsMp4CttsEntry() { - sample_count = 0; - sample_offset = 0; + sample_count_ = 0; + sample_offset_ = 0; } SrsMp4CttsEntry::~SrsMp4CttsEntry() @@ -4162,15 +4162,15 @@ SrsMp4CttsEntry::~SrsMp4CttsEntry() stringstream &SrsMp4CttsEntry::dumps_detail(stringstream &ss, SrsMp4DumpContext dc) { - ss << "count=" << sample_count << ", offset=" << sample_offset; + ss << "count=" << sample_count_ << ", offset=" << sample_offset_; return ss; } SrsMp4CompositionTime2SampleBox::SrsMp4CompositionTime2SampleBox() { - type = SrsMp4BoxTypeCTTS; + type_ = SrsMp4BoxTypeCTTS; - index = count = 0; + index_ = count_ = 0; } SrsMp4CompositionTime2SampleBox::~SrsMp4CompositionTime2SampleBox() @@ -4182,16 +4182,16 @@ srs_error_t SrsMp4CompositionTime2SampleBox::initialize_counter() srs_error_t err = srs_success; // If only sps/pps and no frames, there is no stts entries. - if (entries.empty()) { + if (entries_.empty()) { return err; } - index = 0; - if (index >= entries.size()) { + index_ = 0; + if (index_ >= entries_.size()) { return srs_error_new(ERROR_MP4_ILLEGAL_TIMESTAMP, "illegal ts, empty ctts"); } - count = entries[0].sample_count; + count_ = entries_[0].sample_count_; return err; } @@ -4200,24 +4200,24 @@ srs_error_t SrsMp4CompositionTime2SampleBox::on_sample(uint32_t sample_index, Sr { srs_error_t err = srs_success; - if (sample_index + 1 > count) { - index++; + if (sample_index + 1 > count_) { + index_++; - if (index >= entries.size()) { - return srs_error_new(ERROR_MP4_ILLEGAL_TIMESTAMP, "illegal ts, ctts overflow, count=%d", (int)entries.size()); + if (index_ >= entries_.size()) { + return srs_error_new(ERROR_MP4_ILLEGAL_TIMESTAMP, "illegal ts, ctts overflow, count=%d", (int)entries_.size()); } - count += entries[index].sample_count; + count_ += entries_[index_].sample_count_; } - *ppentry = &entries[index]; + *ppentry = &entries_[index_]; return err; } int SrsMp4CompositionTime2SampleBox::nb_header() { - return SrsMp4FullBox::nb_header() + 4 + 8 * (int)entries.size(); + return SrsMp4FullBox::nb_header() + 4 + 8 * (int)entries_.size(); } srs_error_t SrsMp4CompositionTime2SampleBox::encode_header(SrsBuffer *buf) @@ -4228,14 +4228,14 @@ srs_error_t SrsMp4CompositionTime2SampleBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - buf->write_4bytes((int)entries.size()); - for (size_t i = 0; i < (size_t)entries.size(); i++) { - SrsMp4CttsEntry &entry = entries[i]; - buf->write_4bytes(entry.sample_count); - if (version == 0) { - buf->write_4bytes((uint32_t)entry.sample_offset); - } else if (version == 1) { - buf->write_4bytes((int32_t)entry.sample_offset); + buf->write_4bytes((int)entries_.size()); + for (size_t i = 0; i < (size_t)entries_.size(); i++) { + SrsMp4CttsEntry &entry = entries_[i]; + buf->write_4bytes(entry.sample_count_); + if (version_ == 0) { + buf->write_4bytes((uint32_t)entry.sample_offset_); + } else if (version_ == 1) { + buf->write_4bytes((int32_t)entry.sample_offset_); } } @@ -4252,15 +4252,15 @@ srs_error_t SrsMp4CompositionTime2SampleBox::decode_header(SrsBuffer *buf) uint32_t entry_count = buf->read_4bytes(); if (entry_count) { - entries.resize(entry_count); + entries_.resize(entry_count); } for (size_t i = 0; i < (size_t)entry_count; i++) { - SrsMp4CttsEntry &entry = entries[i]; - entry.sample_count = buf->read_4bytes(); - if (version == 0) { - entry.sample_offset = (uint32_t)buf->read_4bytes(); - } else if (version == 1) { - entry.sample_offset = (int32_t)buf->read_4bytes(); + SrsMp4CttsEntry &entry = entries_[i]; + entry.sample_count_ = buf->read_4bytes(); + if (version_ == 0) { + entry.sample_offset_ = (uint32_t)buf->read_4bytes(); + } else if (version_ == 1) { + entry.sample_offset_ = (int32_t)buf->read_4bytes(); } } @@ -4271,32 +4271,32 @@ stringstream &SrsMp4CompositionTime2SampleBox::dumps_detail(stringstream &ss, Sr { SrsMp4FullBox::dumps_detail(ss, dc); - ss << ", " << entries.size() << " childs (+)"; - if (!entries.empty()) { + ss << ", " << entries_.size() << " childs (+)"; + if (!entries_.empty()) { ss << endl; srs_mp4_padding(ss, dc.indent()); - srs_dumps_array(entries, ss, dc.indent(), srs_mp4_pfn_detail, srs_mp4_delimiter_newline); + srs_dumps_array(entries_, ss, dc.indent(), srs_mp4_pfn_detail, srs_mp4_delimiter_newline); } return ss; } SrsMp4SyncSampleBox::SrsMp4SyncSampleBox() { - type = SrsMp4BoxTypeSTSS; + type_ = SrsMp4BoxTypeSTSS; - entry_count = 0; - sample_numbers = NULL; + entry_count_ = 0; + sample_numbers_ = NULL; } SrsMp4SyncSampleBox::~SrsMp4SyncSampleBox() { - srs_freepa(sample_numbers); + srs_freepa(sample_numbers_); } bool SrsMp4SyncSampleBox::is_sync(uint32_t sample_index) { - for (uint32_t i = 0; i < entry_count; i++) { - if (sample_index + 1 == sample_numbers[i]) { + for (uint32_t i = 0; i < entry_count_; i++) { + if (sample_index + 1 == sample_numbers_[i]) { return true; } } @@ -4305,7 +4305,7 @@ bool SrsMp4SyncSampleBox::is_sync(uint32_t sample_index) int SrsMp4SyncSampleBox::nb_header() { - return SrsMp4FullBox::nb_header() + 4 + 4 * entry_count; + return SrsMp4FullBox::nb_header() + 4 + 4 * entry_count_; } srs_error_t SrsMp4SyncSampleBox::encode_header(SrsBuffer *buf) @@ -4316,9 +4316,9 @@ srs_error_t SrsMp4SyncSampleBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - buf->write_4bytes(entry_count); - for (uint32_t i = 0; i < entry_count; i++) { - uint32_t sample_number = sample_numbers[i]; + buf->write_4bytes(entry_count_); + for (uint32_t i = 0; i < entry_count_; i++) { + uint32_t sample_number = sample_numbers_[i]; buf->write_4bytes(sample_number); } @@ -4333,12 +4333,12 @@ srs_error_t SrsMp4SyncSampleBox::decode_header(SrsBuffer *buf) return srs_error_wrap(err, "decode header"); } - entry_count = buf->read_4bytes(); - if (entry_count > 0) { - sample_numbers = new uint32_t[entry_count]; + entry_count_ = buf->read_4bytes(); + if (entry_count_ > 0) { + sample_numbers_ = new uint32_t[entry_count_]; } - for (uint32_t i = 0; i < entry_count; i++) { - sample_numbers[i] = buf->read_4bytes(); + for (uint32_t i = 0; i < entry_count_; i++) { + sample_numbers_[i] = buf->read_4bytes(); } return err; @@ -4348,64 +4348,64 @@ stringstream &SrsMp4SyncSampleBox::dumps_detail(stringstream &ss, SrsMp4DumpCont { SrsMp4FullBox::dumps_detail(ss, dc); - ss << ", count=" << entry_count; - if (entry_count > 0) { + ss << ", count=" << entry_count_; + if (entry_count_ > 0) { ss << endl; srs_mp4_padding(ss, dc.indent()); - srs_dumps_array(sample_numbers, entry_count, ss, dc.indent(), srs_mp4_pfn_elem, srs_mp4_delimiter_inspace); + srs_dumps_array(sample_numbers_, entry_count_, ss, dc.indent(), srs_mp4_pfn_elem, srs_mp4_delimiter_inspace); } return ss; } SrsMp4StscEntry::SrsMp4StscEntry() { - first_chunk = 0; - samples_per_chunk = 0; - sample_description_index = 0; + first_chunk_ = 0; + samples_per_chunk_ = 0; + sample_description_index_ = 0; } stringstream &SrsMp4StscEntry::dumps_detail(stringstream &ss, SrsMp4DumpContext dc) { - ss << "first=" << first_chunk << ", samples=" << samples_per_chunk << ", index=" << sample_description_index; + ss << "first=" << first_chunk_ << ", samples=" << samples_per_chunk_ << ", index=" << sample_description_index_; return ss; } SrsMp4Sample2ChunkBox::SrsMp4Sample2ChunkBox() { - type = SrsMp4BoxTypeSTSC; + type_ = SrsMp4BoxTypeSTSC; - entry_count = 0; - entries = NULL; - index = 0; + entry_count_ = 0; + entries_ = NULL; + index_ = 0; } SrsMp4Sample2ChunkBox::~SrsMp4Sample2ChunkBox() { - srs_freepa(entries); + srs_freepa(entries_); } void SrsMp4Sample2ChunkBox::initialize_counter() { - index = 0; + index_ = 0; } SrsMp4StscEntry *SrsMp4Sample2ChunkBox::on_chunk(uint32_t chunk_index) { // Last chunk? - if (index >= entry_count - 1) { - return &entries[index]; + if (index_ >= entry_count_ - 1) { + return &entries_[index_]; } // Move next chunk? - if (chunk_index + 1 >= entries[index + 1].first_chunk) { - index++; + if (chunk_index + 1 >= entries_[index_ + 1].first_chunk_) { + index_++; } - return &entries[index]; + return &entries_[index_]; } int SrsMp4Sample2ChunkBox::nb_header() { - return SrsMp4FullBox::nb_header() + 4 + 12 * entry_count; + return SrsMp4FullBox::nb_header() + 4 + 12 * entry_count_; } srs_error_t SrsMp4Sample2ChunkBox::encode_header(SrsBuffer *buf) @@ -4416,12 +4416,12 @@ srs_error_t SrsMp4Sample2ChunkBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - buf->write_4bytes(entry_count); - for (uint32_t i = 0; i < entry_count; i++) { - SrsMp4StscEntry &entry = entries[i]; - buf->write_4bytes(entry.first_chunk); - buf->write_4bytes(entry.samples_per_chunk); - buf->write_4bytes(entry.sample_description_index); + buf->write_4bytes(entry_count_); + for (uint32_t i = 0; i < entry_count_; i++) { + SrsMp4StscEntry &entry = entries_[i]; + buf->write_4bytes(entry.first_chunk_); + buf->write_4bytes(entry.samples_per_chunk_); + buf->write_4bytes(entry.sample_description_index_); } return err; @@ -4435,15 +4435,15 @@ srs_error_t SrsMp4Sample2ChunkBox::decode_header(SrsBuffer *buf) return srs_error_wrap(err, "decode header"); } - entry_count = buf->read_4bytes(); - if (entry_count) { - entries = new SrsMp4StscEntry[entry_count]; + entry_count_ = buf->read_4bytes(); + if (entry_count_) { + entries_ = new SrsMp4StscEntry[entry_count_]; } - for (uint32_t i = 0; i < entry_count; i++) { - SrsMp4StscEntry &entry = entries[i]; - entry.first_chunk = buf->read_4bytes(); - entry.samples_per_chunk = buf->read_4bytes(); - entry.sample_description_index = buf->read_4bytes(); + for (uint32_t i = 0; i < entry_count_; i++) { + SrsMp4StscEntry &entry = entries_[i]; + entry.first_chunk_ = buf->read_4bytes(); + entry.samples_per_chunk_ = buf->read_4bytes(); + entry.sample_description_index_ = buf->read_4bytes(); } return err; @@ -4453,31 +4453,31 @@ stringstream &SrsMp4Sample2ChunkBox::dumps_detail(stringstream &ss, SrsMp4DumpCo { SrsMp4FullBox::dumps_detail(ss, dc); - ss << ", " << entry_count << " childs (+)"; - if (entry_count > 0) { + ss << ", " << entry_count_ << " childs (+)"; + if (entry_count_ > 0) { ss << endl; srs_mp4_padding(ss, dc.indent()); - srs_dumps_array(entries, entry_count, ss, dc.indent(), srs_mp4_pfn_detail, srs_mp4_delimiter_newline); + srs_dumps_array(entries_, entry_count_, ss, dc.indent(), srs_mp4_pfn_detail, srs_mp4_delimiter_newline); } return ss; } SrsMp4ChunkOffsetBox::SrsMp4ChunkOffsetBox() { - type = SrsMp4BoxTypeSTCO; + type_ = SrsMp4BoxTypeSTCO; - entry_count = 0; - entries = NULL; + entry_count_ = 0; + entries_ = NULL; } SrsMp4ChunkOffsetBox::~SrsMp4ChunkOffsetBox() { - srs_freepa(entries); + srs_freepa(entries_); } int SrsMp4ChunkOffsetBox::nb_header() { - return SrsMp4FullBox::nb_header() + 4 + 4 * entry_count; + return SrsMp4FullBox::nb_header() + 4 + 4 * entry_count_; } srs_error_t SrsMp4ChunkOffsetBox::encode_header(SrsBuffer *buf) @@ -4488,9 +4488,9 @@ srs_error_t SrsMp4ChunkOffsetBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - buf->write_4bytes(entry_count); - for (uint32_t i = 0; i < entry_count; i++) { - buf->write_4bytes(entries[i]); + buf->write_4bytes(entry_count_); + for (uint32_t i = 0; i < entry_count_; i++) { + buf->write_4bytes(entries_[i]); } return err; @@ -4504,12 +4504,12 @@ srs_error_t SrsMp4ChunkOffsetBox::decode_header(SrsBuffer *buf) return srs_error_wrap(err, "decode header"); } - entry_count = buf->read_4bytes(); - if (entry_count) { - entries = new uint32_t[entry_count]; + entry_count_ = buf->read_4bytes(); + if (entry_count_) { + entries_ = new uint32_t[entry_count_]; } - for (uint32_t i = 0; i < entry_count; i++) { - entries[i] = buf->read_4bytes(); + for (uint32_t i = 0; i < entry_count_; i++) { + entries_[i] = buf->read_4bytes(); } return err; @@ -4519,31 +4519,31 @@ stringstream &SrsMp4ChunkOffsetBox::dumps_detail(stringstream &ss, SrsMp4DumpCon { SrsMp4FullBox::dumps_detail(ss, dc); - ss << ", " << entry_count << " childs (+)"; - if (entry_count > 0) { + ss << ", " << entry_count_ << " childs (+)"; + if (entry_count_ > 0) { ss << endl; srs_mp4_padding(ss, dc.indent()); - srs_dumps_array(entries, entry_count, ss, dc.indent(), srs_mp4_pfn_elem, srs_mp4_delimiter_inspace); + srs_dumps_array(entries_, entry_count_, ss, dc.indent(), srs_mp4_pfn_elem, srs_mp4_delimiter_inspace); } return ss; } SrsMp4ChunkLargeOffsetBox::SrsMp4ChunkLargeOffsetBox() { - type = SrsMp4BoxTypeCO64; + type_ = SrsMp4BoxTypeCO64; - entry_count = 0; - entries = NULL; + entry_count_ = 0; + entries_ = NULL; } SrsMp4ChunkLargeOffsetBox::~SrsMp4ChunkLargeOffsetBox() { - srs_freepa(entries); + srs_freepa(entries_); } int SrsMp4ChunkLargeOffsetBox::nb_header() { - return SrsMp4FullBox::nb_header() + 4 + 8 * entry_count; + return SrsMp4FullBox::nb_header() + 4 + 8 * entry_count_; } srs_error_t SrsMp4ChunkLargeOffsetBox::encode_header(SrsBuffer *buf) @@ -4554,9 +4554,9 @@ srs_error_t SrsMp4ChunkLargeOffsetBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - buf->write_4bytes(entry_count); - for (uint32_t i = 0; i < entry_count; i++) { - buf->write_8bytes(entries[i]); + buf->write_4bytes(entry_count_); + for (uint32_t i = 0; i < entry_count_; i++) { + buf->write_8bytes(entries_[i]); } return err; @@ -4570,12 +4570,12 @@ srs_error_t SrsMp4ChunkLargeOffsetBox::decode_header(SrsBuffer *buf) return srs_error_wrap(err, "decode header"); } - entry_count = buf->read_4bytes(); - if (entry_count) { - entries = new uint64_t[entry_count]; + entry_count_ = buf->read_4bytes(); + if (entry_count_) { + entries_ = new uint64_t[entry_count_]; } - for (uint32_t i = 0; i < entry_count; i++) { - entries[i] = buf->read_8bytes(); + for (uint32_t i = 0; i < entry_count_; i++) { + entries_[i] = buf->read_8bytes(); } return err; @@ -4585,41 +4585,41 @@ stringstream &SrsMp4ChunkLargeOffsetBox::dumps_detail(stringstream &ss, SrsMp4Du { SrsMp4FullBox::dumps_detail(ss, dc); - ss << ", " << entry_count << " childs (+)"; - if (entry_count > 0) { + ss << ", " << entry_count_ << " childs (+)"; + if (entry_count_ > 0) { ss << endl; srs_mp4_padding(ss, dc.indent()); - srs_dumps_array(entries, entry_count, ss, dc.indent(), srs_mp4_pfn_elem, srs_mp4_delimiter_inspace); + srs_dumps_array(entries_, entry_count_, ss, dc.indent(), srs_mp4_pfn_elem, srs_mp4_delimiter_inspace); } return ss; } SrsMp4SampleSizeBox::SrsMp4SampleSizeBox() { - type = SrsMp4BoxTypeSTSZ; + type_ = SrsMp4BoxTypeSTSZ; - sample_size = sample_count = 0; - entry_sizes = NULL; + sample_size_ = sample_count_ = 0; + entry_sizes_ = NULL; } SrsMp4SampleSizeBox::~SrsMp4SampleSizeBox() { - srs_freepa(entry_sizes); + srs_freepa(entry_sizes_); } srs_error_t SrsMp4SampleSizeBox::get_sample_size(uint32_t sample_index, uint32_t *psample_size) { srs_error_t err = srs_success; - if (sample_size != 0) { - *psample_size = sample_size; + if (sample_size_ != 0) { + *psample_size = sample_size_; return err; } - if (sample_index >= sample_count) { - return srs_error_new(ERROR_MP4_MOOV_OVERFLOW, "stsz overflow, sample_count=%d", sample_count); + if (sample_index >= sample_count_) { + return srs_error_new(ERROR_MP4_MOOV_OVERFLOW, "stsz overflow, sample_count=%d", sample_count_); } - *psample_size = entry_sizes[sample_index]; + *psample_size = entry_sizes_[sample_index]; return err; } @@ -4627,8 +4627,8 @@ srs_error_t SrsMp4SampleSizeBox::get_sample_size(uint32_t sample_index, uint32_t int SrsMp4SampleSizeBox::nb_header() { int size = SrsMp4FullBox::nb_header() + 4 + 4; - if (sample_size == 0) { - size += 4 * sample_count; + if (sample_size_ == 0) { + size += 4 * sample_count_; } return size; } @@ -4641,10 +4641,10 @@ srs_error_t SrsMp4SampleSizeBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - buf->write_4bytes(sample_size); - buf->write_4bytes(sample_count); - for (uint32_t i = 0; i < sample_count && sample_size == 0; i++) { - buf->write_4bytes(entry_sizes[i]); + buf->write_4bytes(sample_size_); + buf->write_4bytes(sample_count_); + for (uint32_t i = 0; i < sample_count_ && sample_size_ == 0; i++) { + buf->write_4bytes(entry_sizes_[i]); } return err; @@ -4658,13 +4658,13 @@ srs_error_t SrsMp4SampleSizeBox::decode_header(SrsBuffer *buf) return srs_error_wrap(err, "decode header"); } - sample_size = buf->read_4bytes(); - sample_count = buf->read_4bytes(); - if (!sample_size && sample_count) { - entry_sizes = new uint32_t[sample_count]; + sample_size_ = buf->read_4bytes(); + sample_count_ = buf->read_4bytes(); + if (!sample_size_ && sample_count_) { + entry_sizes_ = new uint32_t[sample_count_]; } - for (uint32_t i = 0; i < sample_count && sample_size == 0; i++) { - entry_sizes[i] = buf->read_4bytes(); + for (uint32_t i = 0; i < sample_count_ && sample_size_ == 0; i++) { + entry_sizes_[i] = buf->read_4bytes(); } return err; @@ -4674,18 +4674,18 @@ stringstream &SrsMp4SampleSizeBox::dumps_detail(stringstream &ss, SrsMp4DumpCont { SrsMp4FullBox::dumps_detail(ss, dc); - ss << ", size=" << sample_size << ", " << sample_count << " childs (+)"; - if (!sample_size && sample_count > 0) { + ss << ", size=" << sample_size_ << ", " << sample_count_ << " childs (+)"; + if (!sample_size_ && sample_count_ > 0) { ss << endl; srs_mp4_padding(ss, dc.indent()); - srs_dumps_array(entry_sizes, sample_count, ss, dc.indent(), srs_mp4_pfn_elem, srs_mp4_delimiter_inspace); + srs_dumps_array(entry_sizes_, sample_count_, ss, dc.indent(), srs_mp4_pfn_elem, srs_mp4_delimiter_inspace); } return ss; } SrsMp4UserDataBox::SrsMp4UserDataBox() { - type = SrsMp4BoxTypeUDTA; + type_ = SrsMp4BoxTypeUDTA; } SrsMp4UserDataBox::~SrsMp4UserDataBox() @@ -4694,7 +4694,7 @@ SrsMp4UserDataBox::~SrsMp4UserDataBox() int SrsMp4UserDataBox::nb_header() { - return SrsMp4Box::nb_header() + (int)data.size(); + return SrsMp4Box::nb_header() + (int)data_.size(); } srs_error_t SrsMp4UserDataBox::encode_header(SrsBuffer *buf) @@ -4705,8 +4705,8 @@ srs_error_t SrsMp4UserDataBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - if (!data.empty()) { - buf->write_bytes(&data[0], (int)data.size()); + if (!data_.empty()) { + buf->write_bytes(&data_[0], (int)data_.size()); } return err; @@ -4722,8 +4722,8 @@ srs_error_t SrsMp4UserDataBox::decode_header(SrsBuffer *buf) int nb_data = left_space(buf); if (nb_data) { - data.resize(nb_data); - buf->read_bytes(&data[0], (int)data.size()); + data_.resize(nb_data); + buf->read_bytes(&data_[0], (int)data_.size()); } return err; @@ -4733,22 +4733,22 @@ stringstream &SrsMp4UserDataBox::dumps_detail(stringstream &ss, SrsMp4DumpContex { SrsMp4Box::dumps_detail(ss, dc); - ss << ", total " << data.size() << "B"; + ss << ", total " << data_.size() << "B"; - if (!data.empty()) { + if (!data_.empty()) { ss << endl; srs_mp4_padding(ss, dc.indent()); - srs_dumps_array(&data[0], (int)data.size(), ss, dc.indent(), srs_mp4_pfn_hex, srs_mp4_delimiter_inspace); + srs_dumps_array(&data_[0], (int)data_.size(), ss, dc.indent(), srs_mp4_pfn_hex, srs_mp4_delimiter_inspace); } return ss; } SrsMp4SegmentIndexBox::SrsMp4SegmentIndexBox() { - type = SrsMp4BoxTypeSIDX; - version = 0; - flags = reference_id = timescale = 0; - earliest_presentation_time = first_offset = 0; + type_ = SrsMp4BoxTypeSIDX; + version_ = 0; + flags_ = reference_id_ = timescale_ = 0; + earliest_presentation_time_ = first_offset_ = 0; } SrsMp4SegmentIndexBox::~SrsMp4SegmentIndexBox() @@ -4757,7 +4757,7 @@ SrsMp4SegmentIndexBox::~SrsMp4SegmentIndexBox() int SrsMp4SegmentIndexBox::nb_header() { - return SrsMp4Box::nb_header() + 4 + 4 + 4 + (!version ? 8 : 16) + 4 + 12 * entries.size(); + return SrsMp4Box::nb_header() + 4 + 4 + 4 + (!version_ ? 8 : 16) + 4 + 12 * entries_.size(); } srs_error_t SrsMp4SegmentIndexBox::encode_header(SrsBuffer *buf) @@ -4768,31 +4768,31 @@ srs_error_t SrsMp4SegmentIndexBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - buf->write_1bytes(version); - buf->write_3bytes(flags); - buf->write_4bytes(reference_id); - buf->write_4bytes(timescale); - if (!version) { - buf->write_4bytes(earliest_presentation_time); - buf->write_4bytes(first_offset); + buf->write_1bytes(version_); + buf->write_3bytes(flags_); + buf->write_4bytes(reference_id_); + buf->write_4bytes(timescale_); + if (!version_) { + buf->write_4bytes(earliest_presentation_time_); + buf->write_4bytes(first_offset_); } else { - buf->write_8bytes(earliest_presentation_time); - buf->write_8bytes(first_offset); + buf->write_8bytes(earliest_presentation_time_); + buf->write_8bytes(first_offset_); } - buf->write_4bytes((uint32_t)entries.size()); - for (int i = 0; i < (int)entries.size(); i++) { - SrsMp4SegmentIndexEntry &entry = entries.at(i); + buf->write_4bytes((uint32_t)entries_.size()); + for (int i = 0; i < (int)entries_.size(); i++) { + SrsMp4SegmentIndexEntry &entry = entries_.at(i); - uint32_t v = uint32_t(entry.reference_type & 0x01) << 31; - v |= entry.referenced_size & 0x7fffffff; + uint32_t v = uint32_t(entry.reference_type_ & 0x01) << 31; + v |= entry.referenced_size_ & 0x7fffffff; buf->write_4bytes(v); - buf->write_4bytes(entry.subsegment_duration); + buf->write_4bytes(entry.subsegment_duration_); - v = uint32_t(entry.starts_with_SAP & 0x01) << 31; - v |= uint32_t(entry.SAP_type & 0x7) << 28; - v |= entry.SAP_delta_time & 0xfffffff; + v = uint32_t(entry.starts_with_SAP_ & 0x01) << 31; + v |= uint32_t(entry.SAP_type_ & 0x7) << 28; + v |= entry.SAP_delta_time_ & 0xfffffff; buf->write_4bytes(v); } @@ -4807,23 +4807,23 @@ srs_error_t SrsMp4SegmentIndexBox::decode_header(SrsBuffer *buf) return srs_error_wrap(err, "decode header"); } - version = buf->read_1bytes(); - flags = buf->read_3bytes(); - reference_id = buf->read_4bytes(); - timescale = buf->read_4bytes(); + version_ = buf->read_1bytes(); + flags_ = buf->read_3bytes(); + reference_id_ = buf->read_4bytes(); + timescale_ = buf->read_4bytes(); - if (!version) { + if (!version_) { if (!buf->require(8)) { return srs_error_new(ERROR_MP4_BOX_REQUIRE_SPACE, "no space"); } - earliest_presentation_time = buf->read_4bytes(); - first_offset = buf->read_4bytes(); + earliest_presentation_time_ = buf->read_4bytes(); + first_offset_ = buf->read_4bytes(); } else { if (!buf->require(16)) { return srs_error_new(ERROR_MP4_BOX_REQUIRE_SPACE, "no space"); } - earliest_presentation_time = buf->read_8bytes(); - first_offset = buf->read_8bytes(); + earliest_presentation_time_ = buf->read_8bytes(); + first_offset_ = buf->read_8bytes(); } uint32_t nn_entries = (uint32_t)(buf->read_4bytes() & 0xffff); @@ -4835,17 +4835,17 @@ srs_error_t SrsMp4SegmentIndexBox::decode_header(SrsBuffer *buf) SrsMp4SegmentIndexEntry entry; uint32_t v = buf->read_4bytes(); - entry.reference_type = uint8_t((v & 0x80000000) >> 31); - entry.referenced_size = v & 0x7fffffff; + entry.reference_type_ = uint8_t((v & 0x80000000) >> 31); + entry.referenced_size_ = v & 0x7fffffff; - entry.subsegment_duration = buf->read_4bytes(); + entry.subsegment_duration_ = buf->read_4bytes(); v = buf->read_4bytes(); - entry.starts_with_SAP = uint8_t((v & 0x80000000) >> 31); - entry.SAP_type = uint8_t((v & 0x70000000) >> 28); - entry.SAP_delta_time = v & 0xfffffff; + entry.starts_with_SAP_ = uint8_t((v & 0x80000000) >> 31); + entry.SAP_type_ = uint8_t((v & 0x70000000) >> 28); + entry.SAP_delta_time_ = v & 0xfffffff; - entries.push_back(entry); + entries_.push_back(entry); } return err; @@ -4855,17 +4855,17 @@ stringstream &SrsMp4SegmentIndexBox::dumps_detail(stringstream &ss, SrsMp4DumpCo { SrsMp4Box::dumps_detail(ss, dc); - ss << ", v" << (int)version << ", flags=" << flags << ", refs#" << reference_id - << ", TBN=" << timescale << ", ePTS=" << earliest_presentation_time; + ss << ", v" << (int)version_ << ", flags=" << flags_ << ", refs#" << reference_id_ + << ", TBN=" << timescale_ << ", ePTS=" << earliest_presentation_time_; - for (int i = 0; i < (int)entries.size(); i++) { - SrsMp4SegmentIndexEntry &entry = entries.at(i); + for (int i = 0; i < (int)entries_.size(); i++) { + SrsMp4SegmentIndexEntry &entry = entries_.at(i); ss << endl; srs_mp4_padding(ss, dc.indent()); - ss << "#" << i << ", ref=" << (int)entry.reference_type << "/" << entry.referenced_size - << ", duration=" << entry.subsegment_duration << ", SAP=" << (int)entry.starts_with_SAP - << "/" << (int)entry.SAP_type << "/" << entry.SAP_delta_time; + ss << "#" << i << ", ref=" << (int)entry.reference_type_ << "/" << entry.referenced_size_ + << ", duration=" << entry.subsegment_duration_ << ", SAP=" << (int)entry.starts_with_SAP_ + << "/" << (int)entry.SAP_type_ << "/" << entry.SAP_delta_time_; } return ss; @@ -4873,7 +4873,7 @@ stringstream &SrsMp4SegmentIndexBox::dumps_detail(stringstream &ss, SrsMp4DumpCo SrsMp4SampleAuxiliaryInfoSizeBox::SrsMp4SampleAuxiliaryInfoSizeBox() { - type = SrsMp4BoxTypeSAIZ; + type_ = SrsMp4BoxTypeSAIZ; } SrsMp4SampleAuxiliaryInfoSizeBox::~SrsMp4SampleAuxiliaryInfoSizeBox() @@ -4884,15 +4884,15 @@ int SrsMp4SampleAuxiliaryInfoSizeBox::nb_header() { int size = SrsMp4FullBox::nb_header(); - if (flags & 0x01) { + if (flags_ & 0x01) { size += 8; // add sizeof(aux_info_type) + sizeof(aux_info_type_parameter); } size += 1; // sizeof(default_sample_info_size); size += 4; // sizeof(sample_count); - if (default_sample_info_size == 0) { - size += sample_info_sizes.size(); + if (default_sample_info_size_ == 0) { + size += sample_info_sizes_.size(); } return size; @@ -4906,21 +4906,21 @@ srs_error_t SrsMp4SampleAuxiliaryInfoSizeBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - if (flags & 0x01) { - buf->write_4bytes(aux_info_type); - buf->write_4bytes(aux_info_type_parameter); + if (flags_ & 0x01) { + buf->write_4bytes(aux_info_type_); + buf->write_4bytes(aux_info_type_parameter_); } - buf->write_1bytes(default_sample_info_size); + buf->write_1bytes(default_sample_info_size_); - if (default_sample_info_size == 0) { - buf->write_4bytes(sample_info_sizes.size()); + if (default_sample_info_size_ == 0) { + buf->write_4bytes(sample_info_sizes_.size()); vector::iterator it; - for (it = sample_info_sizes.begin(); it != sample_info_sizes.end(); ++it) { + for (it = sample_info_sizes_.begin(); it != sample_info_sizes_.end(); ++it) { buf->write_1bytes(*it); } } else { - buf->write_4bytes(sample_count); + buf->write_4bytes(sample_count_); } return err; @@ -4934,17 +4934,17 @@ srs_error_t SrsMp4SampleAuxiliaryInfoSizeBox::decode_header(SrsBuffer *buf) return srs_error_wrap(err, "decode header"); } - if (flags & 0x01) { - aux_info_type = buf->read_4bytes(); - aux_info_type_parameter = buf->read_4bytes(); + if (flags_ & 0x01) { + aux_info_type_ = buf->read_4bytes(); + aux_info_type_parameter_ = buf->read_4bytes(); } - default_sample_info_size = buf->read_1bytes(); - sample_count = buf->read_4bytes(); + default_sample_info_size_ = buf->read_1bytes(); + sample_count_ = buf->read_4bytes(); - if (default_sample_info_size == 0) { - for (int i = 0; i < sample_count; i++) { - sample_info_sizes.push_back(buf->read_1bytes()); + if (default_sample_info_size_ == 0) { + for (int i = 0; i < (int)sample_count_; i++) { + sample_info_sizes_.push_back(buf->read_1bytes()); } } @@ -4953,13 +4953,13 @@ srs_error_t SrsMp4SampleAuxiliaryInfoSizeBox::decode_header(SrsBuffer *buf) std::stringstream &SrsMp4SampleAuxiliaryInfoSizeBox::dumps_detail(std::stringstream &ss, SrsMp4DumpContext dc) { - ss << "default_sample_info_size=" << (int)default_sample_info_size << ", sample_count=" << sample_count; + ss << "default_sample_info_size=" << (int)default_sample_info_size_ << ", sample_count=" << sample_count_; return ss; } SrsMp4SampleAuxiliaryInfoOffsetBox::SrsMp4SampleAuxiliaryInfoOffsetBox() { - type = SrsMp4BoxTypeSAIO; + type_ = SrsMp4BoxTypeSAIO; } SrsMp4SampleAuxiliaryInfoOffsetBox::~SrsMp4SampleAuxiliaryInfoOffsetBox() @@ -4970,15 +4970,15 @@ int SrsMp4SampleAuxiliaryInfoOffsetBox::nb_header() { int size = SrsMp4FullBox::nb_header(); - if (flags & 0x01) { + if (flags_ & 0x01) { size += 8; // sizeof(aux_info_type) + sizeof(aux_info_type_parameter); } size += 4; // sizeof(entry_count); - if (version == 0) { - size += offsets.size() * 4; + if (version_ == 0) { + size += offsets_.size() * 4; } else { - size += offsets.size() * 8; + size += offsets_.size() * 8; } return size; @@ -4992,15 +4992,15 @@ srs_error_t SrsMp4SampleAuxiliaryInfoOffsetBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - if (flags & 0x01) { - buf->write_4bytes(aux_info_type); - buf->write_4bytes(aux_info_type_parameter); + if (flags_ & 0x01) { + buf->write_4bytes(aux_info_type_); + buf->write_4bytes(aux_info_type_parameter_); } - buf->write_4bytes(offsets.size()); + buf->write_4bytes(offsets_.size()); vector::iterator it; - for (it = offsets.begin(); it != offsets.end(); ++it) { - if (version == 0) { + for (it = offsets_.begin(); it != offsets_.end(); ++it) { + if (version_ == 0) { buf->write_4bytes(*it); } else { buf->write_8bytes(*it); @@ -5018,17 +5018,17 @@ srs_error_t SrsMp4SampleAuxiliaryInfoOffsetBox::decode_header(SrsBuffer *buf) return srs_error_wrap(err, "decode header"); } - if (flags & 0x01) { - aux_info_type = buf->read_4bytes(); - aux_info_type_parameter = buf->read_4bytes(); + if (flags_ & 0x01) { + aux_info_type_ = buf->read_4bytes(); + aux_info_type_parameter_ = buf->read_4bytes(); } uint32_t entry_count = buf->read_4bytes(); - for (int i = 0; i < entry_count; i++) { - if (version == 0) { - offsets.push_back(buf->read_4bytes()); + for (int i = 0; i < (int)entry_count; i++) { + if (version_ == 0) { + offsets_.push_back(buf->read_4bytes()); } else { - offsets.push_back(buf->read_8bytes()); + offsets_.push_back(buf->read_8bytes()); } } @@ -5037,14 +5037,14 @@ srs_error_t SrsMp4SampleAuxiliaryInfoOffsetBox::decode_header(SrsBuffer *buf) std::stringstream &SrsMp4SampleAuxiliaryInfoOffsetBox::dumps_detail(std::stringstream &ss, SrsMp4DumpContext dc) { - ss << "entry_count=" << offsets.size(); + ss << "entry_count=" << offsets_.size(); return ss; } SrsMp4SubSampleEncryptionInfo::SrsMp4SubSampleEncryptionInfo() { - bytes_of_clear_data = 0; - bytes_of_protected_data = 0; + bytes_of_clear_data_ = 0; + bytes_of_protected_data_ = 0; } SrsMp4SubSampleEncryptionInfo::~SrsMp4SubSampleEncryptionInfo() @@ -5059,23 +5059,23 @@ uint64_t SrsMp4SubSampleEncryptionInfo::nb_bytes() srs_error_t SrsMp4SubSampleEncryptionInfo::encode(SrsBuffer *buf) { - buf->write_2bytes(bytes_of_clear_data); - buf->write_4bytes(bytes_of_protected_data); + buf->write_2bytes(bytes_of_clear_data_); + buf->write_4bytes(bytes_of_protected_data_); return srs_success; } srs_error_t SrsMp4SubSampleEncryptionInfo::decode(SrsBuffer *buf) { - bytes_of_clear_data = buf->read_2bytes(); - bytes_of_protected_data = buf->read_4bytes(); + bytes_of_clear_data_ = buf->read_2bytes(); + bytes_of_protected_data_ = buf->read_4bytes(); return srs_success; } std::stringstream &SrsMp4SubSampleEncryptionInfo::dumps(std::stringstream &ss, SrsMp4DumpContext dc) { - ss << "bytes_of_clear_data=" << bytes_of_clear_data << ", bytes_of_protected_data=" << bytes_of_protected_data; + ss << "bytes_of_clear_data=" << bytes_of_clear_data_ << ", bytes_of_protected_data=" << bytes_of_protected_data_; return ss; } @@ -5104,9 +5104,9 @@ srs_error_t SrsMp4SampleEncryptionEntry::set_iv(uint8_t *iv, uint8_t iv_size) uint64_t SrsMp4SampleEncryptionEntry::nb_bytes() { uint64_t size = per_sample_iv_size_; - if (senc_->flags & SrsMp4CencSampleEncryptionUseSubSample) { + if (senc_->flags_ & SrsMp4CencSampleEncryptionUseSubSample) { size += 2; // size of subsample_count - size += subsample_infos.size() * 6; + size += subsample_infos_.size() * 6; } return size; @@ -5118,11 +5118,11 @@ srs_error_t SrsMp4SampleEncryptionEntry::encode(SrsBuffer *buf) buf->write_bytes((char *)iv_, per_sample_iv_size_); } - if (senc_->flags & SrsMp4CencSampleEncryptionUseSubSample) { - buf->write_2bytes(subsample_infos.size()); + if (senc_->flags_ & SrsMp4CencSampleEncryptionUseSubSample) { + buf->write_2bytes(subsample_infos_.size()); vector::iterator it; - for (it = subsample_infos.begin(); it != subsample_infos.end(); ++it) { + for (it = subsample_infos_.begin(); it != subsample_infos_.end(); ++it) { (*it).encode(buf); } } @@ -5136,12 +5136,12 @@ srs_error_t SrsMp4SampleEncryptionEntry::decode(SrsBuffer *buf) buf->read_bytes((char *)iv_, per_sample_iv_size_); } - if (senc_->flags & SrsMp4CencSampleEncryptionUseSubSample) { + if (senc_->flags_ & SrsMp4CencSampleEncryptionUseSubSample) { uint16_t subsample_count = buf->read_2bytes(); for (uint16_t i = 0; i < subsample_count; i++) { SrsMp4SubSampleEncryptionInfo info; info.decode(buf); - subsample_infos.push_back(info); + subsample_infos_.push_back(info); } } return srs_success; @@ -5153,7 +5153,7 @@ std::stringstream &SrsMp4SampleEncryptionEntry::dumps(std::stringstream &ss, Srs ss << "iv=" << iv_ << endl; vector::iterator it; - for (it = subsample_infos.begin(); it != subsample_infos.end(); ++it) { + for (it = subsample_infos_.begin(); it != subsample_infos_.end(); ++it) { (*it).dumps(ss, dc); ss << endl; } @@ -5163,9 +5163,9 @@ std::stringstream &SrsMp4SampleEncryptionEntry::dumps(std::stringstream &ss, Srs SrsMp4SampleEncryptionBox::SrsMp4SampleEncryptionBox(uint8_t per_sample_iv_size) { - version = 0; - flags = SrsMp4CencSampleEncryptionUseSubSample; - type = SrsMp4BoxTypeSENC; + version_ = 0; + flags_ = SrsMp4CencSampleEncryptionUseSubSample; + type_ = SrsMp4BoxTypeSENC; srs_assert(per_sample_iv_size == 0 || per_sample_iv_size == 8 || per_sample_iv_size == 16); per_sample_iv_size_ = per_sample_iv_size; } @@ -5173,11 +5173,11 @@ SrsMp4SampleEncryptionBox::SrsMp4SampleEncryptionBox(uint8_t per_sample_iv_size) SrsMp4SampleEncryptionBox::~SrsMp4SampleEncryptionBox() { vector::iterator it; - for (it = entries.begin(); it != entries.end(); it++) { + for (it = entries_.begin(); it != entries_.end(); it++) { SrsMp4SampleEncryptionEntry *entry = *it; srs_freep(entry); } - entries.clear(); + entries_.clear(); } int SrsMp4SampleEncryptionBox::nb_header() @@ -5185,7 +5185,7 @@ int SrsMp4SampleEncryptionBox::nb_header() int size = SrsMp4FullBox::nb_header() + 4; vector::iterator it; - for (it = entries.begin(); it < entries.end(); it++) { + for (it = entries_.begin(); it < entries_.end(); it++) { size += (*it)->nb_bytes(); } @@ -5200,9 +5200,9 @@ srs_error_t SrsMp4SampleEncryptionBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - buf->write_4bytes(entries.size()); + buf->write_4bytes(entries_.size()); vector::iterator it; - for (it = entries.begin(); it != entries.end(); it++) { + for (it = entries_.begin(); it != entries_.end(); it++) { (*it)->encode(buf); } @@ -5218,17 +5218,17 @@ srs_error_t SrsMp4SampleEncryptionBox::decode_header(SrsBuffer *buf) } vector::iterator it; - for (it = entries.begin(); it != entries.end(); it++) { + for (it = entries_.begin(); it != entries_.end(); it++) { SrsMp4SampleEncryptionEntry *entry = *it; srs_freep(entry); } - entries.clear(); + entries_.clear(); int32_t size = buf->read_4bytes(); for (int i = 0; i < size; i++) { SrsMp4SampleEncryptionEntry *entry = new SrsMp4SampleEncryptionEntry(this, per_sample_iv_size_); entry->decode(buf); - entries.push_back(entry); + entries_.push_back(entry); } return err; @@ -5236,13 +5236,13 @@ srs_error_t SrsMp4SampleEncryptionBox::decode_header(SrsBuffer *buf) std::stringstream &SrsMp4SampleEncryptionBox::dumps_detail(std::stringstream &ss, SrsMp4DumpContext dc) { - ss << "sample_count=" << entries.size() << endl; + ss << "sample_count=" << entries_.size() << endl; return ss; } SrsMp4ProtectionSchemeInfoBox::SrsMp4ProtectionSchemeInfoBox() { - type = SrsMp4BoxTypeSINF; + type_ = SrsMp4BoxTypeSINF; } SrsMp4ProtectionSchemeInfoBox::~SrsMp4ProtectionSchemeInfoBox() @@ -5258,7 +5258,7 @@ SrsMp4OriginalFormatBox *SrsMp4ProtectionSchemeInfoBox::frma() void SrsMp4ProtectionSchemeInfoBox::set_frma(SrsMp4OriginalFormatBox *v) { remove(SrsMp4BoxTypeFRMA); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4SchemeTypeBox *SrsMp4ProtectionSchemeInfoBox::schm() @@ -5270,7 +5270,7 @@ SrsMp4SchemeTypeBox *SrsMp4ProtectionSchemeInfoBox::schm() void SrsMp4ProtectionSchemeInfoBox::set_schm(SrsMp4SchemeTypeBox *v) { remove(SrsMp4BoxTypeSCHM); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4SchemeInfoBox *SrsMp4ProtectionSchemeInfoBox::schi() @@ -5282,12 +5282,12 @@ SrsMp4SchemeInfoBox *SrsMp4ProtectionSchemeInfoBox::schi() void SrsMp4ProtectionSchemeInfoBox::set_schi(SrsMp4SchemeInfoBox *v) { remove(SrsMp4BoxTypeSCHI); - boxes.push_back(v); + boxes_.push_back(v); } SrsMp4OriginalFormatBox::SrsMp4OriginalFormatBox(uint32_t original_format) { - type = SrsMp4BoxTypeFRMA; + type_ = SrsMp4BoxTypeFRMA; data_format_ = original_format; } @@ -5334,8 +5334,8 @@ std::stringstream &SrsMp4OriginalFormatBox::dumps_detail(std::stringstream &ss, SrsMp4SchemeTypeBox::SrsMp4SchemeTypeBox() { - type = SrsMp4BoxTypeSCHM; - scheme_uri_size = 0; + type_ = SrsMp4BoxTypeSCHM; + scheme_uri_size_ = 0; } SrsMp4SchemeTypeBox::~SrsMp4SchemeTypeBox() @@ -5345,17 +5345,17 @@ SrsMp4SchemeTypeBox::~SrsMp4SchemeTypeBox() void SrsMp4SchemeTypeBox::set_scheme_uri(char *uri, uint32_t uri_size) { srs_assert(uri_size < SCHM_SCHEME_URI_MAX_SIZE); - memcpy(scheme_uri, uri, uri_size); - scheme_uri_size = uri_size; - scheme_uri[uri_size] = '\0'; + memcpy(scheme_uri_, uri, uri_size); + scheme_uri_size_ = uri_size; + scheme_uri_[uri_size] = '\0'; } int SrsMp4SchemeTypeBox::nb_header() { int size = SrsMp4FullBox::nb_header() + 4 + 4; // sizeof(scheme_type) + sizeof(scheme_version) - if (flags & 0x01) { - size += scheme_uri_size; + if (flags_ & 0x01) { + size += scheme_uri_size_; } return size; @@ -5369,11 +5369,11 @@ srs_error_t SrsMp4SchemeTypeBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - buf->write_4bytes(scheme_type); - buf->write_4bytes(scheme_version); + buf->write_4bytes(scheme_type_); + buf->write_4bytes(scheme_version_); - if (flags & 0x01) { - buf->write_bytes(scheme_uri, scheme_uri_size); + if (flags_ & 0x01) { + buf->write_bytes(scheme_uri_, scheme_uri_size_); buf->write_1bytes(0); } @@ -5387,21 +5387,21 @@ srs_error_t SrsMp4SchemeTypeBox::decode_header(SrsBuffer *buf) if ((err = SrsMp4FullBox::decode_header(buf)) != srs_success) { return srs_error_wrap(err, "decode header"); } - scheme_type = buf->read_4bytes(); - scheme_version = buf->read_4bytes(); + scheme_type_ = buf->read_4bytes(); + scheme_version_ = buf->read_4bytes(); - if (flags & 0x01) { - memset(scheme_uri, 0, SCHM_SCHEME_URI_MAX_SIZE); + if (flags_ & 0x01) { + memset(scheme_uri_, 0, SCHM_SCHEME_URI_MAX_SIZE); int s = 0; while (s < SCHM_SCHEME_URI_MAX_SIZE - 1) { char c = buf->read_1bytes(); - scheme_uri[s] = c; + scheme_uri_[s] = c; s++; if (c == '\0') { break; } } - scheme_uri_size = s; + scheme_uri_size_ = s; } return err; @@ -5409,9 +5409,9 @@ srs_error_t SrsMp4SchemeTypeBox::decode_header(SrsBuffer *buf) std::stringstream &SrsMp4SchemeTypeBox::dumps_detail(std::stringstream &ss, SrsMp4DumpContext dc) { - ss << "scheme_type=" << scheme_type << ", scheme_version=" << scheme_version << endl; - if (flags & 0x01) { - ss << "scheme_uri=" << scheme_uri << endl; + ss << "scheme_type=" << scheme_type_ << ", scheme_version=" << scheme_version_ << endl; + if (flags_ & 0x01) { + ss << "scheme_uri=" << scheme_uri_ << endl; } return ss; @@ -5419,7 +5419,7 @@ std::stringstream &SrsMp4SchemeTypeBox::dumps_detail(std::stringstream &ss, SrsM SrsMp4SchemeInfoBox::SrsMp4SchemeInfoBox() { - type = SrsMp4BoxTypeSCHI; + type_ = SrsMp4BoxTypeSCHI; } SrsMp4SchemeInfoBox::~SrsMp4SchemeInfoBox() @@ -5428,7 +5428,7 @@ SrsMp4SchemeInfoBox::~SrsMp4SchemeInfoBox() SrsMp4TrackEncryptionBox::SrsMp4TrackEncryptionBox() { - type = SrsMp4BoxTypeTENC; + type_ = SrsMp4BoxTypeTENC; } SrsMp4TrackEncryptionBox::~SrsMp4TrackEncryptionBox() @@ -5438,8 +5438,8 @@ SrsMp4TrackEncryptionBox::~SrsMp4TrackEncryptionBox() void SrsMp4TrackEncryptionBox::set_default_constant_IV(uint8_t *iv, uint8_t iv_size) { srs_assert(iv_size == 8 || iv_size == 16); - memcpy(default_constant_IV, iv, iv_size); - default_constant_IV_size = iv_size; + memcpy(default_constant_IV_, iv, iv_size); + default_constant_IV_size_ = iv_size; } int SrsMp4TrackEncryptionBox::nb_header() @@ -5450,8 +5450,8 @@ int SrsMp4TrackEncryptionBox::nb_header() size += 1; // sizeof(default_isProtected); size += 1; // sizeof(default_Per_Sample_IV_Size; size += 16; // sizeof(default_KID); - if (default_is_protected == 1 && default_per_sample_IV_size == 0) { - size += 1 + default_constant_IV_size; // sizeof(default_constant_IV_size) + sizeof(default_constant_IV); + if (default_is_protected_ == 1 && default_per_sample_IV_size_ == 0) { + size += 1 + default_constant_IV_size_; // sizeof(default_constant_IV_size) + sizeof(default_constant_IV); } return size; @@ -5465,19 +5465,19 @@ srs_error_t SrsMp4TrackEncryptionBox::encode_header(SrsBuffer *buf) return srs_error_wrap(err, "encode header"); } - buf->write_1bytes(reserved); - if (version == 0) { - buf->write_1bytes(reserved_2); + buf->write_1bytes(reserved_); + if (version_ == 0) { + buf->write_1bytes(reserved_2_); } else { - buf->write_1bytes((default_crypt_byte_block << 4) | (default_skip_byte_block & 0x0F)); + buf->write_1bytes((default_crypt_byte_block_ << 4) | (default_skip_byte_block_ & 0x0F)); } - buf->write_1bytes(default_is_protected); - buf->write_1bytes(default_per_sample_IV_size); - buf->write_bytes((char *)default_KID, 16); - if (default_is_protected == 1 && default_per_sample_IV_size == 0) { - buf->write_1bytes(default_constant_IV_size); - buf->write_bytes((char *)default_constant_IV, default_constant_IV_size); + buf->write_1bytes(default_is_protected_); + buf->write_1bytes(default_per_sample_IV_size_); + buf->write_bytes((char *)default_KID_, 16); + if (default_is_protected_ == 1 && default_per_sample_IV_size_ == 0) { + buf->write_1bytes(default_constant_IV_size_); + buf->write_bytes((char *)default_constant_IV_, default_constant_IV_size_); } return err; @@ -5490,23 +5490,23 @@ srs_error_t SrsMp4TrackEncryptionBox::decode_header(SrsBuffer *buf) if ((err = SrsMp4FullBox::decode_header(buf)) != srs_success) { return srs_error_wrap(err, "encode header"); } - reserved = buf->read_1bytes(); - if (version == 0) { - reserved_2 = buf->read_1bytes(); + reserved_ = buf->read_1bytes(); + if (version_ == 0) { + reserved_2_ = buf->read_1bytes(); } else { uint8_t v = buf->read_1bytes(); - default_crypt_byte_block = v >> 4; - default_skip_byte_block = v & 0x0f; + default_crypt_byte_block_ = v >> 4; + default_skip_byte_block_ = v & 0x0f; } - default_is_protected = buf->read_1bytes(); - default_per_sample_IV_size = buf->read_1bytes(); - buf->read_bytes((char *)default_KID, 16); + default_is_protected_ = buf->read_1bytes(); + default_per_sample_IV_size_ = buf->read_1bytes(); + buf->read_bytes((char *)default_KID_, 16); - if (default_is_protected == 1 && default_per_sample_IV_size == 0) { - default_constant_IV_size = buf->read_1bytes(); - srs_assert(default_constant_IV_size == 8 || default_constant_IV_size == 16); - buf->read_bytes((char *)default_constant_IV, default_constant_IV_size); + if (default_is_protected_ == 1 && default_per_sample_IV_size_ == 0) { + default_constant_IV_size_ = buf->read_1bytes(); + srs_assert(default_constant_IV_size_ == 8 || default_constant_IV_size_ == 16); + buf->read_bytes((char *)default_constant_IV_, default_constant_IV_size_); } return err; @@ -5514,40 +5514,40 @@ srs_error_t SrsMp4TrackEncryptionBox::decode_header(SrsBuffer *buf) std::stringstream &SrsMp4TrackEncryptionBox::dumps_detail(std::stringstream &ss, SrsMp4DumpContext dc) { - if (version != 0) { - ss << "default_crypt_byte_block=" << default_crypt_byte_block << ", default_skip_byte_block=" << default_skip_byte_block << endl; + if (version_ != 0) { + ss << "default_crypt_byte_block=" << default_crypt_byte_block_ << ", default_skip_byte_block=" << default_skip_byte_block_ << endl; } - ss << "default_isProtected=" << default_is_protected << ", default_per_sample_IV_size=" << default_per_sample_IV_size << endl; + ss << "default_isProtected=" << default_is_protected_ << ", default_per_sample_IV_size=" << default_per_sample_IV_size_ << endl; return ss; } SrsMp4Sample::SrsMp4Sample() { - type = SrsFrameTypeForbidden; - offset = 0; - index = 0; - dts = pts = 0; - nb_data = 0; - data = NULL; - frame_type = SrsVideoAvcFrameTypeForbidden; - tbn = 0; - adjust = 0; + type_ = SrsFrameTypeForbidden; + offset_ = 0; + index_ = 0; + dts_ = pts_ = 0; + nb_data_ = 0; + data_ = NULL; + frame_type_ = SrsVideoAvcFrameTypeForbidden; + tbn_ = 0; + adjust_ = 0; } SrsMp4Sample::~SrsMp4Sample() { - srs_freepa(data); + srs_freepa(data_); } uint32_t SrsMp4Sample::dts_ms() { - return (uint32_t)(dts * 1000 / tbn) + adjust; + return (uint32_t)(dts_ * 1000 / tbn_) + adjust_; } uint32_t SrsMp4Sample::pts_ms() { - return (uint32_t)(pts * 1000 / tbn) + adjust; + return (uint32_t)(pts_ * 1000 / tbn_) + adjust_; } SrsMp4DvrJitter::SrsMp4DvrJitter() @@ -5561,14 +5561,14 @@ SrsMp4DvrJitter::~SrsMp4DvrJitter() void SrsMp4DvrJitter::on_sample(SrsMp4Sample *sample) { - if (!has_first_audio_ && sample->type == SrsFrameTypeAudio) { + if (!has_first_audio_ && sample->type_ == SrsFrameTypeAudio) { has_first_audio_ = true; - audio_start_dts_ = sample->dts; + audio_start_dts_ = sample->dts_; } - if (!has_first_video_ && sample->type == SrsFrameTypeVideo) { + if (!has_first_video_ && sample->type_ == SrsFrameTypeVideo) { has_first_video_ = true; - video_start_dts_ = sample->dts; + video_start_dts_ = sample->dts_; } } @@ -5605,11 +5605,11 @@ SrsMp4SampleManager::~SrsMp4SampleManager() srs_freep(jitter_); vector::iterator it; - for (it = samples.begin(); it != samples.end(); ++it) { + for (it = samples_.begin(); it != samples_.end(); ++it) { SrsMp4Sample *sample = *it; srs_freep(sample); } - samples.clear(); + samples_.clear(); } srs_error_t SrsMp4SampleManager::load(SrsMp4MovieBox *moov) @@ -5638,9 +5638,9 @@ srs_error_t SrsMp4SampleManager::load(SrsMp4MovieBox *moov) map::iterator it; for (it = tses.begin(); it != tses.end(); ++it) { SrsMp4Sample *sample = it->second; - samples.push_back(sample); + samples_.push_back(sample); - if (sample->type == SrsFrameTypeVideo) { + if (sample->type_ == SrsFrameTypeVideo) { pvideo = sample; } else if (pvideo) { int32_t diff = sample->dts_ms() - pvideo->dts_ms(); @@ -5661,8 +5661,8 @@ srs_error_t SrsMp4SampleManager::load(SrsMp4MovieBox *moov) map::iterator it; for (it = tses.begin(); it != tses.end(); ++it) { SrsMp4Sample *sample = it->second; - if (sample->type == SrsFrameTypeAudio) { - sample->adjust = 0 - maxp - maxn; + if (sample->type_ == SrsFrameTypeAudio) { + sample->adjust_ = 0 - maxp - maxn; } } } @@ -5672,8 +5672,8 @@ srs_error_t SrsMp4SampleManager::load(SrsMp4MovieBox *moov) SrsMp4Sample *SrsMp4SampleManager::at(uint32_t index) { - if (index < samples.size()) { - return samples.at(index); + if (index < samples_.size()) { + return samples_.at(index); } return NULL; } @@ -5681,7 +5681,7 @@ SrsMp4Sample *SrsMp4SampleManager::at(uint32_t index) void SrsMp4SampleManager::append(SrsMp4Sample *sample) { jitter_->on_sample(sample); - samples.push_back(sample); + samples_.push_back(sample); } srs_error_t SrsMp4SampleManager::write(SrsMp4MovieBox *moov) @@ -5692,9 +5692,9 @@ srs_error_t SrsMp4SampleManager::write(SrsMp4MovieBox *moov) if (vide) { bool has_cts = false; vector::iterator it; - for (it = samples.begin(); it != samples.end(); ++it) { + for (it = samples_.begin(); it != samples_.end(); ++it) { SrsMp4Sample *sample = *it; - if (sample->dts != sample->pts && sample->type == SrsFrameTypeVideo) { + if (sample->dts_ != sample->pts_ && sample->type_ == SrsFrameTypeVideo) { has_cts = true; break; } @@ -5722,7 +5722,7 @@ srs_error_t SrsMp4SampleManager::write(SrsMp4MovieBox *moov) SrsMp4FullBox *co = NULL; // When sample offset less than UINT32_MAX, we use stco(support 32bit offset) box to save storage space. - if (samples.empty() || (*samples.rbegin())->offset < UINT32_MAX) { + if (samples_.empty() || (*samples_.rbegin())->offset_ < UINT32_MAX) { // stco support 32bit offset. co = new SrsMp4ChunkOffsetBox(); stbl->set_stco(static_cast(co)); @@ -5754,7 +5754,7 @@ srs_error_t SrsMp4SampleManager::write(SrsMp4MovieBox *moov) stbl->set_stsz(stsz); SrsMp4FullBox *co = NULL; - if (samples.empty() || (*samples.rbegin())->offset < UINT32_MAX) { + if (samples_.empty() || (*samples_.rbegin())->offset_ < UINT32_MAX) { co = new SrsMp4ChunkOffsetBox(); stbl->set_stco(static_cast(co)); } else { @@ -5775,36 +5775,36 @@ srs_error_t SrsMp4SampleManager::write(SrsMp4TrackFragmentBox *traf, uint64_t dt srs_error_t err = srs_success; SrsMp4TrackFragmentRunBox *trun = traf->trun(); - trun->flags = SrsMp4TrunFlagsDataOffset | SrsMp4TrunFlagsSampleDuration | SrsMp4TrunFlagsSampleSize | SrsMp4TrunFlagsSampleFlag | SrsMp4TrunFlagsSampleCtsOffset; + trun->flags_ = SrsMp4TrunFlagsDataOffset | SrsMp4TrunFlagsSampleDuration | SrsMp4TrunFlagsSampleSize | SrsMp4TrunFlagsSampleFlag | SrsMp4TrunFlagsSampleCtsOffset; SrsMp4Sample *previous = NULL; vector::iterator it; - for (it = samples.begin(); it != samples.end(); ++it) { + for (it = samples_.begin(); it != samples_.end(); ++it) { SrsMp4Sample *sample = *it; SrsMp4TrunEntry *entry = new SrsMp4TrunEntry(trun); if (!previous) { previous = sample; - entry->sample_flags = 0x02000000; + entry->sample_flags_ = 0x02000000; } else { - entry->sample_flags = 0x01000000; + entry->sample_flags_ = 0x01000000; } vector::iterator iter = (it + 1); - if (iter == samples.end()) { - entry->sample_duration = dts - sample->dts; + if (iter == samples_.end()) { + entry->sample_duration_ = dts - sample->dts_; } else { - entry->sample_duration = (*iter)->dts - sample->dts; + entry->sample_duration_ = (*iter)->dts_ - sample->dts_; } - entry->sample_size = sample->nb_data; - entry->sample_composition_time_offset = (int64_t)(sample->pts - sample->dts); - if (entry->sample_composition_time_offset < 0) { - trun->version = 1; + entry->sample_size_ = sample->nb_data_; + entry->sample_composition_time_offset_ = (int64_t)(sample->pts_ - sample->dts_); + if (entry->sample_composition_time_offset_ < 0) { + trun->version_ = 1; } - trun->entries.push_back(entry); + trun->entries_.push_back(entry); } return err; @@ -5828,84 +5828,84 @@ srs_error_t SrsMp4SampleManager::write_track(SrsFrameType track, SrsMp4Sample *previous = NULL; vector::iterator it; - for (it = samples.begin(); it != samples.end(); ++it) { + for (it = samples_.begin(); it != samples_.end(); ++it) { SrsMp4Sample *sample = *it; - if (sample->type != track) { + if (sample->type_ != track) { continue; } - stsz_entries.push_back(sample->nb_data); - co_entries.push_back((uint64_t)sample->offset); + stsz_entries.push_back(sample->nb_data_); + co_entries.push_back((uint64_t)sample->offset_); - if (sample->frame_type == SrsVideoAvcFrameTypeKeyFrame) { - stss_entries.push_back(sample->index + 1); + if (sample->frame_type_ == SrsVideoAvcFrameTypeKeyFrame) { + stss_entries.push_back(sample->index_ + 1); } if (stts) { if (previous) { - uint32_t delta = (uint32_t)(sample->dts - previous->dts); - if (stts_entry.sample_delta == 0 || stts_entry.sample_delta == delta) { - stts_entry.sample_delta = delta; - stts_entry.sample_count++; + uint32_t delta = (uint32_t)(sample->dts_ - previous->dts_); + if (stts_entry.sample_delta_ == 0 || stts_entry.sample_delta_ == delta) { + stts_entry.sample_delta_ = delta; + stts_entry.sample_count_++; } else { stts_entries.push_back(stts_entry); - stts_entry.sample_count = 1; - stts_entry.sample_delta = delta; + stts_entry.sample_count_ = 1; + stts_entry.sample_delta_ = delta; } } else { // The first sample always in the STTS table. - stts_entry.sample_count++; - stts_entry.sample_delta = jitter_->get_first_sample_delta(track); + stts_entry.sample_count_++; + stts_entry.sample_delta_ = jitter_->get_first_sample_delta(track); } } if (ctts) { - int64_t offset = sample->pts - sample->dts; + int64_t offset = sample->pts_ - sample->dts_; if (offset < 0) { - ctts->version = 0x01; + ctts->version_ = 0x01; } - if (ctts_entry.sample_count == 0 || ctts_entry.sample_offset == offset) { - ctts_entry.sample_count++; + if (ctts_entry.sample_count_ == 0 || ctts_entry.sample_offset_ == offset) { + ctts_entry.sample_count_++; } else { ctts_entries.push_back(ctts_entry); - ctts_entry.sample_offset = offset; - ctts_entry.sample_count = 1; + ctts_entry.sample_offset_ = offset; + ctts_entry.sample_count_ = 1; } } previous = sample; } - if (stts && stts_entry.sample_count) { + if (stts && stts_entry.sample_count_) { stts_entries.push_back(stts_entry); } - if (ctts && ctts_entry.sample_count) { + if (ctts && ctts_entry.sample_count_) { ctts_entries.push_back(ctts_entry); } if (stts && !stts_entries.empty()) { - stts->entries = stts_entries; + stts->entries_ = stts_entries; } if (ctts && !ctts_entries.empty()) { - ctts->entries = ctts_entries; + ctts->entries_ = ctts_entries; } if (stsc) { - stsc->entry_count = 1; - stsc->entries = new SrsMp4StscEntry[1]; + stsc->entry_count_ = 1; + stsc->entries_ = new SrsMp4StscEntry[1]; - SrsMp4StscEntry &v = stsc->entries[0]; - v.first_chunk = v.sample_description_index = v.samples_per_chunk = 1; + SrsMp4StscEntry &v = stsc->entries_[0]; + v.first_chunk_ = v.sample_description_index_ = v.samples_per_chunk_ = 1; } if (stsz && !stsz_entries.empty()) { - stsz->sample_size = 0; - stsz->sample_count = (uint32_t)stsz_entries.size(); - stsz->entry_sizes = new uint32_t[stsz->sample_count]; - for (int i = 0; i < (int)stsz->sample_count; i++) { - stsz->entry_sizes[i] = stsz_entries.at(i); + stsz->sample_size_ = 0; + stsz->sample_count_ = (uint32_t)stsz_entries.size(); + stsz->entry_sizes_ = new uint32_t[stsz->sample_count_]; + for (int i = 0; i < (int)stsz->sample_count_; i++) { + stsz->entry_sizes_[i] = stsz_entries.at(i); } } @@ -5914,25 +5914,25 @@ srs_error_t SrsMp4SampleManager::write_track(SrsFrameType track, SrsMp4ChunkLargeOffsetBox *co64 = dynamic_cast(co); if (stco) { - stco->entry_count = (uint32_t)co_entries.size(); - stco->entries = new uint32_t[stco->entry_count]; - for (int i = 0; i < (int)stco->entry_count; i++) { - stco->entries[i] = co_entries.at(i); + stco->entry_count_ = (uint32_t)co_entries.size(); + stco->entries_ = new uint32_t[stco->entry_count_]; + for (int i = 0; i < (int)stco->entry_count_; i++) { + stco->entries_[i] = co_entries.at(i); } } else if (co64) { - co64->entry_count = (uint32_t)co_entries.size(); - co64->entries = new uint64_t[co64->entry_count]; - for (int i = 0; i < (int)co64->entry_count; i++) { - co64->entries[i] = co_entries.at(i); + co64->entry_count_ = (uint32_t)co_entries.size(); + co64->entries_ = new uint64_t[co64->entry_count_]; + for (int i = 0; i < (int)co64->entry_count_; i++) { + co64->entries_[i] = co_entries.at(i); } } } if (stss && !stss_entries.empty()) { - stss->entry_count = (uint32_t)stss_entries.size(); - stss->sample_numbers = new uint32_t[stss->entry_count]; - for (int i = 0; i < (int)stss->entry_count; i++) { - stss->sample_numbers[i] = stss_entries.at(i); + stss->entry_count_ = (uint32_t)stss_entries.size(); + stss->sample_numbers_ = new uint32_t[stss->entry_count_]; + for (int i = 0; i < (int)stss->entry_count_; i++) { + stss->sample_numbers_[i] = stss_entries.at(i); } } @@ -6008,64 +6008,64 @@ srs_error_t SrsMp4SampleManager::load_trak(map &tses, SrsMp4Sample *previous = NULL; // For each chunk offset. - for (uint32_t ci = 0; ci < stco->entry_count; ci++) { + for (uint32_t ci = 0; ci < stco->entry_count_; ci++) { // The sample offset relative in chunk. uint32_t sample_relative_offset = 0; // Find how many samples from stsc. SrsMp4StscEntry *stsc_entry = stsc->on_chunk(ci); - for (uint32_t i = 0; i < stsc_entry->samples_per_chunk; i++) { + for (uint32_t i = 0; i < stsc_entry->samples_per_chunk_; i++) { SrsMp4Sample *sample = new SrsMp4Sample(); - sample->type = tt; - sample->index = (previous ? previous->index + 1 : 0); - sample->tbn = mdhd->timescale; - sample->offset = stco->entries[ci] + sample_relative_offset; + sample->type_ = tt; + sample->index_ = (previous ? previous->index_ + 1 : 0); + sample->tbn_ = mdhd->timescale_; + sample->offset_ = stco->entries_[ci] + sample_relative_offset; uint32_t sample_size = 0; - if ((err = stsz->get_sample_size(sample->index, &sample_size)) != srs_success) { + if ((err = stsz->get_sample_size(sample->index_, &sample_size)) != srs_success) { srs_freep(sample); return srs_error_wrap(err, "stsz get sample size"); } sample_relative_offset += sample_size; SrsMp4SttsEntry *stts_entry = NULL; - if ((err = stts->on_sample(sample->index, &stts_entry)) != srs_success) { + if ((err = stts->on_sample(sample->index_, &stts_entry)) != srs_success) { srs_freep(sample); return srs_error_wrap(err, "stts on sample"); } if (previous) { - sample->pts = sample->dts = previous->dts + stts_entry->sample_delta; + sample->pts_ = sample->dts_ = previous->dts_ + stts_entry->sample_delta_; } SrsMp4CttsEntry *ctts_entry = NULL; - if (ctts && (err = ctts->on_sample(sample->index, &ctts_entry)) != srs_success) { + if (ctts && (err = ctts->on_sample(sample->index_, &ctts_entry)) != srs_success) { srs_freep(sample); return srs_error_wrap(err, "ctts on sample"); } if (ctts_entry) { - sample->pts = sample->dts + ctts_entry->sample_offset; + sample->pts_ = sample->dts_ + ctts_entry->sample_offset_; } if (tt == SrsFrameTypeVideo) { - if (!stss || stss->is_sync(sample->index)) { - sample->frame_type = SrsVideoAvcFrameTypeKeyFrame; + if (!stss || stss->is_sync(sample->index_)) { + sample->frame_type_ = SrsVideoAvcFrameTypeKeyFrame; } else { - sample->frame_type = SrsVideoAvcFrameTypeInterFrame; + sample->frame_type_ = SrsVideoAvcFrameTypeInterFrame; } } // Only set the sample size, read data from io when needed. - sample->nb_data = sample_size; - sample->data = NULL; + sample->nb_data_ = sample_size; + sample->data_ = NULL; previous = sample; - tses[sample->offset] = sample; + tses[sample->offset_] = sample; } } // Check total samples. - if (previous && previous->index + 1 != stsz->sample_count) { - return srs_error_new(ERROR_MP4_ILLEGAL_SAMPLES, "illegal samples count, expect=%d, actual=%d", stsz->sample_count, previous->index + 1); + if (previous && previous->index_ + 1 != stsz->sample_count_) { + return srs_error_new(ERROR_MP4_ILLEGAL_SAMPLES, "illegal samples count, expect=%d, actual=%d", stsz->sample_count_, previous->index_ + 1); } return err; @@ -6073,18 +6073,18 @@ srs_error_t SrsMp4SampleManager::load_trak(map &tses, SrsMp4BoxReader::SrsMp4BoxReader() { - rsio = NULL; - buf = new char[SRS_MP4_BUF_SIZE]; + rsio_ = NULL; + buf_ = new char[SRS_MP4_BUF_SIZE]; } SrsMp4BoxReader::~SrsMp4BoxReader() { - srs_freepa(buf); + srs_freepa(buf_); } srs_error_t SrsMp4BoxReader::initialize(ISrsReadSeeker *rs) { - rsio = rs; + rsio_ = rs; return srs_success; } @@ -6122,12 +6122,12 @@ srs_error_t SrsMp4BoxReader::do_read(SrsSimpleStream *stream, SrsMp4Box *&box) // Fill the stream util we can discovery box. while (stream->length() < (int)required) { ssize_t nread; - if ((err = rsio->read(buf, SRS_MP4_BUF_SIZE, &nread)) != srs_success) { + if ((err = rsio_->read(buf_, SRS_MP4_BUF_SIZE, &nread)) != srs_success) { return srs_error_wrap(err, "load failed, nread=%d, required=%d", (int)nread, (int)required); } srs_assert(nread > 0); - stream->append(buf, (int)nread); + stream->append(buf_, (int)nread); } SrsUniquePtr buffer(new SrsBuffer(stream->bytes(), stream->length())); @@ -6166,7 +6166,7 @@ srs_error_t SrsMp4BoxReader::skip(SrsMp4Box *box, SrsSimpleStream *stream) } else { stream->erase(stream->length()); } - if (offset > 0 && (err = rsio->lseek(offset, SEEK_CUR, NULL)) != srs_success) { + if (offset > 0 && (err = rsio_->lseek(offset, SEEK_CUR, NULL)) != srs_success) { return srs_error_wrap(err, "io seek"); } } else { @@ -6179,26 +6179,26 @@ srs_error_t SrsMp4BoxReader::skip(SrsMp4Box *box, SrsSimpleStream *stream) SrsMp4Decoder::SrsMp4Decoder() { - rsio = NULL; - brand = SrsMp4BoxBrandForbidden; - stream = new SrsSimpleStream(); - vcodec = SrsVideoCodecIdForbidden; - acodec = SrsAudioCodecIdForbidden; - asc_written = avcc_written = false; - sample_rate = SrsAudioSampleRateForbidden; - sound_bits = SrsAudioSampleBitsForbidden; - channels = SrsAudioChannelsForbidden; - samples = new SrsMp4SampleManager(); - br = new SrsMp4BoxReader(); - current_index = 0; - current_offset = 0; + rsio_ = NULL; + brand_ = SrsMp4BoxBrandForbidden; + stream_ = new SrsSimpleStream(); + vcodec_ = SrsVideoCodecIdForbidden; + acodec_ = SrsAudioCodecIdForbidden; + asc_written_ = avcc_written_ = false; + sample_rate_ = SrsAudioSampleRateForbidden; + sound_bits_ = SrsAudioSampleBitsForbidden; + channels_ = SrsAudioChannelsForbidden; + samples_ = new SrsMp4SampleManager(); + br_ = new SrsMp4BoxReader(); + current_index_ = 0; + current_offset_ = 0; } SrsMp4Decoder::~SrsMp4Decoder() { - srs_freep(br); - srs_freep(stream); - srs_freep(samples); + srs_freep(br_); + srs_freep(stream_); + srs_freep(samples_); } srs_error_t SrsMp4Decoder::initialize(ISrsReadSeeker *rs) @@ -6206,9 +6206,9 @@ srs_error_t SrsMp4Decoder::initialize(ISrsReadSeeker *rs) srs_error_t err = srs_success; srs_assert(rs); - rsio = rs; + rsio_ = rs; - if ((err = br->initialize(rs)) != srs_success) { + if ((err = br_->initialize(rs)) != srs_success) { return srs_error_wrap(err, "init box reader"); } @@ -6229,7 +6229,7 @@ srs_error_t SrsMp4Decoder::initialize(ISrsReadSeeker *rs) } } else if (box->is_mdat()) { off_t cur = 0; - if ((err = rsio->lseek(0, SEEK_CUR, &cur)) != srs_success) { + if ((err = rsio_->lseek(0, SEEK_CUR, &cur)) != srs_success) { return srs_error_wrap(err, "io seek"); } offset = off_t(cur - box->sz()); @@ -6242,13 +6242,13 @@ srs_error_t SrsMp4Decoder::initialize(ISrsReadSeeker *rs) } } - if (brand == SrsMp4BoxBrandForbidden) { + if (brand_ == SrsMp4BoxBrandForbidden) { return srs_error_new(ERROR_MP4_BOX_ILLEGAL_SCHEMA, "missing ftyp"); } // Set the offset to the mdat. if (offset >= 0) { - if ((err = rsio->lseek(offset, SEEK_SET, ¤t_offset)) != srs_success) { + if ((err = rsio_->lseek(offset, SEEK_SET, ¤t_offset_)) != srs_success) { return srs_error_wrap(err, "seek to mdat"); } } @@ -6260,14 +6260,14 @@ srs_error_t SrsMp4Decoder::read_sample(SrsMp4HandlerType *pht, uint16_t *pft, ui { srs_error_t err = srs_success; - if (!avcc_written && !pavcc.empty()) { - avcc_written = true; + if (!avcc_written_ && !pavcc_.empty()) { + avcc_written_ = true; *pdts = *ppts = 0; *pht = SrsMp4HandlerTypeVIDE; - uint32_t nb_sample = *pnb_sample = (uint32_t)pavcc.size(); + uint32_t nb_sample = *pnb_sample = (uint32_t)pavcc_.size(); uint8_t *sample = *psample = new uint8_t[nb_sample]; - memcpy(sample, &pavcc[0], nb_sample); + memcpy(sample, &pavcc_[0], nb_sample); *pft = SrsVideoAvcFrameTypeKeyFrame; *pct = SrsVideoAvcFrameTraitSequenceHeader; @@ -6275,14 +6275,14 @@ srs_error_t SrsMp4Decoder::read_sample(SrsMp4HandlerType *pht, uint16_t *pft, ui return err; } - if (!asc_written && !pasc.empty()) { - asc_written = true; + if (!asc_written_ && !pasc_.empty()) { + asc_written_ = true; *pdts = *ppts = 0; *pht = SrsMp4HandlerTypeSOUN; - uint32_t nb_sample = *pnb_sample = (uint32_t)pasc.size(); + uint32_t nb_sample = *pnb_sample = (uint32_t)pasc_.size(); uint8_t *sample = *psample = new uint8_t[nb_sample]; - memcpy(sample, &pasc[0], nb_sample); + memcpy(sample, &pasc_[0], nb_sample); *pft = 0x00; *pct = SrsAudioAacFrameTraitSequenceHeader; @@ -6290,12 +6290,12 @@ srs_error_t SrsMp4Decoder::read_sample(SrsMp4HandlerType *pht, uint16_t *pft, ui return err; } - SrsMp4Sample *ps = samples->at(current_index++); + SrsMp4Sample *ps = samples_->at(current_index_++); if (!ps) { return srs_error_new(ERROR_SYSTEM_FILE_EOF, "EOF"); } - if (ps->type == SrsFrameTypeVideo) { + if (ps->type_ == SrsFrameTypeVideo) { *pht = SrsMp4HandlerTypeVIDE; *pct = SrsVideoAvcFrameTraitNALU; } else { @@ -6304,26 +6304,26 @@ srs_error_t SrsMp4Decoder::read_sample(SrsMp4HandlerType *pht, uint16_t *pft, ui } *pdts = ps->dts_ms(); *ppts = ps->pts_ms(); - *pft = ps->frame_type; + *pft = ps->frame_type_; // Read sample from io, for we never preload the samples(too large). - if (ps->offset != current_offset) { - if ((err = rsio->lseek(ps->offset, SEEK_SET, ¤t_offset)) != srs_success) { + if (ps->offset_ != current_offset_) { + if ((err = rsio_->lseek(ps->offset_, SEEK_SET, ¤t_offset_)) != srs_success) { return srs_error_wrap(err, "seek to sample"); } } - uint32_t nb_sample = ps->nb_data; + uint32_t nb_sample = ps->nb_data_; uint8_t *sample = new uint8_t[nb_sample]; // TODO: FIXME: Use fully read. - if ((err = rsio->read(sample, nb_sample, NULL)) != srs_success) { + if ((err = rsio_->read(sample, nb_sample, NULL)) != srs_success) { srs_freepa(sample); return srs_error_wrap(err, "read sample"); } *psample = sample; *pnb_sample = nb_sample; - current_offset += nb_sample; + current_offset_ += nb_sample; return err; } @@ -6338,16 +6338,16 @@ srs_error_t SrsMp4Decoder::parse_ftyp(SrsMp4FileTypeBox *ftyp) SrsMp4BoxBrandISOM, SrsMp4BoxBrandISO2, SrsMp4BoxBrandAVC1, SrsMp4BoxBrandMP41, SrsMp4BoxBrandISO5}; for (int i = 0; i < (int)(sizeof(legal_brands) / sizeof(SrsMp4BoxBrand)); i++) { - if (ftyp->major_brand == legal_brands[i]) { + if (ftyp->major_brand_ == legal_brands[i]) { legal_brand = true; break; } } if (!legal_brand) { - return srs_error_new(ERROR_MP4_BOX_ILLEGAL_BRAND, "brand is illegal, brand=%d", ftyp->major_brand); + return srs_error_new(ERROR_MP4_BOX_ILLEGAL_BRAND, "brand is illegal, brand=%d", ftyp->major_brand_); } - brand = ftyp->major_brand; + brand_ = ftyp->major_brand_; return err; } @@ -6369,21 +6369,21 @@ srs_error_t SrsMp4Decoder::parse_moov(SrsMp4MovieBox *moov) SrsMp4AudioSampleEntry *mp4a = soun ? soun->mp4a() : NULL; if (mp4a) { - uint32_t sr = mp4a->samplerate >> 16; - if ((sample_rate = srs_audio_sample_rate_from_number(sr)) == SrsAudioSampleRateForbidden) { - sample_rate = srs_audio_sample_rate_guess_number(sr); + uint32_t sr = mp4a->samplerate_ >> 16; + if ((sample_rate_ = srs_audio_sample_rate_from_number(sr)) == SrsAudioSampleRateForbidden) { + sample_rate_ = srs_audio_sample_rate_guess_number(sr); } - if (mp4a->samplesize == 16) { - sound_bits = SrsAudioSampleBits16bit; + if (mp4a->samplesize_ == 16) { + sound_bits_ = SrsAudioSampleBits16bit; } else { - sound_bits = SrsAudioSampleBits8bit; + sound_bits_ = SrsAudioSampleBits8bit; } - if (mp4a->channelcount == 2) { - channels = SrsAudioChannelsStereo; + if (mp4a->channelcount_ == 2) { + channels_ = SrsAudioChannelsStereo; } else { - channels = SrsAudioChannelsMono; + channels_ = SrsAudioChannelsMono; } } @@ -6396,18 +6396,18 @@ srs_error_t SrsMp4Decoder::parse_moov(SrsMp4MovieBox *moov) return srs_error_new(ERROR_MP4_ILLEGAL_MOOV, "missing audio sequence header"); } - vcodec = vide ? vide->vide_codec() : SrsVideoCodecIdForbidden; - acodec = soun ? soun->soun_codec() : SrsAudioCodecIdForbidden; + vcodec_ = vide ? vide->vide_codec() : SrsVideoCodecIdForbidden; + acodec_ = soun ? soun->soun_codec() : SrsAudioCodecIdForbidden; - if (avcc && !avcc->avc_config.empty()) { - pavcc = avcc->avc_config; + if (avcc && !avcc->avc_config_.empty()) { + pavcc_ = avcc->avc_config_; } - if (asc && !asc->asc.empty()) { - pasc = asc->asc; + if (asc && !asc->asc_.empty()) { + pasc_ = asc->asc_; } // Build the samples structure from moov. - if ((err = samples->load(moov)) != srs_success) { + if ((err = samples_->load(moov)) != srs_success) { return srs_error_wrap(err, "load samples"); } @@ -6415,14 +6415,14 @@ srs_error_t SrsMp4Decoder::parse_moov(SrsMp4MovieBox *moov) ss << "dur=" << mvhd->duration() << "ms"; // video codec. ss << ", vide=" << moov->nb_vide_tracks() << "(" - << srs_video_codec_id2str(vcodec) << "," << pavcc.size() << "BSH" + << srs_video_codec_id2str(vcodec_) << "," << pavcc_.size() << "BSH" << ")"; // audio codec. ss << ", soun=" << moov->nb_soun_tracks() << "(" - << srs_audio_codec_id2str(acodec) << "," << pasc.size() << "BSH" - << "," << srs_audio_channels2str(channels) - << "," << srs_audio_sample_bits2str(sound_bits) - << "," << srs_audio_sample_rate2str(sample_rate) + << srs_audio_codec_id2str(acodec_) << "," << pasc_.size() << "BSH" + << "," << srs_audio_channels2str(channels_) + << "," << srs_audio_sample_bits2str(sound_bits_) + << "," << srs_audio_sample_rate2str(sample_rate_) << ")"; srs_trace("MP4 moov %s", ss.str().c_str()); @@ -6440,7 +6440,7 @@ srs_error_t SrsMp4Decoder::load_next_box(SrsMp4Box **ppbox, uint32_t required_bo return srs_error_wrap(err, "load box"); } - if (!required_box_type || (uint32_t)box->type == required_box_type) { + if (!required_box_type || (uint32_t)box->type_ == required_box_type) { *ppbox = box; return err; } @@ -6459,17 +6459,17 @@ srs_error_t SrsMp4Decoder::do_load_next_box(SrsMp4Box **ppbox, uint32_t required while (true) { SrsMp4Box *box = NULL; - if ((err = br->read(stream, &box)) != srs_success) { + if ((err = br_->read(stream_, &box)) != srs_success) { return srs_error_wrap(err, "read box"); } - SrsUniquePtr buffer(new SrsBuffer(stream->bytes(), stream->length())); + SrsUniquePtr buffer(new SrsBuffer(stream_->bytes(), stream_->length())); // Decode the box: // 1. Any box, when no box type is required. // 2. Matched box, when box type match the required type. // 3. Mdat box, always decode the mdat because we only decode the header of it. - if (!required_box_type || (uint32_t)box->type == required_box_type || box->is_mdat()) { + if (!required_box_type || (uint32_t)box->type_ == required_box_type || box->is_mdat()) { err = box->decode(buffer.get()); } @@ -6477,7 +6477,7 @@ srs_error_t SrsMp4Decoder::do_load_next_box(SrsMp4Box **ppbox, uint32_t required // For mdat box, skip the content in stream or underylayer reader. // For other boxes, skip it from stream because we already decoded it or ignore it. if (err == srs_success) { - err = br->skip(box, stream); + err = br_->skip(box, stream_); } if (err != srs_success) { @@ -6495,38 +6495,38 @@ srs_error_t SrsMp4Decoder::do_load_next_box(SrsMp4Box **ppbox, uint32_t required SrsMp4Encoder::SrsMp4Encoder() { - wsio = NULL; - mdat_bytes = 0; - mdat_offset = 0; - nb_audios = nb_videos = 0; - samples = new SrsMp4SampleManager(); - aduration = vduration = 0; - width = height = 0; + wsio_ = NULL; + mdat_bytes_ = 0; + mdat_offset_ = 0; + nb_audios_ = nb_videos_ = 0; + samples_ = new SrsMp4SampleManager(); + aduration_ = vduration_ = 0; + width_ = height_ = 0; - acodec = SrsAudioCodecIdForbidden; - sample_rate = SrsAudioSampleRateForbidden; - sound_bits = SrsAudioSampleBitsForbidden; - channels = SrsAudioChannelsForbidden; - vcodec = SrsVideoCodecIdForbidden; + acodec_ = SrsAudioCodecIdForbidden; + sample_rate_ = SrsAudioSampleRateForbidden; + sound_bits_ = SrsAudioSampleBitsForbidden; + channels_ = SrsAudioChannelsForbidden; + vcodec_ = SrsVideoCodecIdForbidden; } SrsMp4Encoder::~SrsMp4Encoder() { - srs_freep(samples); + srs_freep(samples_); } srs_error_t SrsMp4Encoder::initialize(ISrsWriteSeeker *ws) { srs_error_t err = srs_success; - wsio = ws; + wsio_ = ws; // Write ftyp box. if (true) { SrsUniquePtr ftyp(new SrsMp4FileTypeBox()); - ftyp->major_brand = SrsMp4BoxBrandISOM; - ftyp->minor_version = 512; + ftyp->major_brand_ = SrsMp4BoxBrandISOM; + ftyp->minor_version_ = 512; ftyp->set_compatible_brands(SrsMp4BoxBrandISOM, SrsMp4BoxBrandISO2, SrsMp4BoxBrandMP41); int nb_data = ftyp->nb_bytes(); @@ -6538,7 +6538,7 @@ srs_error_t SrsMp4Encoder::initialize(ISrsWriteSeeker *ws) } // TODO: FIXME: Ensure write ok. - if ((err = wsio->write(&data[0], nb_data, NULL)) != srs_success) { + if ((err = wsio_->write(&data[0], nb_data, NULL)) != srs_success) { return srs_error_wrap(err, "write ftyp"); } } @@ -6555,7 +6555,7 @@ srs_error_t SrsMp4Encoder::initialize(ISrsWriteSeeker *ws) return srs_error_wrap(err, "encode free box"); } - if ((err = wsio->write(&data[0], nb_data, NULL)) != srs_success) { + if ((err = wsio_->write(&data[0], nb_data, NULL)) != srs_success) { return srs_error_wrap(err, "write free box"); } } @@ -6568,7 +6568,7 @@ srs_error_t SrsMp4Encoder::initialize(ISrsWriteSeeker *ws) SrsUniquePtr mdat(new SrsMp4MediaDataBox()); // Update the mdat box from this offset. - if ((err = wsio->lseek(0, SEEK_CUR, &mdat_offset)) != srs_success) { + if ((err = wsio_->lseek(0, SEEK_CUR, &mdat_offset_)) != srs_success) { return srs_error_wrap(err, "seek to mdat"); } @@ -6581,11 +6581,11 @@ srs_error_t SrsMp4Encoder::initialize(ISrsWriteSeeker *ws) } // TODO: FIXME: Ensure all bytes are writen. - if ((err = wsio->write(data.get(), nb_data, NULL)) != srs_success) { + if ((err = wsio_->write(data.get(), nb_data, NULL)) != srs_success) { return srs_error_wrap(err, "write mdat"); } - mdat_bytes = 0; + mdat_bytes_ = 0; } return err; @@ -6609,21 +6609,21 @@ srs_error_t SrsMp4Encoder::write_sample( } if (ht == SrsMp4HandlerTypeVIDE) { - ps->type = SrsFrameTypeVideo; - ps->frame_type = (SrsVideoAvcFrameType)ft; - ps->index = nb_videos++; - vduration = dts; + ps->type_ = SrsFrameTypeVideo; + ps->frame_type_ = (SrsVideoAvcFrameType)ft; + ps->index_ = nb_videos_++; + vduration_ = dts; } else if (ht == SrsMp4HandlerTypeSOUN) { - ps->type = SrsFrameTypeAudio; - ps->index = nb_audios++; - aduration = dts; + ps->type_ = SrsFrameTypeAudio; + ps->index_ = nb_audios_++; + aduration_ = dts; } else { srs_freep(ps); return err; } - ps->tbn = 1000; - ps->dts = dts; - ps->pts = pts; + ps->tbn_ = 1000; + ps->dts_ = dts; + ps->pts_ = pts; if ((err = do_write_sample(ps, sample, nb_sample)) != srs_success) { srs_freep(ps); @@ -6631,7 +6631,7 @@ srs_error_t SrsMp4Encoder::write_sample( } // Append to manager to build the moov. - samples->append(ps); + samples_->append(ps); return err; } @@ -6640,7 +6640,7 @@ srs_error_t SrsMp4Encoder::flush() { srs_error_t err = srs_success; - if (!nb_audios && !nb_videos) { + if (!nb_audios_ && !nb_videos_) { return srs_error_new(ERROR_MP4_ILLEGAL_MOOV, "Missing audio and video track"); } @@ -6651,11 +6651,11 @@ srs_error_t SrsMp4Encoder::flush() SrsMp4MovieHeaderBox *mvhd = new SrsMp4MovieHeaderBox(); moov->set_mvhd(mvhd); - mvhd->timescale = 1000; // Use tbn ms. - mvhd->duration_in_tbn = srs_max(vduration, aduration); - mvhd->next_track_ID = 1; // Starts from 1, increase when use it. + mvhd->timescale_ = 1000; // Use tbn ms. + mvhd->duration_in_tbn_ = srs_max(vduration_, aduration_); + mvhd->next_track_ID_ = 1; // Starts from 1, increase when use it. - if (nb_videos || !pavcc.empty() || !phvcc.empty()) { + if (nb_videos_ || !pavcc_.empty() || !phvcc_.empty()) { SrsMp4TrackBox *trak = new SrsMp4TrackBox(); moov->add_trak(trak); @@ -6664,20 +6664,20 @@ srs_error_t SrsMp4Encoder::flush() SrsMp4EditListBox *elst = new SrsMp4EditListBox(); edts->set_elst(elst); - elst->version = 0; + elst->version_ = 0; SrsMp4ElstEntry entry; - entry.segment_duration = mvhd->duration_in_tbn; - entry.media_rate_integer = 1; - elst->entries.push_back(entry); + entry.segment_duration_ = mvhd->duration_in_tbn_; + entry.media_rate_integer_ = 1; + elst->entries_.push_back(entry); SrsMp4TrackHeaderBox *tkhd = new SrsMp4TrackHeaderBox(); trak->set_tkhd(tkhd); - tkhd->track_ID = mvhd->next_track_ID++; - tkhd->duration = vduration; - tkhd->width = (width << 16); - tkhd->height = (height << 16); + tkhd->track_ID_ = mvhd->next_track_ID_++; + tkhd->duration_ = vduration_; + tkhd->width_ = (width_ << 16); + tkhd->height_ = (height_ << 16); SrsMp4MediaBox *mdia = new SrsMp4MediaBox(); trak->set_mdia(mdia); @@ -6685,8 +6685,8 @@ srs_error_t SrsMp4Encoder::flush() SrsMp4MediaHeaderBox *mdhd = new SrsMp4MediaHeaderBox(); mdia->set_mdhd(mdhd); - mdhd->timescale = 1000; - mdhd->duration = vduration; + mdhd->timescale_ = 1000; + mdhd->duration_ = vduration_; mdhd->set_language0('u'); mdhd->set_language1('n'); mdhd->set_language2('d'); @@ -6694,8 +6694,8 @@ srs_error_t SrsMp4Encoder::flush() SrsMp4HandlerReferenceBox *hdlr = new SrsMp4HandlerReferenceBox(); mdia->set_hdlr(hdlr); - hdlr->handler_type = SrsMp4HandlerTypeVIDE; - hdlr->name = "VideoHandler"; + hdlr->handler_type_ = SrsMp4HandlerTypeVIDE; + hdlr->name_ = "VideoHandler"; SrsMp4MediaInformationBox *minf = new SrsMp4MediaInformationBox(); mdia->set_minf(minf); @@ -6718,43 +6718,43 @@ srs_error_t SrsMp4Encoder::flush() SrsMp4SampleDescriptionBox *stsd = new SrsMp4SampleDescriptionBox(); stbl->set_stsd(stsd); - if (vcodec == SrsVideoCodecIdAVC) { + if (vcodec_ == SrsVideoCodecIdAVC) { SrsMp4VisualSampleEntry *avc1 = new SrsMp4VisualSampleEntry(SrsMp4BoxTypeAVC1); stsd->append(avc1); - avc1->width = width; - avc1->height = height; - avc1->data_reference_index = 1; + avc1->width_ = width_; + avc1->height_ = height_; + avc1->data_reference_index_ = 1; SrsMp4AvccBox *avcC = new SrsMp4AvccBox(); avc1->set_avcC(avcC); - avcC->avc_config = pavcc; + avcC->avc_config_ = pavcc_; } else { SrsMp4VisualSampleEntry *hev1 = new SrsMp4VisualSampleEntry(SrsMp4BoxTypeHEV1); stsd->append(hev1); - hev1->width = width; - hev1->height = height; - hev1->data_reference_index = 1; + hev1->width_ = width_; + hev1->height_ = height_; + hev1->data_reference_index_ = 1; SrsMp4HvcCBox *hvcC = new SrsMp4HvcCBox(); hev1->set_hvcC(hvcC); - hvcC->hevc_config = phvcc; + hvcC->hevc_config_ = phvcc_; } } - if (nb_audios || !pasc.empty()) { + if (nb_audios_ || !pasc_.empty()) { SrsMp4TrackBox *trak = new SrsMp4TrackBox(); moov->add_trak(trak); SrsMp4TrackHeaderBox *tkhd = new SrsMp4TrackHeaderBox(); - tkhd->volume = 0x0100; + tkhd->volume_ = 0x0100; trak->set_tkhd(tkhd); - tkhd->track_ID = mvhd->next_track_ID++; - tkhd->duration = aduration; + tkhd->track_ID_ = mvhd->next_track_ID_++; + tkhd->duration_ = aduration_; SrsMp4MediaBox *mdia = new SrsMp4MediaBox(); trak->set_mdia(mdia); @@ -6762,8 +6762,8 @@ srs_error_t SrsMp4Encoder::flush() SrsMp4MediaHeaderBox *mdhd = new SrsMp4MediaHeaderBox(); mdia->set_mdhd(mdhd); - mdhd->timescale = 1000; - mdhd->duration = aduration; + mdhd->timescale_ = 1000; + mdhd->duration_ = aduration_; mdhd->set_language0('u'); mdhd->set_language1('n'); mdhd->set_language2('d'); @@ -6771,8 +6771,8 @@ srs_error_t SrsMp4Encoder::flush() SrsMp4HandlerReferenceBox *hdlr = new SrsMp4HandlerReferenceBox(); mdia->set_hdlr(hdlr); - hdlr->handler_type = SrsMp4HandlerTypeSOUN; - hdlr->name = "SoundHandler"; + hdlr->handler_type_ = SrsMp4HandlerTypeSOUN; + hdlr->name_ = "SoundHandler"; SrsMp4MediaInformationBox *minf = new SrsMp4MediaInformationBox(); mdia->set_minf(minf); @@ -6796,17 +6796,17 @@ srs_error_t SrsMp4Encoder::flush() stbl->set_stsd(stsd); SrsMp4AudioSampleEntry *mp4a = new SrsMp4AudioSampleEntry(); - mp4a->data_reference_index = 1; - mp4a->samplerate = srs_audio_sample_rate2number(sample_rate); - if (sound_bits == SrsAudioSampleBits16bit) { - mp4a->samplesize = 16; + mp4a->data_reference_index_ = 1; + mp4a->samplerate_ = srs_audio_sample_rate2number(sample_rate_); + if (sound_bits_ == SrsAudioSampleBits16bit) { + mp4a->samplesize_ = 16; } else { - mp4a->samplesize = 8; + mp4a->samplesize_ = 8; } - if (channels == SrsAudioChannelsStereo) { - mp4a->channelcount = 2; + if (channels_ == SrsAudioChannelsStereo) { + mp4a->channelcount_ = 2; } else { - mp4a->channelcount = 1; + mp4a->channelcount_ = 1; } stsd->append(mp4a); @@ -6814,21 +6814,21 @@ srs_error_t SrsMp4Encoder::flush() mp4a->set_esds(esds); SrsMp4ES_Descriptor *es = esds->es; - es->ES_ID = 0x02; + es->ES_ID_ = 0x02; - SrsMp4DecoderConfigDescriptor &desc = es->decConfigDescr; + SrsMp4DecoderConfigDescriptor &desc = es->decConfigDescr_; desc.objectTypeIndication = get_audio_object_type(); desc.streamType = SrsMp4StreamTypeAudioStream; - srs_freep(desc.decSpecificInfo); + srs_freep(desc.decSpecificInfo_); if (SrsMp4ObjectTypeAac == desc.objectTypeIndication) { SrsMp4DecoderSpecificInfo *asc = new SrsMp4DecoderSpecificInfo(); - desc.decSpecificInfo = asc; - asc->asc = pasc; + desc.decSpecificInfo_ = asc; + asc->asc_ = pasc_; } } - if ((err = samples->write(moov.get())) != srs_success) { + if ((err = samples_->write(moov.get())) != srs_success) { return srs_error_wrap(err, "write samples"); } @@ -6841,7 +6841,7 @@ srs_error_t SrsMp4Encoder::flush() } // TODO: FIXME: Ensure all bytes are writen. - if ((err = wsio->write(data.get(), nb_data, NULL)) != srs_success) { + if ((err = wsio_->write(data.get(), nb_data, NULL)) != srs_success) { return srs_error_wrap(err, "write moov"); } } @@ -6854,7 +6854,7 @@ srs_error_t SrsMp4Encoder::flush() SrsUniquePtr mdat(new SrsMp4MediaDataBox()); // Update the size of mdat first, for over 2GB file. - mdat->nb_data = mdat_bytes; + mdat->nb_data_ = mdat_bytes_; mdat->update_size(); int nb_data = mdat->sz_header(); @@ -6872,16 +6872,16 @@ srs_error_t SrsMp4Encoder::flush() return srs_error_new(ERROR_MP4_ILLEGAL_MDAT, "Invalid mdat header size %d", nb_data); } // Use large size, to the start of reserved free box. - mdat_offset -= 8; + mdat_offset_ -= 8; } // Seek to the start of mdat. - if ((err = wsio->lseek(mdat_offset, SEEK_SET, NULL)) != srs_success) { + if ((err = wsio_->lseek(mdat_offset_, SEEK_SET, NULL)) != srs_success) { return srs_error_wrap(err, "seek to mdat"); } // TODO: FIXME: Ensure all bytes are writen. - if ((err = wsio->write(data.get(), nb_data, NULL)) != srs_success) { + if ((err = wsio_->write(data.get(), nb_data, NULL)) != srs_success) { return srs_error_wrap(err, "write mdat"); } } @@ -6895,16 +6895,16 @@ srs_error_t SrsMp4Encoder::copy_sequence_header(SrsFormat *format, bool vsh, uin if (vsh) { // AVC - if (format->vcodec->id == SrsVideoCodecIdAVC && !pavcc.empty()) { - if (nb_sample == (uint32_t)pavcc.size() && srs_bytes_equal(sample, &pavcc[0], (int)pavcc.size())) { + if (format->vcodec_->id_ == SrsVideoCodecIdAVC && !pavcc_.empty()) { + if (nb_sample == (uint32_t)pavcc_.size() && srs_bytes_equal(sample, &pavcc_[0], (int)pavcc_.size())) { return err; } return srs_error_new(ERROR_MP4_AVCC_CHANGE, "doesn't support avcc change"); } // HEVC - if (format->vcodec->id == SrsVideoCodecIdHEVC && !phvcc.empty()) { - if (nb_sample == (uint32_t)phvcc.size() && srs_bytes_equal(sample, &phvcc[0], (int)phvcc.size())) { + if (format->vcodec_->id_ == SrsVideoCodecIdHEVC && !phvcc_.empty()) { + if (nb_sample == (uint32_t)phvcc_.size() && srs_bytes_equal(sample, &phvcc_[0], (int)phvcc_.size())) { return err; } @@ -6912,8 +6912,8 @@ srs_error_t SrsMp4Encoder::copy_sequence_header(SrsFormat *format, bool vsh, uin } } - if (!vsh && !pasc.empty()) { - if (nb_sample == (uint32_t)pasc.size() && srs_bytes_equal(sample, &pasc[0], (int)pasc.size())) { + if (!vsh && !pasc_.empty()) { + if (nb_sample == (uint32_t)pasc_.size() && srs_bytes_equal(sample, &pasc_[0], (int)pasc_.size())) { return err; } @@ -6921,19 +6921,19 @@ srs_error_t SrsMp4Encoder::copy_sequence_header(SrsFormat *format, bool vsh, uin } if (vsh) { - if (format->vcodec->id == SrsVideoCodecIdHEVC) { - phvcc = std::vector(sample, sample + nb_sample); + if (format->vcodec_->id_ == SrsVideoCodecIdHEVC) { + phvcc_ = std::vector(sample, sample + nb_sample); } else { - pavcc = std::vector(sample, sample + nb_sample); + pavcc_ = std::vector(sample, sample + nb_sample); } - if (format && format->vcodec) { - width = format->vcodec->width; - height = format->vcodec->height; + if (format && format->vcodec_) { + width_ = format->vcodec_->width_; + height_ = format->vcodec_->height_; } } if (!vsh) { - pasc = std::vector(sample, sample + nb_sample); + pasc_ = std::vector(sample, sample + nb_sample); } return err; @@ -6943,32 +6943,32 @@ srs_error_t SrsMp4Encoder::do_write_sample(SrsMp4Sample *ps, uint8_t *sample, ui { srs_error_t err = srs_success; - ps->nb_data = nb_sample; + ps->nb_data_ = nb_sample; // Never copy data, for we already writen to writer. - ps->data = NULL; + ps->data_ = NULL; // Update the mdat box from this offset. - if ((err = wsio->lseek(0, SEEK_CUR, &ps->offset)) != srs_success) { + if ((err = wsio_->lseek(0, SEEK_CUR, &ps->offset_)) != srs_success) { return srs_error_wrap(err, "seek to offset in mdat"); } // TODO: FIXME: Ensure all bytes are writen. - if ((err = wsio->write(sample, nb_sample, NULL)) != srs_success) { + if ((err = wsio_->write(sample, nb_sample, NULL)) != srs_success) { return srs_error_wrap(err, "write sample"); } - mdat_bytes += nb_sample; + mdat_bytes_ += nb_sample; return err; } SrsMp4ObjectType SrsMp4Encoder::get_audio_object_type() { - switch (acodec) { + switch (acodec_) { case SrsAudioCodecIdAAC: return SrsMp4ObjectTypeAac; case SrsAudioCodecIdMP3: - return (srs_audio_sample_rate2number(sample_rate) > 24000) ? SrsMp4ObjectTypeMp1a : SrsMp4ObjectTypeMp3; // 11172 - 3 + return (srs_audio_sample_rate2number(sample_rate_) > 24000) ? SrsMp4ObjectTypeMp1a : SrsMp4ObjectTypeMp3; // 11172 - 3 default: return SrsMp4ObjectTypeForbidden; } @@ -6976,7 +6976,7 @@ SrsMp4ObjectType SrsMp4Encoder::get_audio_object_type() SrsMp4M2tsInitEncoder::SrsMp4M2tsInitEncoder() { - writer = NULL; + writer_ = NULL; crypt_byte_block_ = 0; skip_byte_block_ = 0; iv_size_ = 0; @@ -6989,7 +6989,7 @@ SrsMp4M2tsInitEncoder::~SrsMp4M2tsInitEncoder() srs_error_t SrsMp4M2tsInitEncoder::initialize(ISrsWriter *w) { - writer = w; + writer_ = w; return srs_success; } @@ -7013,11 +7013,11 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, bool video, int tid) if (true) { SrsUniquePtr ftyp(new SrsMp4FileTypeBox()); - ftyp->major_brand = SrsMp4BoxBrandISO5; - ftyp->minor_version = 512; + ftyp->major_brand_ = SrsMp4BoxBrandISO5; + ftyp->minor_version_ = 512; ftyp->set_compatible_brands(SrsMp4BoxBrandISO6, SrsMp4BoxBrandMP41); - if ((err = srs_mp4_write_box(writer, ftyp.get())) != srs_success) { + if ((err = srs_mp4_write_box(writer_, ftyp.get())) != srs_success) { return srs_error_wrap(err, "write ftyp"); } } @@ -7029,9 +7029,9 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, bool video, int tid) SrsMp4MovieHeaderBox *mvhd = new SrsMp4MovieHeaderBox(); moov->set_mvhd(mvhd); - mvhd->timescale = 1000; // Use tbn ms. - mvhd->duration_in_tbn = 0; - mvhd->next_track_ID = tid; + mvhd->timescale_ = 1000; // Use tbn ms. + mvhd->duration_in_tbn_ = 0; + mvhd->next_track_ID_ = tid; if (video) { SrsMp4TrackBox *trak = new SrsMp4TrackBox(); @@ -7040,10 +7040,10 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, bool video, int tid) SrsMp4TrackHeaderBox *tkhd = new SrsMp4TrackHeaderBox(); trak->set_tkhd(tkhd); - tkhd->track_ID = mvhd->next_track_ID++; - tkhd->duration = 0; - tkhd->width = (format->vcodec->width << 16); - tkhd->height = (format->vcodec->height << 16); + tkhd->track_ID_ = mvhd->next_track_ID_++; + tkhd->duration_ = 0; + tkhd->width_ = (format->vcodec_->width_ << 16); + tkhd->height_ = (format->vcodec_->height_ << 16); SrsMp4MediaBox *mdia = new SrsMp4MediaBox(); trak->set_mdia(mdia); @@ -7051,8 +7051,8 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, bool video, int tid) SrsMp4MediaHeaderBox *mdhd = new SrsMp4MediaHeaderBox(); mdia->set_mdhd(mdhd); - mdhd->timescale = 1000; - mdhd->duration = 0; + mdhd->timescale_ = 1000; + mdhd->duration_ = 0; mdhd->set_language0('u'); mdhd->set_language1('n'); mdhd->set_language2('d'); @@ -7060,8 +7060,8 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, bool video, int tid) SrsMp4HandlerReferenceBox *hdlr = new SrsMp4HandlerReferenceBox(); mdia->set_hdlr(hdlr); - hdlr->handler_type = SrsMp4HandlerTypeVIDE; - hdlr->name = "VideoHandler"; + hdlr->handler_type_ = SrsMp4HandlerTypeVIDE; + hdlr->name_ = "VideoHandler"; SrsMp4MediaInformationBox *minf = new SrsMp4MediaInformationBox(); mdia->set_minf(minf); @@ -7084,18 +7084,18 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, bool video, int tid) SrsMp4SampleDescriptionBox *stsd = new SrsMp4SampleDescriptionBox(); stbl->set_stsd(stsd); - if (format->vcodec->id == SrsVideoCodecIdAVC) { + if (format->vcodec_->id_ == SrsVideoCodecIdAVC) { SrsMp4VisualSampleEntry *avc1 = new SrsMp4VisualSampleEntry(SrsMp4BoxTypeAVC1); stsd->append(avc1); - avc1->width = format->vcodec->width; - avc1->height = format->vcodec->height; - avc1->data_reference_index = 1; + avc1->width_ = format->vcodec_->width_; + avc1->height_ = format->vcodec_->height_; + avc1->data_reference_index_ = 1; SrsMp4AvccBox *avcC = new SrsMp4AvccBox(); avc1->set_avcC(avcC); - avcC->avc_config = format->vcodec->avc_extra_data; + avcC->avc_config_ = format->vcodec_->avc_extra_data_; if (is_protected_ && ((err = config_sample_description_encryption(avc1)) != srs_success)) { return srs_error_wrap(err, "encrypt avc1 box"); @@ -7104,14 +7104,14 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, bool video, int tid) SrsMp4VisualSampleEntry *hev1 = new SrsMp4VisualSampleEntry(SrsMp4BoxTypeHEV1); stsd->append(hev1); - hev1->width = format->vcodec->width; - hev1->height = format->vcodec->height; - hev1->data_reference_index = 1; + hev1->width_ = format->vcodec_->width_; + hev1->height_ = format->vcodec_->height_; + hev1->data_reference_index_ = 1; SrsMp4HvcCBox *hvcC = new SrsMp4HvcCBox(); hev1->set_hvcC(hvcC); - hvcC->hevc_config = format->vcodec->avc_extra_data; + hvcC->hevc_config_ = format->vcodec_->avc_extra_data_; if (is_protected_ && ((err = config_sample_description_encryption(hev1)) != srs_success)) { return srs_error_wrap(err, "encrypt hev1 box"); @@ -7137,18 +7137,18 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, bool video, int tid) SrsMp4TrackExtendsBox *trex = new SrsMp4TrackExtendsBox(); mvex->add_trex(trex); - trex->track_ID = tid; - trex->default_sample_description_index = 1; + trex->track_ID_ = tid; + trex->default_sample_description_index_ = 1; } else { SrsMp4TrackBox *trak = new SrsMp4TrackBox(); moov->add_trak(trak); SrsMp4TrackHeaderBox *tkhd = new SrsMp4TrackHeaderBox(); - tkhd->volume = 0x0100; + tkhd->volume_ = 0x0100; trak->set_tkhd(tkhd); - tkhd->track_ID = mvhd->next_track_ID++; - tkhd->duration = 0; + tkhd->track_ID_ = mvhd->next_track_ID_++; + tkhd->duration_ = 0; SrsMp4MediaBox *mdia = new SrsMp4MediaBox(); trak->set_mdia(mdia); @@ -7156,8 +7156,8 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, bool video, int tid) SrsMp4MediaHeaderBox *mdhd = new SrsMp4MediaHeaderBox(); mdia->set_mdhd(mdhd); - mdhd->timescale = 1000; - mdhd->duration = 0; + mdhd->timescale_ = 1000; + mdhd->duration_ = 0; mdhd->set_language0('u'); mdhd->set_language1('n'); mdhd->set_language2('d'); @@ -7165,8 +7165,8 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, bool video, int tid) SrsMp4HandlerReferenceBox *hdlr = new SrsMp4HandlerReferenceBox(); mdia->set_hdlr(hdlr); - hdlr->handler_type = SrsMp4HandlerTypeSOUN; - hdlr->name = "SoundHandler"; + hdlr->handler_type_ = SrsMp4HandlerTypeSOUN; + hdlr->name_ = "SoundHandler"; SrsMp4MediaInformationBox *minf = new SrsMp4MediaInformationBox(); mdia->set_minf(minf); @@ -7190,17 +7190,17 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, bool video, int tid) stbl->set_stsd(stsd); SrsMp4AudioSampleEntry *mp4a = new SrsMp4AudioSampleEntry(); - mp4a->data_reference_index = 1; - mp4a->samplerate = uint32_t(srs_flv_srates[format->acodec->sound_rate]) << 16; - if (format->acodec->sound_size == SrsAudioSampleBits16bit) { - mp4a->samplesize = 16; + mp4a->data_reference_index_ = 1; + mp4a->samplerate_ = uint32_t(srs_flv_srates[format->acodec_->sound_rate_]) << 16; + if (format->acodec_->sound_size_ == SrsAudioSampleBits16bit) { + mp4a->samplesize_ = 16; } else { - mp4a->samplesize = 8; + mp4a->samplesize_ = 8; } - if (format->acodec->sound_type == SrsAudioChannelsStereo) { - mp4a->channelcount = 2; + if (format->acodec_->sound_type_ == SrsAudioChannelsStereo) { + mp4a->channelcount_ = 2; } else { - mp4a->channelcount = 1; + mp4a->channelcount_ = 1; } stsd->append(mp4a); @@ -7212,16 +7212,16 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, bool video, int tid) } SrsMp4ES_Descriptor *es = esds->es; - es->ES_ID = 0x02; + es->ES_ID_ = 0x02; - SrsMp4DecoderConfigDescriptor &desc = es->decConfigDescr; + SrsMp4DecoderConfigDescriptor &desc = es->decConfigDescr_; desc.objectTypeIndication = SrsMp4ObjectTypeAac; desc.streamType = SrsMp4StreamTypeAudioStream; - srs_freep(desc.decSpecificInfo); + srs_freep(desc.decSpecificInfo_); SrsMp4DecoderSpecificInfo *asc = new SrsMp4DecoderSpecificInfo(); - desc.decSpecificInfo = asc; - asc->asc = format->acodec->aac_extra_data; + desc.decSpecificInfo_ = asc; + asc->asc_ = format->acodec_->aac_extra_data_; SrsMp4DecodingTime2SampleBox *stts = new SrsMp4DecodingTime2SampleBox(); stbl->set_stts(stts); @@ -7242,11 +7242,11 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, bool video, int tid) SrsMp4TrackExtendsBox *trex = new SrsMp4TrackExtendsBox(); mvex->add_trex(trex); - trex->track_ID = tid; - trex->default_sample_description_index = 1; + trex->track_ID_ = tid; + trex->default_sample_description_index_ = 1; } - if ((err = srs_mp4_write_box(writer, moov.get())) != srs_success) { + if ((err = srs_mp4_write_box(writer_, moov.get())) != srs_success) { return srs_error_wrap(err, "write moov"); } } @@ -7262,11 +7262,11 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, int v_tid, int a_tid if (true) { SrsUniquePtr ftyp(new SrsMp4FileTypeBox()); - ftyp->major_brand = SrsMp4BoxBrandMP42; // SrsMp4BoxBrandISO5; - ftyp->minor_version = 512; + ftyp->major_brand_ = SrsMp4BoxBrandMP42; // SrsMp4BoxBrandISO5; + ftyp->minor_version_ = 512; ftyp->set_compatible_brands(SrsMp4BoxBrandISO6, SrsMp4BoxBrandMP41); - if ((err = srs_mp4_write_box(writer, ftyp.get())) != srs_success) { + if ((err = srs_mp4_write_box(writer_, ftyp.get())) != srs_success) { return srs_error_wrap(err, "write ftyp"); } } @@ -7278,22 +7278,22 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, int v_tid, int a_tid SrsMp4MovieHeaderBox *mvhd = new SrsMp4MovieHeaderBox(); moov->set_mvhd(mvhd); - mvhd->timescale = 1000; // Use tbn ms. - mvhd->duration_in_tbn = 0; - mvhd->next_track_ID = 4294967295; // 2^32 - 1 + mvhd->timescale_ = 1000; // Use tbn ms. + mvhd->duration_in_tbn_ = 0; + mvhd->next_track_ID_ = 4294967295; // 2^32 - 1 // write video track - if (format->vcodec) { + if (format->vcodec_) { SrsMp4TrackBox *trak = new SrsMp4TrackBox(); moov->add_trak(trak); SrsMp4TrackHeaderBox *tkhd = new SrsMp4TrackHeaderBox(); trak->set_tkhd(tkhd); - tkhd->track_ID = v_tid; - tkhd->duration = 0; - tkhd->width = (format->vcodec->width << 16); - tkhd->height = (format->vcodec->height << 16); + tkhd->track_ID_ = v_tid; + tkhd->duration_ = 0; + tkhd->width_ = (format->vcodec_->width_ << 16); + tkhd->height_ = (format->vcodec_->height_ << 16); SrsMp4MediaBox *mdia = new SrsMp4MediaBox(); trak->set_mdia(mdia); @@ -7301,8 +7301,8 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, int v_tid, int a_tid SrsMp4MediaHeaderBox *mdhd = new SrsMp4MediaHeaderBox(); mdia->set_mdhd(mdhd); - mdhd->timescale = 1000; - mdhd->duration = 0; + mdhd->timescale_ = 1000; + mdhd->duration_ = 0; mdhd->set_language0('u'); mdhd->set_language1('n'); mdhd->set_language2('d'); @@ -7310,8 +7310,8 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, int v_tid, int a_tid SrsMp4HandlerReferenceBox *hdlr = new SrsMp4HandlerReferenceBox(); mdia->set_hdlr(hdlr); - hdlr->handler_type = SrsMp4HandlerTypeVIDE; - hdlr->name = "VideoHandler"; + hdlr->handler_type_ = SrsMp4HandlerTypeVIDE; + hdlr->name_ = "VideoHandler"; SrsMp4MediaInformationBox *minf = new SrsMp4MediaInformationBox(); mdia->set_minf(minf); @@ -7334,18 +7334,18 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, int v_tid, int a_tid SrsMp4SampleDescriptionBox *stsd = new SrsMp4SampleDescriptionBox(); stbl->set_stsd(stsd); - if (format->vcodec->id == SrsVideoCodecIdAVC) { + if (format->vcodec_->id_ == SrsVideoCodecIdAVC) { SrsMp4VisualSampleEntry *avc1 = new SrsMp4VisualSampleEntry(SrsMp4BoxTypeAVC1); stsd->append(avc1); - avc1->width = format->vcodec->width; - avc1->height = format->vcodec->height; - avc1->data_reference_index = 1; + avc1->width_ = format->vcodec_->width_; + avc1->height_ = format->vcodec_->height_; + avc1->data_reference_index_ = 1; SrsMp4AvccBox *avcC = new SrsMp4AvccBox(); avc1->set_avcC(avcC); - avcC->avc_config = format->vcodec->avc_extra_data; + avcC->avc_config_ = format->vcodec_->avc_extra_data_; if (is_protected_ && ((err = config_sample_description_encryption(avc1)) != srs_success)) { return srs_error_wrap(err, "encrypt avc1 box"); @@ -7354,14 +7354,14 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, int v_tid, int a_tid SrsMp4VisualSampleEntry *hev1 = new SrsMp4VisualSampleEntry(SrsMp4BoxTypeHEV1); stsd->append(hev1); - hev1->width = format->vcodec->width; - hev1->height = format->vcodec->height; - hev1->data_reference_index = 1; + hev1->width_ = format->vcodec_->width_; + hev1->height_ = format->vcodec_->height_; + hev1->data_reference_index_ = 1; SrsMp4HvcCBox *hvcC = new SrsMp4HvcCBox(); hev1->set_hvcC(hvcC); - hvcC->hevc_config = format->vcodec->avc_extra_data; + hvcC->hevc_config_ = format->vcodec_->avc_extra_data_; if (is_protected_ && ((err = config_sample_description_encryption(hev1)) != srs_success)) { return srs_error_wrap(err, "encrypt hev1 box"); @@ -7383,16 +7383,16 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, int v_tid, int a_tid } // write audio track - if (format->acodec) { + if (format->acodec_) { SrsMp4TrackBox *trak = new SrsMp4TrackBox(); moov->add_trak(trak); SrsMp4TrackHeaderBox *tkhd = new SrsMp4TrackHeaderBox(); - tkhd->volume = 0x0100; + tkhd->volume_ = 0x0100; trak->set_tkhd(tkhd); - tkhd->track_ID = a_tid; - tkhd->duration = 0; + tkhd->track_ID_ = a_tid; + tkhd->duration_ = 0; SrsMp4MediaBox *mdia = new SrsMp4MediaBox(); trak->set_mdia(mdia); @@ -7400,8 +7400,8 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, int v_tid, int a_tid SrsMp4MediaHeaderBox *mdhd = new SrsMp4MediaHeaderBox(); mdia->set_mdhd(mdhd); - mdhd->timescale = 1000; - mdhd->duration = 0; + mdhd->timescale_ = 1000; + mdhd->duration_ = 0; mdhd->set_language0('u'); mdhd->set_language1('n'); mdhd->set_language2('d'); @@ -7409,8 +7409,8 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, int v_tid, int a_tid SrsMp4HandlerReferenceBox *hdlr = new SrsMp4HandlerReferenceBox(); mdia->set_hdlr(hdlr); - hdlr->handler_type = SrsMp4HandlerTypeSOUN; - hdlr->name = "SoundHandler"; + hdlr->handler_type_ = SrsMp4HandlerTypeSOUN; + hdlr->name_ = "SoundHandler"; SrsMp4MediaInformationBox *minf = new SrsMp4MediaInformationBox(); mdia->set_minf(minf); @@ -7434,17 +7434,17 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, int v_tid, int a_tid stbl->set_stsd(stsd); SrsMp4AudioSampleEntry *mp4a = new SrsMp4AudioSampleEntry(); - mp4a->data_reference_index = 1; - mp4a->samplerate = uint32_t(srs_flv_srates[format->acodec->sound_rate]) << 16; - if (format->acodec->sound_size == SrsAudioSampleBits16bit) { - mp4a->samplesize = 16; + mp4a->data_reference_index_ = 1; + mp4a->samplerate_ = uint32_t(srs_flv_srates[format->acodec_->sound_rate_]) << 16; + if (format->acodec_->sound_size_ == SrsAudioSampleBits16bit) { + mp4a->samplesize_ = 16; } else { - mp4a->samplesize = 8; + mp4a->samplesize_ = 8; } - if (format->acodec->sound_type == SrsAudioChannelsStereo) { - mp4a->channelcount = 2; + if (format->acodec_->sound_type_ == SrsAudioChannelsStereo) { + mp4a->channelcount_ = 2; } else { - mp4a->channelcount = 1; + mp4a->channelcount_ = 1; } stsd->append(mp4a); @@ -7455,16 +7455,16 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, int v_tid, int a_tid } SrsMp4ES_Descriptor *es = esds->es; - es->ES_ID = 0x02; + es->ES_ID_ = 0x02; - SrsMp4DecoderConfigDescriptor &desc = es->decConfigDescr; + SrsMp4DecoderConfigDescriptor &desc = es->decConfigDescr_; desc.objectTypeIndication = SrsMp4ObjectTypeAac; desc.streamType = SrsMp4StreamTypeAudioStream; - srs_freep(desc.decSpecificInfo); + srs_freep(desc.decSpecificInfo_); SrsMp4DecoderSpecificInfo *asc = new SrsMp4DecoderSpecificInfo(); - desc.decSpecificInfo = asc; - asc->asc = format->acodec->aac_extra_data; + desc.decSpecificInfo_ = asc; + asc->asc_ = format->acodec_->aac_extra_data_; SrsMp4DecodingTime2SampleBox *stts = new SrsMp4DecodingTime2SampleBox(); stbl->set_stts(stts); @@ -7485,25 +7485,25 @@ srs_error_t SrsMp4M2tsInitEncoder::write(SrsFormat *format, int v_tid, int a_tid moov->set_mvex(mvex); // video trex - if (format->vcodec) { + if (format->vcodec_) { SrsMp4TrackExtendsBox *v_trex = new SrsMp4TrackExtendsBox(); mvex->add_trex(v_trex); - v_trex->track_ID = v_tid; - v_trex->default_sample_description_index = 1; + v_trex->track_ID_ = v_tid; + v_trex->default_sample_description_index_ = 1; } // audio trex - if (format->acodec) { + if (format->acodec_) { SrsMp4TrackExtendsBox *a_trex = new SrsMp4TrackExtendsBox(); mvex->add_trex(a_trex); - a_trex->track_ID = a_tid; - a_trex->default_sample_description_index = 1; + a_trex->track_ID_ = a_tid; + a_trex->default_sample_description_index_ = 1; } } - if ((err = srs_mp4_write_box(writer, moov.get())) != srs_success) { + if ((err = srs_mp4_write_box(writer_, moov.get())) != srs_success) { return srs_error_wrap(err, "write moov"); } } @@ -7525,13 +7525,13 @@ srs_error_t SrsMp4M2tsInitEncoder::config_sample_description_encryption(SrsMp4Sa srs_error_t err = srs_success; bool is_video_sample = false; - SrsMp4BoxType original_type = box->type; + SrsMp4BoxType original_type = box->type_; if (original_type == SrsMp4BoxTypeAVC1 || original_type == SrsMp4BoxTypeHEV1) { - box->type = SrsMp4BoxTypeENCV; + box->type_ = SrsMp4BoxTypeENCV; is_video_sample = true; } else if (original_type == SrsMp4BoxTypeMP4A) { - box->type = SrsMp4BoxTypeENCA; + box->type_ = SrsMp4BoxTypeENCA; } else { return srs_error_new(ERROR_MP4_BOX_ILLEGAL_TYPE, "unknown sample type 0x%x to encrypt", original_type); } @@ -7543,20 +7543,20 @@ srs_error_t SrsMp4M2tsInitEncoder::config_sample_description_encryption(SrsMp4Sa sinf->set_frma(frma); SrsMp4SchemeTypeBox *schm = new SrsMp4SchemeTypeBox(); - schm->scheme_type = SrsMp4CENSchemeCBCS; - schm->scheme_version = 0x00010000; + schm->scheme_type_ = SrsMp4CENSchemeCBCS; + schm->scheme_version_ = 0x00010000; sinf->set_schm(schm); SrsMp4SchemeInfoBox *schi = new SrsMp4SchemeInfoBox(); SrsMp4TrackEncryptionBox *tenc = new SrsMp4TrackEncryptionBox(); - tenc->version = 1; - tenc->default_crypt_byte_block = is_video_sample ? crypt_byte_block_ : 0; - tenc->default_skip_byte_block = is_video_sample ? skip_byte_block_ : 0; - tenc->default_is_protected = 1; - tenc->default_per_sample_IV_size = 0; - tenc->default_constant_IV_size = iv_size_; - memcpy(tenc->default_constant_IV, iv_, iv_size_); - memcpy(tenc->default_KID, kid_, 16); + tenc->version_ = 1; + tenc->default_crypt_byte_block_ = is_video_sample ? crypt_byte_block_ : 0; + tenc->default_skip_byte_block_ = is_video_sample ? skip_byte_block_ : 0; + tenc->default_is_protected_ = 1; + tenc->default_per_sample_IV_size_ = 0; + tenc->default_constant_IV_size_ = iv_size_; + memcpy(tenc->default_constant_IV_, iv_, iv_size_); + memcpy(tenc->default_KID_, kid_, 16); schi->append(tenc); sinf->set_schi(schi); @@ -7566,42 +7566,42 @@ srs_error_t SrsMp4M2tsInitEncoder::config_sample_description_encryption(SrsMp4Sa SrsMp4M2tsSegmentEncoder::SrsMp4M2tsSegmentEncoder() { - writer = NULL; - nb_audios = nb_videos = 0; - samples = new SrsMp4SampleManager(); - sequence_number = 0; - decode_basetime = 0; - styp_bytes = 0; - mdat_bytes = 0; - track_id = 0; + writer_ = NULL; + nb_audios_ = nb_videos_ = 0; + samples_ = new SrsMp4SampleManager(); + sequence_number_ = 0; + decode_basetime_ = 0; + styp_bytes_ = 0; + mdat_bytes_ = 0; + track_id_ = 0; } SrsMp4M2tsSegmentEncoder::~SrsMp4M2tsSegmentEncoder() { - srs_freep(samples); + srs_freep(samples_); } srs_error_t SrsMp4M2tsSegmentEncoder::initialize(ISrsWriter *w, uint32_t sequence, srs_utime_t basetime, uint32_t tid) { srs_error_t err = srs_success; - writer = w; - track_id = tid; - sequence_number = sequence; - decode_basetime = basetime; + writer_ = w; + track_id_ = tid; + sequence_number_ = sequence; + decode_basetime_ = basetime; // Write styp box. if (true) { SrsUniquePtr styp(new SrsMp4SegmentTypeBox()); - styp->major_brand = SrsMp4BoxBrandMSDH; - styp->minor_version = 0; + styp->major_brand_ = SrsMp4BoxBrandMSDH; + styp->minor_version_ = 0; styp->set_compatible_brands(SrsMp4BoxBrandMSDH, SrsMp4BoxBrandMSIX); // Used for sidx to calcalute the referenced size. - styp_bytes = styp->nb_bytes(); + styp_bytes_ = styp->nb_bytes(); - if ((err = srs_mp4_write_box(writer, styp.get())) != srs_success) { + if ((err = srs_mp4_write_box(writer_, styp.get())) != srs_success) { return srs_error_wrap(err, "write styp"); } } @@ -7617,31 +7617,31 @@ srs_error_t SrsMp4M2tsSegmentEncoder::write_sample(SrsMp4HandlerType ht, SrsMp4Sample *ps = new SrsMp4Sample(); if (ht == SrsMp4HandlerTypeVIDE) { - ps->type = SrsFrameTypeVideo; - ps->frame_type = (SrsVideoAvcFrameType)ft; - ps->index = nb_videos++; + ps->type_ = SrsFrameTypeVideo; + ps->frame_type_ = (SrsVideoAvcFrameType)ft; + ps->index_ = nb_videos_++; } else if (ht == SrsMp4HandlerTypeSOUN) { - ps->type = SrsFrameTypeAudio; - ps->index = nb_audios++; + ps->type_ = SrsFrameTypeAudio; + ps->index_ = nb_audios_++; } else { srs_freep(ps); return err; } - ps->tbn = 1000; - ps->dts = dts; - ps->pts = pts; + ps->tbn_ = 1000; + ps->dts_ = dts; + ps->pts_ = pts; // We should copy the sample data, which is shared ptr from video/audio message. // Furthermore, we do free the data when freeing the sample. - ps->data = new uint8_t[nb_sample]; - memcpy(ps->data, sample, nb_sample); - ps->nb_data = nb_sample; + ps->data_ = new uint8_t[nb_sample]; + memcpy(ps->data_, sample, nb_sample); + ps->nb_data_ = nb_sample; // Append to manager to build the moof. - samples->append(ps); + samples_->append(ps); - mdat_bytes += nb_sample; + mdat_bytes_ += nb_sample; return err; } @@ -7650,29 +7650,29 @@ srs_error_t SrsMp4M2tsSegmentEncoder::flush(uint64_t &dts) { srs_error_t err = srs_success; - if (!nb_audios && !nb_videos) { + if (!nb_audios_ && !nb_videos_) { return srs_error_new(ERROR_MP4_ILLEGAL_MOOF, "Missing audio and video track"); } // Although the sidx is not required to start play DASH, but it's required for AV sync. SrsUniquePtr sidx(new SrsMp4SegmentIndexBox()); if (true) { - sidx->version = 1; - sidx->reference_id = 1; - sidx->timescale = 1000; - sidx->earliest_presentation_time = uint64_t(decode_basetime / sidx->timescale); + sidx->version_ = 1; + sidx->reference_id_ = 1; + sidx->timescale_ = 1000; + sidx->earliest_presentation_time_ = uint64_t(decode_basetime_ / sidx->timescale_); uint64_t duration = 0; - if (samples && !samples->samples.empty()) { - SrsMp4Sample *first = samples->samples[0]; - duration = srs_max(0, dts - first->dts); + if (samples_ && !samples_->samples_.empty()) { + SrsMp4Sample *first = samples_->samples_[0]; + duration = srs_max(0, dts - first->dts_); } SrsMp4SegmentIndexEntry entry; memset(&entry, 0, sizeof(entry)); - entry.subsegment_duration = duration; - entry.starts_with_SAP = 1; - sidx->entries.push_back(entry); + entry.subsegment_duration_ = duration; + entry.starts_with_SAP_ = 1; + sidx->entries_.push_back(entry); } // Create a mdat box. @@ -7687,7 +7687,7 @@ srs_error_t SrsMp4M2tsSegmentEncoder::flush(uint64_t &dts) SrsMp4MovieFragmentHeaderBox *mfhd = new SrsMp4MovieFragmentHeaderBox(); moof->set_mfhd(mfhd); - mfhd->sequence_number = sequence_number; + mfhd->sequence_number_ = sequence_number_; SrsMp4TrackFragmentBox *traf = new SrsMp4TrackFragmentBox(); moof->add_traf(traf); @@ -7695,35 +7695,35 @@ srs_error_t SrsMp4M2tsSegmentEncoder::flush(uint64_t &dts) SrsMp4TrackFragmentHeaderBox *tfhd = new SrsMp4TrackFragmentHeaderBox(); traf->set_tfhd(tfhd); - tfhd->track_id = track_id; - tfhd->flags = SrsMp4TfhdFlagsDefaultBaseIsMoof; + tfhd->track_id_ = track_id_; + tfhd->flags_ = SrsMp4TfhdFlagsDefaultBaseIsMoof; SrsMp4TrackFragmentDecodeTimeBox *tfdt = new SrsMp4TrackFragmentDecodeTimeBox(); traf->set_tfdt(tfdt); - tfdt->version = 1; - tfdt->base_media_decode_time = srsu2ms(decode_basetime); + tfdt->version_ = 1; + tfdt->base_media_decode_time_ = srsu2ms(decode_basetime_); SrsMp4TrackFragmentRunBox *trun = new SrsMp4TrackFragmentRunBox(); traf->set_trun(trun); - if ((err = samples->write(traf, dts)) != srs_success) { + if ((err = samples_->write(traf, dts)) != srs_success) { return srs_error_wrap(err, "write samples"); } // @remark Remember the data_offset of turn is size(moof)+header(mdat), not including styp or sidx. int moof_bytes = moof->nb_bytes(); - trun->data_offset = (int32_t)(moof_bytes + mdat->sz_header()); - mdat->nb_data = mdat_bytes; + trun->data_offset_ = (int32_t)(moof_bytes + mdat->sz_header()); + mdat->nb_data_ = mdat_bytes_; // Update the size of sidx. - SrsMp4SegmentIndexEntry *entry = &sidx->entries[0]; - entry->referenced_size = moof_bytes + mdat->nb_bytes(); - if ((err = srs_mp4_write_box(writer, sidx.get())) != srs_success) { + SrsMp4SegmentIndexEntry *entry = &sidx->entries_[0]; + entry->referenced_size_ = moof_bytes + mdat->nb_bytes(); + if ((err = srs_mp4_write_box(writer_, sidx.get())) != srs_success) { return srs_error_wrap(err, "write sidx"); } - if ((err = srs_mp4_write_box(writer, moof.get())) != srs_success) { + if ((err = srs_mp4_write_box(writer_, moof.get())) != srs_success) { return srs_error_wrap(err, "write moof"); } } @@ -7739,16 +7739,16 @@ srs_error_t SrsMp4M2tsSegmentEncoder::flush(uint64_t &dts) } // TODO: FIXME: Ensure all bytes are writen. - if ((err = writer->write(data.get(), nb_data, NULL)) != srs_success) { + if ((err = writer_->write(data.get(), nb_data, NULL)) != srs_success) { return srs_error_wrap(err, "write mdat"); } vector::iterator it; - for (it = samples->samples.begin(); it != samples->samples.end(); ++it) { + for (it = samples_->samples_.begin(); it != samples_->samples_.end(); ++it) { SrsMp4Sample *sample = *it; // TODO: FIXME: Ensure all bytes are writen. - if ((err = writer->write(sample->data, sample->nb_data, NULL)) != srs_success) { + if ((err = writer_->write(sample->data_, sample->nb_data_, NULL)) != srs_success) { return srs_error_wrap(err, "write sample"); } } @@ -7822,14 +7822,14 @@ srs_error_t SrsFmp4SegmentEncoder::write_sample(SrsMp4HandlerType ht, uint16_t f SrsMp4Sample *ps = new SrsMp4Sample(); if (ht == SrsMp4HandlerTypeVIDE) { - ps->type = SrsFrameTypeVideo; - ps->frame_type = (SrsVideoAvcFrameType)ft; - ps->index = nb_videos_++; + ps->type_ = SrsFrameTypeVideo; + ps->frame_type_ = (SrsVideoAvcFrameType)ft; + ps->index_ = nb_videos_++; video_samples_->append(ps); mdat_video_bytes_ += nb_sample; } else if (ht == SrsMp4HandlerTypeSOUN) { - ps->type = SrsFrameTypeAudio; - ps->index = nb_audios_++; + ps->type_ = SrsFrameTypeAudio; + ps->index_ = nb_audios_++; audio_samples_->append(ps); mdat_audio_bytes_ += nb_sample; } else { @@ -7837,15 +7837,15 @@ srs_error_t SrsFmp4SegmentEncoder::write_sample(SrsMp4HandlerType ht, uint16_t f return err; } - ps->tbn = 1000; - ps->dts = dts; - ps->pts = pts; + ps->tbn_ = 1000; + ps->dts_ = dts; + ps->pts_ = pts; // We should copy the sample data, which is shared ptr from video/audio message. // Furthermore, we do free the data when freeing the sample. - ps->data = new uint8_t[nb_sample]; - memcpy(ps->data, sample, nb_sample); - ps->nb_data = nb_sample; + ps->data_ = new uint8_t[nb_sample]; + memcpy(ps->data_, sample, nb_sample); + ps->nb_data_ = nb_sample; return err; } @@ -7868,7 +7868,7 @@ srs_error_t SrsFmp4SegmentEncoder::flush(uint64_t dts) SrsMp4MovieFragmentHeaderBox *mfhd = new SrsMp4MovieFragmentHeaderBox(); moof->set_mfhd(mfhd); - mfhd->sequence_number = sequence_number_; + mfhd->sequence_number_ = sequence_number_; // write video traf if (mdat_video_bytes_ > 0) { @@ -7879,14 +7879,14 @@ srs_error_t SrsFmp4SegmentEncoder::flush(uint64_t dts) SrsMp4TrackFragmentHeaderBox *tfhd = new SrsMp4TrackFragmentHeaderBox(); traf->set_tfhd(tfhd); - tfhd->track_id = video_track_id_; - tfhd->flags = SrsMp4TfhdFlagsDefaultBaseIsMoof; + tfhd->track_id_ = video_track_id_; + tfhd->flags_ = SrsMp4TfhdFlagsDefaultBaseIsMoof; SrsMp4TrackFragmentDecodeTimeBox *tfdt = new SrsMp4TrackFragmentDecodeTimeBox(); traf->set_tfdt(tfdt); - tfdt->version = 1; - tfdt->base_media_decode_time = srsu2ms(decode_basetime_); + tfdt->version_ = 1; + tfdt->base_media_decode_time_ = srsu2ms(decode_basetime_); SrsMp4TrackFragmentRunBox *trun = new SrsMp4TrackFragmentRunBox(); traf->set_trun(trun); @@ -7902,7 +7902,7 @@ srs_error_t SrsFmp4SegmentEncoder::flush(uint64_t dts) // video_samples_; vector::iterator it; // write video sample data - for (it = video_samples_->samples.begin(); it != video_samples_->samples.end(); ++it) { + for (it = video_samples_->samples_.begin(); it != video_samples_->samples_.end(); ++it) { // SrsMp4Sample* sample = *it; // TODO: parse hevc|avc, nalu slice header, and calculate // sample->data; @@ -7922,14 +7922,14 @@ srs_error_t SrsFmp4SegmentEncoder::flush(uint64_t dts) SrsMp4TrackFragmentHeaderBox *tfhd = new SrsMp4TrackFragmentHeaderBox(); traf->set_tfhd(tfhd); - tfhd->track_id = audio_track_id_; - tfhd->flags = SrsMp4TfhdFlagsDefaultBaseIsMoof; + tfhd->track_id_ = audio_track_id_; + tfhd->flags_ = SrsMp4TfhdFlagsDefaultBaseIsMoof; SrsMp4TrackFragmentDecodeTimeBox *tfdt = new SrsMp4TrackFragmentDecodeTimeBox(); traf->set_tfdt(tfdt); - tfdt->version = 1; - tfdt->base_media_decode_time = srsu2ms(decode_basetime_); + tfdt->version_ = 1; + tfdt->base_media_decode_time_ = srsu2ms(decode_basetime_); SrsMp4TrackFragmentRunBox *trun = new SrsMp4TrackFragmentRunBox(); traf->set_trun(trun); @@ -7951,11 +7951,11 @@ srs_error_t SrsFmp4SegmentEncoder::flush(uint64_t dts) int moof_bytes = moof->nb_bytes(); // rewrite video data_offset if (video_trun != NULL) { - video_trun->data_offset = (int32_t)(moof_bytes + mdat->sz_header() + 0); + video_trun->data_offset_ = (int32_t)(moof_bytes + mdat->sz_header() + 0); } if (audio_trun != NULL) { - audio_trun->data_offset = (int32_t)(moof_bytes + mdat->sz_header() + mdat_video_bytes_); + audio_trun->data_offset_ = (int32_t)(moof_bytes + mdat->sz_header() + mdat_video_bytes_); } // srs_trace("seq: %d, moof_bytes=%d, mdat->sz_header=%d", sequence_number_, moof->nb_bytes(), mdat->sz_header()); @@ -7965,7 +7965,7 @@ srs_error_t SrsFmp4SegmentEncoder::flush(uint64_t dts) return srs_error_wrap(err, "write moof"); } - mdat->nb_data = mdat_video_bytes_ + mdat_audio_bytes_; + mdat->nb_data_ = mdat_video_bytes_ + mdat_audio_bytes_; // Write mdat. if (true) { int nb_data = mdat->sz_header(); @@ -7983,23 +7983,23 @@ srs_error_t SrsFmp4SegmentEncoder::flush(uint64_t dts) vector::iterator it; // write video sample data - for (it = video_samples_->samples.begin(); it != video_samples_->samples.end(); ++it) { + for (it = video_samples_->samples_.begin(); it != video_samples_->samples_.end(); ++it) { SrsMp4Sample *sample = *it; // TODO: FIXME: Ensure all bytes are writen. // TODO: do cbcs encryption here. sample are nalu_length + nalu data. - if ((err = writer_->write(sample->data, sample->nb_data, NULL)) != srs_success) { + if ((err = writer_->write(sample->data_, sample->nb_data_, NULL)) != srs_success) { return srs_error_wrap(err, "write sample"); } } // write audio sample data - for (it = audio_samples_->samples.begin(); it != audio_samples_->samples.end(); ++it) { + for (it = audio_samples_->samples_.begin(); it != audio_samples_->samples_.end(); ++it) { SrsMp4Sample *sample = *it; // TODO: FIXME: Ensure all bytes are writen. // TODO: do cbcs encryption here - if ((err = writer_->write(sample->data, sample->nb_data, NULL)) != srs_success) { + if ((err = writer_->write(sample->data_, sample->nb_data_, NULL)) != srs_success) { return srs_error_wrap(err, "write sample"); } } diff --git a/trunk/src/kernel/srs_kernel_mp4.hpp b/trunk/src/kernel/srs_kernel_mp4.hpp index b1c903ae9..c56343319 100644 --- a/trunk/src/kernel/srs_kernel_mp4.hpp +++ b/trunk/src/kernel/srs_kernel_mp4.hpp @@ -164,8 +164,8 @@ enum SrsMp4BoxBrand { class SrsMp4DumpContext { public: - int level; - bool summary; + int level_; + bool summary_; SrsMp4DumpContext(); virtual ~SrsMp4DumpContext(); @@ -184,23 +184,23 @@ private: // if size is 1 then the actual size is in the field largesize; // if size is 0, then this box is the last one in the file, and its contents // extend to the end of the file (normally only used for a Media Data Box) - uint32_t smallsize; - uint64_t largesize; + uint32_t smallsize_; + uint64_t largesize_; public: // identifies the box type; standard boxes use a compact type, which is normally four printable // characters, to permit ease of identification, and is shown so in the boxes below. User extensions use // An extended type; in this case, the type field is set to ‘uuid’. - SrsMp4BoxType type; + SrsMp4BoxType type_; // For box 'uuid'. - std::vector usertype; + std::vector usertype_; protected: - std::vector boxes; + std::vector boxes_; private: // The position at buffer to start demux the box. - int start_pos; + int start_pos_; public: SrsMp4Box(); @@ -268,9 +268,9 @@ class SrsMp4FullBox : public SrsMp4Box { public: // An integer that specifies the version of this format of the box. - uint8_t version; + uint8_t version_; // A map of flags - uint32_t flags; + uint32_t flags_; public: SrsMp4FullBox(); @@ -295,13 +295,13 @@ class SrsMp4FileTypeBox : public SrsMp4Box { public: // A brand identifier - SrsMp4BoxBrand major_brand; + SrsMp4BoxBrand major_brand_; // An informative integer for the minor version of the major brand - uint32_t minor_version; + uint32_t minor_version_; private: // A list, to the end of the box, of brands - std::vector compatible_brands; + std::vector compatible_brands_; public: SrsMp4FileTypeBox(); @@ -364,7 +364,7 @@ class SrsMp4MovieFragmentHeaderBox : public SrsMp4FullBox { public: // The ordinal number of this fragment, in increasing order - uint32_t sequence_number; + uint32_t sequence_number_; public: SrsMp4MovieFragmentHeaderBox(); @@ -438,15 +438,15 @@ enum SrsMp4TfhdFlags { class SrsMp4TrackFragmentHeaderBox : public SrsMp4FullBox { public: - uint32_t track_id; + uint32_t track_id_; // all the following are optional fields public: // The base offset to use when calculating data offsets - uint64_t base_data_offset; - uint32_t sample_description_index; - uint32_t default_sample_duration; - uint32_t default_sample_size; - uint32_t default_sample_flags; + uint64_t base_data_offset_; + uint32_t sample_description_index_; + uint32_t default_sample_duration_; + uint32_t default_sample_size_; + uint32_t default_sample_flags_; public: SrsMp4TrackFragmentHeaderBox(); @@ -472,7 +472,7 @@ class SrsMp4TrackFragmentDecodeTimeBox : public SrsMp4FullBox { public: // It's in ms. - uint64_t base_media_decode_time; + uint64_t base_media_decode_time_; public: SrsMp4TrackFragmentDecodeTimeBox(); @@ -512,13 +512,13 @@ enum SrsMp4TrunFlags { class SrsMp4TrunEntry : public ISrsCodec { public: - SrsMp4FullBox *owner; + SrsMp4FullBox *owner_; - uint32_t sample_duration; - uint32_t sample_size; - uint32_t sample_flags; + uint32_t sample_duration_; + uint32_t sample_size_; + uint32_t sample_flags_; // if version == 0, unsigned int(32); otherwise, signed int(32). - int64_t sample_composition_time_offset; + int64_t sample_composition_time_offset_; SrsMp4TrunEntry(SrsMp4FullBox *o); virtual ~SrsMp4TrunEntry(); @@ -543,12 +543,12 @@ public: // The following are optional fields public: // added to the implicit or explicit data_offset established in the track fragment header. - int32_t data_offset; + int32_t data_offset_; // provides a set of flags for the first sample only of this run. - uint32_t first_sample_flags; + uint32_t first_sample_flags_; // all fields in the following array are optional public: - std::vector entries; + std::vector entries_; public: SrsMp4TrackFragmentRunBox(); @@ -612,7 +612,7 @@ class SrsMp4MediaDataBox : public SrsMp4Box { public: // The contained media data, which we never directly read/write it. - uint64_t nb_data; + uint64_t nb_data_; public: SrsMp4MediaDataBox(); @@ -642,7 +642,7 @@ public: class SrsMp4FreeSpaceBox : public SrsMp4Box { private: - std::vector data; + std::vector data_; public: SrsMp4FreeSpaceBox(SrsMp4BoxType v); @@ -698,37 +698,37 @@ class SrsMp4MovieHeaderBox : public SrsMp4FullBox public: // An integer that declares the creation time of the presentation (in seconds since // midnight, Jan. 1, 1904, in UTC time) - uint64_t creation_time; + uint64_t creation_time_; // An integer that declares the most recent time the presentation was modified (in // seconds since midnight, Jan. 1, 1904, in UTC time) - uint64_t modification_time; + uint64_t modification_time_; public: // An integer that specifies the time-scale for the entire presentation; this is the number of // time units that pass in one second. For example, a time coordinate system that measures time in // sixtieths of a second has a time scale of 60. - uint32_t timescale; + uint32_t timescale_; // An integer that declares length of the presentation (in the indicated timescale). This property // is derived from the presentation’s tracks: the value of this field corresponds to the duration of the // longest track in the presentation. If the duration cannot be determined then duration is set to all 1s. - uint64_t duration_in_tbn; + uint64_t duration_in_tbn_; public: // A fixed point 16.16 number that indicates the preferred rate to play the presentation; 1.0 // (0x00010000) is normal forward playback - uint32_t rate; + uint32_t rate_; // A fixed point 8.8 number that indicates the preferred playback volume. 1.0 (0x0100) is full volume. - uint16_t volume; - uint16_t reserved0; - uint64_t reserved1; + uint16_t volume_; + uint16_t reserved0_; + uint64_t reserved1_; // A transformation matrix for the video; (u,v,w) are restricted here to (0,0,1), hex values (0,0,0x40000000). - int32_t matrix[9]; - uint32_t pre_defined[6]; + int32_t matrix_[9]; + uint32_t pre_defined_[6]; // A non-zero integer that indicates a value to use for the track ID of the next track to be // added to this presentation. Zero is not a valid track ID value. The value of next_track_ID shall be // larger than the largest track-ID in use. If this value is equal to all 1s (32-bit maxint), and a new media // track is to be added, then a search must be made in the file for an unused track identifier. - uint32_t next_track_ID; + uint32_t next_track_ID_; public: SrsMp4MovieHeaderBox(); @@ -776,12 +776,12 @@ class SrsMp4TrackExtendsBox : public SrsMp4FullBox { public: // identifies the track; this shall be the track ID of a track in the Movie Box - uint32_t track_ID; + uint32_t track_ID_; // These fields set up defaults used in the track fragments. - uint32_t default_sample_description_index; - uint32_t default_sample_duration; - uint32_t default_sample_size; - uint32_t default_sample_flags; + uint32_t default_sample_description_index_; + uint32_t default_sample_duration_; + uint32_t default_sample_size_; + uint32_t default_sample_flags_; public: SrsMp4TrackExtendsBox(); @@ -869,47 +869,47 @@ class SrsMp4TrackHeaderBox : public SrsMp4FullBox public: // An integer that declares the creation time of the presentation (in seconds since // midnight, Jan. 1, 1904, in UTC time) - uint64_t creation_time; + uint64_t creation_time_; // An integer that declares the most recent time the presentation was modified (in // seconds since midnight, Jan. 1, 1904, in UTC time) - uint64_t modification_time; + uint64_t modification_time_; // An integer that uniquely identifies this track over the entire life-time of this presentation. // Track IDs are never re-used and cannot be zero. - uint32_t track_ID; - uint32_t reserved0; + uint32_t track_ID_; + uint32_t reserved0_; // An integer that indicates the duration of this track (in the timescale indicated in the Movie // Header Box). The value of this field is equal to the sum of the durations of all of the track’s edits. If // There is no edit list, then the duration is the sum of the sample durations, converted into the timescale // in the Movie Header Box. If the duration of this track cannot be determined then duration is set to all // 1s. - uint64_t duration; + uint64_t duration_; public: - uint64_t reserved1; + uint64_t reserved1_; // specifies the front-to-back ordering of video tracks; tracks with lower numbers are closer to the // viewer. 0 is the normal value, and -1 would be in front of track 0, and so on. - int16_t layer; + int16_t layer_; // An integer that specifies a group or collection of tracks. If this field is 0 there is no // information on possible relations to other tracks. If this field is not 0, it should be the same for tracks // that contain alternate data for one another and different for tracks belonging to different such groups. // Only one track within an alternate group should be played or streamed at any one time, and must be // distinguishable from other tracks in the group via attributes such as bitrate, codec, language, packet // size etc. A group may have only one member. - int16_t alternate_group; + int16_t alternate_group_; // A fixed 8.8 value specifying the track's relative audio volume. Full volume is 1.0 (0x0100) and // is the normal value. Its value is irrelevant for a purely visual track. Tracks may be composed by // combining them according to their volume, and then using the overall Movie Header Box volume // setting; or more complex audio composition (e.g. MPEG-4 BIFS) may be used. - int16_t volume; - uint16_t reserved2; + int16_t volume_; + uint16_t reserved2_; // A transformation matrix for the video; (u,v,w) are restricted here to (0,0,1), hex (0,0,0x40000000). - int32_t matrix[9]; + int32_t matrix_[9]; // The track's visual presentation size as fixed-point 16.16 values. These need // not be the same as the pixel dimensions of the images, which is documented in the sample // description(s); all images in the sequence are scaled to this size, before any overall transformation of // The track represented by the matrix. The pixel dimensions of the images are the default values. - int32_t width; - int32_t height; + int32_t width_; + int32_t height_; public: SrsMp4TrackHeaderBox(); @@ -946,19 +946,19 @@ class SrsMp4ElstEntry public: // An integer that specifies the duration of this edit segment in units of the timescale // in the Movie Header Box - uint64_t segment_duration; + uint64_t segment_duration_; // An integer containing the starting time within the media of this edit segment (in media time // scale units, in composition time). If this field is set to –1, it is an empty edit. The last edit in a track // shall never be an empty edit. Any difference between the duration in the Movie Header Box, and the // track’s duration is expressed as an implicit empty edit at the end. - int64_t media_time; + int64_t media_time_; public: // specifies the relative rate at which to play the media corresponding to this edit segment. If this value is 0, // Then the edit is specifying a ‘dwell’: the media at media-time is presented for the segment-duration. Otherwise // this field shall contain the value 1. - int16_t media_rate_integer; - int16_t media_rate_fraction; + int16_t media_rate_integer_; + int16_t media_rate_fraction_; public: SrsMp4ElstEntry(); @@ -979,7 +979,7 @@ class SrsMp4EditListBox : public SrsMp4FullBox { public: // An integer that gives the number of entries in the following table - std::vector entries; + std::vector entries_; public: SrsMp4EditListBox(); @@ -1029,25 +1029,25 @@ class SrsMp4MediaHeaderBox : public SrsMp4FullBox public: // An integer that declares the creation time of the presentation (in seconds since // midnight, Jan. 1, 1904, in UTC time) - uint64_t creation_time; + uint64_t creation_time_; // An integer that declares the most recent time the presentation was modified (in // seconds since midnight, Jan. 1, 1904, in UTC time) - uint64_t modification_time; + uint64_t modification_time_; // An integer that specifies the time-scale for the entire presentation; this is the number of // time units that pass in one second. For example, a time coordinate system that measures time in // sixtieths of a second has a time scale of 60. - uint32_t timescale; + uint32_t timescale_; // An integer that declares length of the presentation (in the indicated timescale). This property // is derived from the presentation’s tracks: the value of this field corresponds to the duration of the // longest track in the presentation. If the duration cannot be determined then duration is set to all 1s. - uint64_t duration; + uint64_t duration_; private: // The language code for this media. See ISO 639-2/T for the set of three character // codes. Each character is packed as the difference between its ASCII value and 0x60. Since the code // is confined to being three lower-case letters, these values are strictly positive. - uint16_t language; - uint16_t pre_defined; + uint16_t language_; + uint16_t pre_defined_; public: SrsMp4MediaHeaderBox(); @@ -1083,15 +1083,15 @@ public: class SrsMp4HandlerReferenceBox : public SrsMp4FullBox { public: - uint32_t pre_defined; + uint32_t pre_defined_; // An integer containing one of the following values, or a value from a derived specification: // ‘vide’, Video track // ‘soun’, Audio track - SrsMp4HandlerType handler_type; - uint32_t reserved[3]; + SrsMp4HandlerType handler_type_; + uint32_t reserved_[3]; // A null-terminated string in UTF-8 characters which gives a human-readable name for the track // type (for debugging and inspection purposes). - std::string name; + std::string name_; public: SrsMp4HandlerReferenceBox(); @@ -1144,9 +1144,9 @@ public: // A composition mode for this video track, from the following enumerated set, // which may be extended by derived specifications: // copy = 0 copy over the existing image - uint16_t graphicsmode; + uint16_t graphicsmode_; // A set of 3 colour values (red, green, blue) available for use by graphics modes - uint16_t opcolor[3]; + uint16_t opcolor_[3]; public: SrsMp4VideoMeidaHeaderBox(); @@ -1167,8 +1167,8 @@ class SrsMp4SoundMeidaHeaderBox : public SrsMp4FullBox public: // A fixed-point 8.8 number that places mono audio tracks in a stereo space; 0 is centre (the // normal value); full left is -1.0 and full right is 1.0. - int16_t balance; - uint16_t reserved; + int16_t balance_; + uint16_t reserved_; public: SrsMp4SoundMeidaHeaderBox(); @@ -1202,7 +1202,7 @@ public: class SrsMp4DataEntryBox : public SrsMp4FullBox { public: - std::string location; + std::string location_; public: SrsMp4DataEntryBox(); @@ -1234,7 +1234,7 @@ public: class SrsMp4DataEntryUrnBox : public SrsMp4DataEntryBox { public: - std::string name; + std::string name_; public: SrsMp4DataEntryUrnBox(); @@ -1257,7 +1257,7 @@ public: class SrsMp4DataReferenceBox : public SrsMp4FullBox { private: - std::vector entries; + std::vector entries_; public: SrsMp4DataReferenceBox(); @@ -1330,7 +1330,7 @@ public: // An integer that contains the index of the data reference to use to retrieve // data associated with samples that use this sample description. Data references are stored in Data // Reference Boxes. The index ranges from 1 to the number of data references. - uint16_t data_reference_index; + uint16_t data_reference_index_; public: SrsMp4SampleEntry(); @@ -1350,27 +1350,27 @@ public: class SrsMp4VisualSampleEntry : public SrsMp4SampleEntry { public: - uint16_t pre_defined0; - uint16_t reserved0; - uint32_t pre_defined1[3]; + uint16_t pre_defined0_; + uint16_t reserved0_; + uint32_t pre_defined1_[3]; // The maximum visual width and height of the stream described by this sample // description, in pixels - uint16_t width; - uint16_t height; - uint32_t horizresolution; - uint32_t vertresolution; - uint32_t reserved1; + uint16_t width_; + uint16_t height_; + uint32_t horizresolution_; + uint32_t vertresolution_; + uint32_t reserved1_; // how many frames of compressed video are stored in each sample. The default is // 1, for one frame per sample; it may be more than 1 for multiple frames per sample - uint16_t frame_count; + uint16_t frame_count_; // A name, for informative purposes. It is formatted in a fixed 32-byte field, with the first // byte set to the number of bytes to be displayed, followed by that number of bytes of displayable data, // And then padding to complete 32 bytes total (including the size byte). The field may be set to 0. - char compressorname[32]; + char compressorname_[32]; // one of the following values // 0x0018 – images are in colour with no alpha - uint16_t depth; - int16_t pre_defined2; + uint16_t depth_; + int16_t pre_defined2_; public: SrsMp4VisualSampleEntry(SrsMp4BoxType boxType); @@ -1400,7 +1400,7 @@ public: class SrsMp4AvccBox : public SrsMp4Box { public: - std::vector avc_config; + std::vector avc_config_; public: SrsMp4AvccBox(); @@ -1420,7 +1420,7 @@ public: class SrsMp4HvcCBox : public SrsMp4Box { public: - std::vector hevc_config; + std::vector hevc_config_; public: SrsMp4HvcCBox(); @@ -1440,12 +1440,12 @@ public: class SrsMp4AudioSampleEntry : public SrsMp4SampleEntry { public: - uint64_t reserved0; - uint16_t channelcount; - uint16_t samplesize; - uint16_t pre_defined0; - uint16_t reserved1; - uint32_t samplerate; + uint64_t reserved0_; + uint16_t channelcount_; + uint16_t samplesize_; + uint16_t pre_defined0_; + uint16_t reserved1_; + uint32_t samplerate_; public: SrsMp4AudioSampleEntry(); @@ -1543,7 +1543,7 @@ class SrsMp4DecoderSpecificInfo : public SrsMp4BaseDescriptor public: // AAC Audio Specific Config. // 1.6.2.1 AudioSpecificConfig, in ISO_IEC_14496-3-AAC-2001.pdf, page 33. - std::vector asc; + std::vector asc_; public: SrsMp4DecoderSpecificInfo(); @@ -1569,10 +1569,10 @@ public: SrsMp4StreamType streamType; // bit(6) uint8_t upStream; // bit(1) uint8_t reserved; // bit(1) - uint32_t bufferSizeDB; // bit(24) - uint32_t maxBitrate; - uint32_t avgBitrate; - SrsMp4DecoderSpecificInfo *decSpecificInfo; // optional. + uint32_t bufferSizeDB_; // bit(24) + uint32_t maxBitrate_; + uint32_t avgBitrate_; + SrsMp4DecoderSpecificInfo *decSpecificInfo_; // optional. public: SrsMp4DecoderConfigDescriptor(); virtual ~SrsMp4DecoderConfigDescriptor(); @@ -1591,7 +1591,7 @@ public: class SrsMp4SLConfigDescriptor : public SrsMp4BaseDescriptor { public: - uint8_t predefined; + uint8_t predefined_; public: SrsMp4SLConfigDescriptor(); @@ -1608,19 +1608,19 @@ protected: class SrsMp4ES_Descriptor : public SrsMp4BaseDescriptor { public: - uint16_t ES_ID; - uint8_t streamDependenceFlag; // bit(1) - uint8_t URL_Flag; // bit(1) - uint8_t OCRstreamFlag; // bit(1) - uint8_t streamPriority; // bit(5) + uint16_t ES_ID_; + uint8_t streamDependenceFlag_; // bit(1) + uint8_t URL_Flag_; // bit(1) + uint8_t OCRstreamFlag_; // bit(1) + uint8_t streamPriority_; // bit(5) // if (streamDependenceFlag) - uint16_t dependsOn_ES_ID; + uint16_t dependsOn_ES_ID_; // if (URL_Flag) - std::vector URLstring; + std::vector URLstring_; // if (OCRstreamFlag) - uint16_t OCR_ES_Id; - SrsMp4DecoderConfigDescriptor decConfigDescr; - SrsMp4SLConfigDescriptor slConfigDescr; + uint16_t OCR_ES_Id_; + SrsMp4DecoderConfigDescriptor decConfigDescr_; + SrsMp4SLConfigDescriptor slConfigDescr_; public: SrsMp4ES_Descriptor(); @@ -1668,7 +1668,7 @@ public: class SrsMp4SampleDescriptionBox : public SrsMp4FullBox { private: - std::vector entries; + std::vector entries_; public: SrsMp4SampleDescriptionBox(); @@ -1703,9 +1703,9 @@ class SrsMp4SttsEntry public: // An integer that counts the number of consecutive samples that have the given // duration. - uint32_t sample_count; + uint32_t sample_count_; // An integer that gives the delta of these samples in the time-scale of the media. - uint32_t sample_delta; + uint32_t sample_delta_; // Constructor SrsMp4SttsEntry(); virtual ~SrsMp4SttsEntry(); @@ -1724,12 +1724,12 @@ class SrsMp4DecodingTime2SampleBox : public SrsMp4FullBox { public: // An integer that gives the number of entries in the following table. - std::vector entries; + std::vector entries_; private: // The index for counter to calc the dts for samples. - uint32_t index; - uint32_t count; + uint32_t index_; + uint32_t count_; public: SrsMp4DecodingTime2SampleBox(); @@ -1757,12 +1757,12 @@ class SrsMp4CttsEntry { public: // An integer that counts the number of consecutive samples that have the given offset. - uint32_t sample_count; + uint32_t sample_count_; // uint32_t for version=0 // int32_t for version=1 // An integer that gives the offset between CT and DT, such that CT(n) = DT(n) + // CTTS(n). - int64_t sample_offset; + int64_t sample_offset_; // Constructor SrsMp4CttsEntry(); virtual ~SrsMp4CttsEntry(); @@ -1784,12 +1784,12 @@ class SrsMp4CompositionTime2SampleBox : public SrsMp4FullBox { public: // An integer that gives the number of entries in the following table. - std::vector entries; + std::vector entries_; private: // The index for counter to calc the dts for samples. - uint32_t index; - uint32_t count; + uint32_t index_; + uint32_t count_; public: SrsMp4CompositionTime2SampleBox(); @@ -1819,9 +1819,9 @@ class SrsMp4SyncSampleBox : public SrsMp4FullBox public: // An integer that gives the number of entries in the following table. If entry_count is zero, // There are no sync samples within the stream and the following table is empty. - uint32_t entry_count; + uint32_t entry_count_; // The numbers of the samples that are sync samples in the stream. - uint32_t *sample_numbers; + uint32_t *sample_numbers_; public: SrsMp4SyncSampleBox(); @@ -1849,13 +1849,13 @@ public: // same samples-per-chunk and sample-description-index; the index of the first chunk in a track has the // value 1 (the first_chunk field in the first record of this box has the value 1, identifying that the first // sample maps to the first chunk). - uint32_t first_chunk; + uint32_t first_chunk_; // An integer that gives the number of samples in each of these chunks - uint32_t samples_per_chunk; + uint32_t samples_per_chunk_; // An integer that gives the index of the sample entry that describes the // samples in this chunk. The index ranges from 1 to the number of sample entries in the Sample // Description Box - uint32_t sample_description_index; + uint32_t sample_description_index_; // Constructor SrsMp4StscEntry(); @@ -1872,13 +1872,13 @@ class SrsMp4Sample2ChunkBox : public SrsMp4FullBox { public: // An integer that gives the number of entries in the following table - uint32_t entry_count; + uint32_t entry_count_; // The numbers of the samples that are sync samples in the stream. - SrsMp4StscEntry *entries; + SrsMp4StscEntry *entries_; private: // The index for counter to calc the dts for samples. - uint32_t index; + uint32_t index_; public: SrsMp4Sample2ChunkBox(); @@ -1908,10 +1908,10 @@ class SrsMp4ChunkOffsetBox : public SrsMp4FullBox { public: // An integer that gives the number of entries in the following table - uint32_t entry_count; + uint32_t entry_count_; // A 32 bit integer that gives the offset of the start of a chunk into its containing // media file. - uint32_t *entries; + uint32_t *entries_; public: SrsMp4ChunkOffsetBox(); @@ -1935,10 +1935,10 @@ class SrsMp4ChunkLargeOffsetBox : public SrsMp4FullBox { public: // An integer that gives the number of entries in the following table - uint32_t entry_count; + uint32_t entry_count_; // A 64 bit integer that gives the offset of the start of a chunk into its containing // media file. - uint64_t *entries; + uint64_t *entries_; public: SrsMp4ChunkLargeOffsetBox(); @@ -1964,12 +1964,12 @@ public: // contains that size value. If this field is set to 0, then the samples have different sizes, and those sizes // are stored in the sample size table. If this field is not 0, it specifies the constant sample size, and no // array follows. - uint32_t sample_size; + uint32_t sample_size_; // An integer that gives the number of samples in the track; if sample-size is 0, then it is // also the number of entries in the following table. - uint32_t sample_count; + uint32_t sample_count_; // Each entry_size is an integer specifying the size of a sample, indexed by its number. - uint32_t *entry_sizes; + uint32_t *entry_sizes_; public: SrsMp4SampleSizeBox(); @@ -1995,7 +1995,7 @@ public: class SrsMp4UserDataBox : public SrsMp4Box { public: - std::vector data; + std::vector data_; public: SrsMp4UserDataBox(); @@ -2013,12 +2013,12 @@ public: // The entry for SegmentIndexBox(sidx) for MPEG-DASH. // @doc https://patches.videolan.org/patch/103/ struct SrsMp4SegmentIndexEntry { - uint8_t reference_type; // 1bit - uint32_t referenced_size; // 31bits - uint32_t subsegment_duration; // 32bits - uint8_t starts_with_SAP; // 1bit - uint8_t SAP_type; // 3bits - uint32_t SAP_delta_time; // 28bits + uint8_t reference_type_; // 1bit + uint32_t referenced_size_; // 31bits + uint32_t subsegment_duration_; // 32bits + uint8_t starts_with_SAP_; // 1bit + uint8_t SAP_type_; // 3bits + uint32_t SAP_delta_time_; // 28bits }; // The SegmentIndexBox(sidx) for MPEG-DASH. @@ -2028,13 +2028,13 @@ struct SrsMp4SegmentIndexEntry { class SrsMp4SegmentIndexBox : public SrsMp4Box { public: - uint8_t version; - uint32_t flags; - uint32_t reference_id; - uint32_t timescale; - uint64_t earliest_presentation_time; - uint64_t first_offset; - std::vector entries; + uint8_t version_; + uint32_t flags_; + uint32_t reference_id_; + uint32_t timescale_; + uint64_t earliest_presentation_time_; + uint64_t first_offset_; + std::vector entries_; public: SrsMp4SegmentIndexBox(); @@ -2068,12 +2068,12 @@ public: class SrsMp4SampleAuxiliaryInfoSizeBox : public SrsMp4FullBox { public: - uint32_t aux_info_type; - uint32_t aux_info_type_parameter; + uint32_t aux_info_type_; + uint32_t aux_info_type_parameter_; - uint8_t default_sample_info_size; - uint32_t sample_count; - std::vector sample_info_sizes; + uint8_t default_sample_info_size_; + uint32_t sample_count_; + std::vector sample_info_sizes_; public: SrsMp4SampleAuxiliaryInfoSizeBox(); @@ -2108,10 +2108,10 @@ public: class SrsMp4SampleAuxiliaryInfoOffsetBox : public SrsMp4FullBox { public: - uint32_t aux_info_type; - uint32_t aux_info_type_parameter; + uint32_t aux_info_type_; + uint32_t aux_info_type_parameter_; // uint32_t entry_count; - std::vector offsets; + std::vector offsets_; public: SrsMp4SampleAuxiliaryInfoOffsetBox(); @@ -2132,8 +2132,8 @@ enum SrsMp4CencSampleEncryptionFlags { }; struct SrsMp4SubSampleEncryptionInfo : public ISrsCodec { - uint16_t bytes_of_clear_data; - uint32_t bytes_of_protected_data; + uint16_t bytes_of_clear_data_; + uint32_t bytes_of_protected_data_; SrsMp4SubSampleEncryptionInfo(); virtual ~SrsMp4SubSampleEncryptionInfo(); @@ -2149,7 +2149,7 @@ class SrsMp4SampleEncryptionEntry : public ISrsCodec { public: // if flags && 0x02 - std::vector subsample_infos; + std::vector subsample_infos_; public: SrsMp4SampleEncryptionEntry(SrsMp4FullBox *senc, uint8_t per_sample_iv_size); @@ -2193,7 +2193,7 @@ private: class SrsMp4SampleEncryptionBox : public SrsMp4FullBox { public: - std::vector entries; + std::vector entries_; private: uint8_t per_sample_iv_size_; @@ -2251,10 +2251,10 @@ public: class SrsMp4SchemeTypeBox : public SrsMp4FullBox { public: - uint32_t scheme_type; - uint32_t scheme_version; - char scheme_uri[SCHM_SCHEME_URI_MAX_SIZE]; - uint32_t scheme_uri_size; + uint32_t scheme_type_; + uint32_t scheme_version_; + char scheme_uri_[SCHM_SCHEME_URI_MAX_SIZE]; + uint32_t scheme_uri_size_; public: SrsMp4SchemeTypeBox(); @@ -2370,15 +2370,15 @@ public: class SrsMp4TrackEncryptionBox : public SrsMp4FullBox { public: - uint8_t reserved; - uint8_t reserved_2; - uint8_t default_crypt_byte_block; - uint8_t default_skip_byte_block; - uint8_t default_is_protected; - uint8_t default_per_sample_IV_size; - uint8_t default_KID[16]; - uint8_t default_constant_IV_size; - uint8_t default_constant_IV[16]; + uint8_t reserved_; + uint8_t reserved_2_; + uint8_t default_crypt_byte_block_; + uint8_t default_skip_byte_block_; + uint8_t default_is_protected_; + uint8_t default_per_sample_IV_size_; + uint8_t default_KID_[16]; + uint8_t default_constant_IV_size_; + uint8_t default_constant_IV_[16]; public: SrsMp4TrackEncryptionBox(); @@ -2403,25 +2403,25 @@ class SrsMp4Sample { public: // The type of sample, audio or video. - SrsFrameType type; + SrsFrameType type_; // The offset of sample in file. - off_t offset; + off_t offset_; // The index of sample with a track, start from 0. - uint32_t index; + uint32_t index_; // The dts in tbn. - uint64_t dts; + uint64_t dts_; // For video, the pts in tbn. - uint64_t pts; + uint64_t pts_; // The tbn(timebase). - uint32_t tbn; + uint32_t tbn_; // For video, the frame type, whether keyframe. - SrsVideoAvcFrameType frame_type; + SrsVideoAvcFrameType frame_type_; // The adjust timestamp in milliseconds. // For example, we can adjust a timestamp for A/V to monotonically increase. - int32_t adjust; + int32_t adjust_; // The sample data. - uint32_t nb_data; - uint8_t *data; + uint32_t nb_data_; + uint8_t *data_; public: SrsMp4Sample(); @@ -2477,7 +2477,7 @@ private: SrsMp4DvrJitter *jitter_; // MP4 A/V sync jitter handler public: - std::vector samples; + std::vector samples_; public: SrsMp4SampleManager(); @@ -2518,9 +2518,9 @@ private: class SrsMp4BoxReader { private: - ISrsReadSeeker *rsio; + ISrsReadSeeker *rsio_; // The temporary buffer to read from buffer. - char *buf; + char *buf_; public: SrsMp4BoxReader(); @@ -2546,51 +2546,51 @@ class SrsMp4Decoder { private: // The major brand of decoder, parse from ftyp. - SrsMp4BoxBrand brand; + SrsMp4BoxBrand brand_; // The samples build from moov. - SrsMp4SampleManager *samples; + SrsMp4SampleManager *samples_; // The current written sample information. - uint32_t current_index; - off_t current_offset; + uint32_t current_index_; + off_t current_offset_; public: // The video codec of first track, generally there is zero or one track. // Forbidden if no video stream. // TODO: FIXME: Use SrsFormat instead. - SrsVideoCodecId vcodec; + SrsVideoCodecId vcodec_; private: // For H.264/AVC, the avcc contains the sps/pps. - std::vector pavcc; + std::vector pavcc_; // Whether avcc is written to reader. - bool avcc_written; + bool avcc_written_; public: // The audio codec of first track, generally there is zero or one track. // Forbidden if no audio stream. - SrsAudioCodecId acodec; + SrsAudioCodecId acodec_; // The audio sample rate. - SrsAudioSampleRate sample_rate; + SrsAudioSampleRate sample_rate_; // The audio sound bits. - SrsAudioSampleBits sound_bits; + SrsAudioSampleBits sound_bits_; // The audio sound type. - SrsAudioChannels channels; + SrsAudioChannels channels_; private: // For AAC, the asc in esds box. - std::vector pasc; + std::vector pasc_; // Whether asc is written to reader. - bool asc_written; + bool asc_written_; private: // Underlayer reader and seeker. // @remark The demuxer must use seeker for general MP4 to seek the moov. - ISrsReadSeeker *rsio; + ISrsReadSeeker *rsio_; // The MP4 box reader. - SrsMp4BoxReader *br; + SrsMp4BoxReader *br_; // The stream used to demux the boxes. // TODO: FIXME: refine for performance issue. - SrsSimpleStream *stream; + SrsSimpleStream *stream_; public: SrsMp4Decoder(); @@ -2628,50 +2628,50 @@ private: class SrsMp4Encoder { private: - ISrsWriteSeeker *wsio; + ISrsWriteSeeker *wsio_; // The mdat offset at file, we must update the header when flush. - off_t mdat_offset; + off_t mdat_offset_; // The mdat size in bytes, we must update it to the mdat box header. - uint64_t mdat_bytes; + uint64_t mdat_bytes_; // The samples build from moov. - SrsMp4SampleManager *samples; + SrsMp4SampleManager *samples_; public: // The audio codec of first track, generally there is zero or one track. // Forbidden if no audio stream. - SrsAudioCodecId acodec; + SrsAudioCodecId acodec_; // The audio sample rate. - SrsAudioSampleRate sample_rate; + SrsAudioSampleRate sample_rate_; // The audio sound bits. - SrsAudioSampleBits sound_bits; + SrsAudioSampleBits sound_bits_; // The audio sound type. - SrsAudioChannels channels; + SrsAudioChannels channels_; private: // For AAC, the asc in esds box. - std::vector pasc; + std::vector pasc_; // The number of audio samples. - uint32_t nb_audios; + uint32_t nb_audios_; // The duration of audio stream. - uint64_t aduration; + uint64_t aduration_; public: // The video codec of first track, generally there is zero or one track. // Forbidden if no video stream. - SrsVideoCodecId vcodec; + SrsVideoCodecId vcodec_; private: // For H.264/AVC, the avcc contains the sps/pps. - std::vector pavcc; + std::vector pavcc_; // For H.265/HEVC, the hvcC contains the vps/sps/pps. - std::vector phvcc; + std::vector phvcc_; // The number of video samples. - uint32_t nb_videos; + uint32_t nb_videos_; // The duration of video stream. - uint64_t vduration; + uint64_t vduration_; // The size width/height of video. - uint32_t width; - uint32_t height; + uint32_t width_; + uint32_t height_; public: SrsMp4Encoder(); @@ -2705,7 +2705,7 @@ private: class SrsMp4M2tsInitEncoder { private: - ISrsWriter *writer; + ISrsWriter *writer_; private: uint8_t crypt_byte_block_; @@ -2766,17 +2766,17 @@ private: class SrsMp4M2tsSegmentEncoder { private: - ISrsWriter *writer; - uint32_t sequence_number; - srs_utime_t decode_basetime; - uint32_t track_id; + ISrsWriter *writer_; + uint32_t sequence_number_; + srs_utime_t decode_basetime_; + uint32_t track_id_; private: - uint32_t nb_audios; - uint32_t nb_videos; - uint32_t styp_bytes; - uint64_t mdat_bytes; - SrsMp4SampleManager *samples; + uint32_t nb_audios_; + uint32_t nb_videos_; + uint32_t styp_bytes_; + uint64_t mdat_bytes_; + SrsMp4SampleManager *samples_; public: SrsMp4M2tsSegmentEncoder(); @@ -2875,7 +2875,7 @@ std::stringstream &srs_dumps_array(std::vector &arr, std::stringstream &ss, S void (*delimiter)(std::stringstream &, SrsMp4DumpContext)) { int limit = arr.size(); - if (dc.summary) { + if (dc.summary_) { limit = srs_min(SrsMp4SummaryCount, limit); } @@ -2898,7 +2898,7 @@ std::stringstream &srs_dumps_array(T *arr, int size, std::stringstream &ss, SrsM void (*delimiter)(std::stringstream &, SrsMp4DumpContext)) { int limit = size; - if (dc.summary) { + if (dc.summary_) { limit = srs_min(SrsMp4SummaryCount, limit); } diff --git a/trunk/src/kernel/srs_kernel_packet.cpp b/trunk/src/kernel/srs_kernel_packet.cpp index 219cd3177..28e41c767 100644 --- a/trunk/src/kernel/srs_kernel_packet.cpp +++ b/trunk/src/kernel/srs_kernel_packet.cpp @@ -15,14 +15,14 @@ using namespace std; SrsNaluSample::SrsNaluSample() { - size = 0; - bytes = NULL; + size_ = 0; + bytes_ = NULL; } SrsNaluSample::SrsNaluSample(char *b, int s) { - size = s; - bytes = b; + size_ = s; + bytes_ = b; } SrsNaluSample::~SrsNaluSample() @@ -32,19 +32,19 @@ SrsNaluSample::~SrsNaluSample() SrsNaluSample *SrsNaluSample::copy() { SrsNaluSample *p = new SrsNaluSample(); - p->bytes = bytes; - p->size = size; + p->bytes_ = bytes_; + p->size_ = size_; return p; } SrsMediaPacket::SrsMediaPacket() { - timestamp = 0; - stream_id = 0; - message_type = SrsFrameTypeForbidden; + timestamp_ = 0; + stream_id_ = 0; + message_type_ = SrsFrameTypeForbidden; payload_ = SrsSharedPtr(NULL); - ++_srs_pps_objs_msgs->sugar; + ++_srs_pps_objs_msgs->sugar_; } SrsMediaPacket::~SrsMediaPacket() @@ -67,36 +67,36 @@ bool SrsMediaPacket::check(int stream_id) } // we assume that the stream_id in a group must be the same. - if (this->stream_id == stream_id) { + if (this->stream_id_ == stream_id) { return true; } - this->stream_id = stream_id; + this->stream_id_ = stream_id; return false; } bool SrsMediaPacket::is_av() { - return message_type == SrsFrameTypeAudio || message_type == SrsFrameTypeVideo; + return message_type_ == SrsFrameTypeAudio || message_type_ == SrsFrameTypeVideo; } bool SrsMediaPacket::is_audio() { - return message_type == SrsFrameTypeAudio; + return message_type_ == SrsFrameTypeAudio; } bool SrsMediaPacket::is_video() { - return message_type == SrsFrameTypeVideo; + return message_type_ == SrsFrameTypeVideo; } SrsMediaPacket *SrsMediaPacket::copy() { SrsMediaPacket *copy = new SrsMediaPacket(); - copy->timestamp = timestamp; - copy->stream_id = stream_id; - copy->message_type = message_type; + copy->timestamp_ = timestamp_; + copy->stream_id_ = stream_id_; + copy->message_type_ = message_type_; copy->payload_ = payload_; return copy; @@ -104,10 +104,10 @@ SrsMediaPacket *SrsMediaPacket::copy() SrsParsedPacket::SrsParsedPacket() { - codec = NULL; - nb_samples = 0; - dts = 0; - cts = 0; + codec_ = NULL; + nb_samples_ = 0; + dts_ = 0; + cts_ = 0; } SrsParsedPacket::~SrsParsedPacket() @@ -116,10 +116,10 @@ SrsParsedPacket::~SrsParsedPacket() srs_error_t SrsParsedPacket::initialize(SrsCodecConfig *c) { - codec = c; - nb_samples = 0; - dts = 0; - cts = 0; + codec_ = c; + nb_samples_ = 0; + dts_ = 0; + cts_ = 0; return srs_success; } @@ -131,20 +131,20 @@ srs_error_t SrsParsedPacket::add_sample(char *bytes, int size) if (!bytes || size <= 0) return err; - if (nb_samples >= SrsMaxNbSamples) { + if (nb_samples_ >= SrsMaxNbSamples) { return srs_error_new(ERROR_HLS_DECODE_ERROR, "Frame samples overflow"); } - SrsNaluSample *sample = &samples[nb_samples++]; - sample->bytes = bytes; - sample->size = size; + SrsNaluSample *sample = &samples_[nb_samples_++]; + sample->bytes_ = bytes; + sample->size_ = size; return err; } SrsParsedAudioPacket::SrsParsedAudioPacket() { - aac_packet_type = SrsAudioAacFrameTraitForbidden; + aac_packet_type_ = SrsAudioAacFrameTraitForbidden; } SrsParsedAudioPacket::~SrsParsedAudioPacket() @@ -153,15 +153,15 @@ SrsParsedAudioPacket::~SrsParsedAudioPacket() SrsAudioCodecConfig *SrsParsedAudioPacket::acodec() { - return (SrsAudioCodecConfig *)codec; + return (SrsAudioCodecConfig *)codec_; } SrsParsedVideoPacket::SrsParsedVideoPacket() { - frame_type = SrsVideoAvcFrameTypeForbidden; - avc_packet_type = SrsVideoAvcFrameTraitForbidden; - has_idr = has_aud = has_sps_pps = false; - first_nalu_type = SrsAvcNaluTypeForbidden; + frame_type_ = SrsVideoAvcFrameTypeForbidden; + avc_packet_type_ = SrsVideoAvcFrameTraitForbidden; + has_idr_ = has_aud_ = has_sps_pps_ = false; + first_nalu_type_ = SrsAvcNaluTypeForbidden; } SrsParsedVideoPacket::~SrsParsedVideoPacket() @@ -170,8 +170,8 @@ SrsParsedVideoPacket::~SrsParsedVideoPacket() srs_error_t SrsParsedVideoPacket::initialize(SrsCodecConfig *c) { - first_nalu_type = SrsAvcNaluTypeForbidden; - has_idr = has_sps_pps = has_aud = false; + first_nalu_type_ = SrsAvcNaluTypeForbidden; + has_idr_ = has_sps_pps_ = has_aud_ = false; return SrsParsedPacket::initialize(c); } @@ -188,9 +188,9 @@ srs_error_t SrsParsedVideoPacket::add_sample(char *bytes, int size) return err; // For HEVC(H.265), try to parse the IDR from NALUs. - if (c && c->id == SrsVideoCodecIdHEVC) { + if (c && c->id_ == SrsVideoCodecIdHEVC) { SrsHevcNaluType nalu_type = SrsHevcNaluTypeParse(bytes[0]); - has_idr = SrsIsIRAP(nalu_type); + has_idr_ = SrsIsIRAP(nalu_type); return err; } @@ -199,15 +199,15 @@ srs_error_t SrsParsedVideoPacket::add_sample(char *bytes, int size) SrsAvcNaluType nal_unit_type = SrsAvcNaluTypeParse(bytes[0]); if (nal_unit_type == SrsAvcNaluTypeIDR) { - has_idr = true; + has_idr_ = true; } else if (nal_unit_type == SrsAvcNaluTypeSPS || nal_unit_type == SrsAvcNaluTypePPS) { - has_sps_pps = true; + has_sps_pps_ = true; } else if (nal_unit_type == SrsAvcNaluTypeAccessUnitDelimiter) { - has_aud = true; + has_aud_ = true; } - if (first_nalu_type == SrsAvcNaluTypeReserved) { - first_nalu_type = nal_unit_type; + if (first_nalu_type_ == SrsAvcNaluTypeReserved) { + first_nalu_type_ = nal_unit_type; } return err; @@ -215,18 +215,18 @@ srs_error_t SrsParsedVideoPacket::add_sample(char *bytes, int size) SrsVideoCodecConfig *SrsParsedVideoPacket::vcodec() { - return (SrsVideoCodecConfig *)codec; + return (SrsVideoCodecConfig *)codec_; } srs_error_t SrsParsedVideoPacket::parse_avc_nalu_type(const SrsNaluSample *sample, SrsAvcNaluType &avc_nalu_type) { srs_error_t err = srs_success; - if (sample == NULL || sample->size < 1) { + if (sample == NULL || sample->size_ < 1) { return srs_error_new(ERROR_NALU_EMPTY, "empty nalu"); } - uint8_t header = sample->bytes[0]; + uint8_t header = sample->bytes_[0]; avc_nalu_type = SrsAvcNaluTypeParse(header); return err; @@ -246,7 +246,7 @@ srs_error_t SrsParsedVideoPacket::parse_avc_bframe(const SrsNaluSample *sample, return err; } - SrsUniquePtr stream(new SrsBuffer(sample->bytes, sample->size)); + SrsUniquePtr stream(new SrsBuffer(sample->bytes_, sample->size_)); // Skip nalu header. stream->skip(1); @@ -275,11 +275,11 @@ srs_error_t SrsParsedVideoPacket::parse_hevc_nalu_type(const SrsNaluSample *samp { srs_error_t err = srs_success; - if (sample == NULL || sample->size < 1) { + if (sample == NULL || sample->size_ < 1) { return srs_error_new(ERROR_NALU_EMPTY, "empty hevc nalu"); } - uint8_t header = sample->bytes[0]; + uint8_t header = sample->bytes_[0]; hevc_nalu_type = SrsHevcNaluTypeParse(header); return err; @@ -299,7 +299,7 @@ srs_error_t SrsParsedVideoPacket::parse_hevc_bframe(const SrsNaluSample *sample, return err; } - SrsUniquePtr stream(new SrsBuffer(sample->bytes, sample->size)); + SrsUniquePtr stream(new SrsBuffer(sample->bytes_, sample->size_)); stream->skip(2); // @see 7.3.6.1 General slice segment header syntax @@ -317,14 +317,14 @@ srs_error_t SrsParsedVideoPacket::parse_hevc_bframe(const SrsNaluSample *sample, return srs_error_new(ERROR_HEVC_DECODE_ERROR, "slice pic parameter set id out of range: %d", slice_pic_parameter_set_id); } - SrsHevcRbspPps *pps = &(format->vcodec->hevc_dec_conf_record_.pps_table[slice_pic_parameter_set_id]); + SrsHevcRbspPps *pps = &(format->vcodec_->hevc_dec_conf_record_.pps_table_[slice_pic_parameter_set_id]); if (!pps) { return srs_error_new(ERROR_HEVC_DECODE_ERROR, "pps not found"); } uint8_t dependent_slice_segment_flag = 0; if (!first_slice_segment_in_pic_flag) { - if (pps->dependent_slice_segments_enabled_flag) { + if (pps->dependent_slice_segments_enabled_flag_) { dependent_slice_segment_flag = bs.read_bit(); } } @@ -333,7 +333,7 @@ srs_error_t SrsParsedVideoPacket::parse_hevc_bframe(const SrsNaluSample *sample, return srs_error_new(ERROR_HEVC_DECODE_ERROR, "dependent slice segment flag is not supported"); } - for (int i = 0; i < pps->num_extra_slice_header_bits; i++) { + for (int i = 0; i < pps->num_extra_slice_header_bits_; i++) { bs.skip_bits(1); } @@ -354,22 +354,22 @@ srs_error_t SrsParsedVideoPacket::parse_hevc_bframe(const SrsNaluSample *sample, SrsFormat::SrsFormat() { - acodec = NULL; - vcodec = NULL; - audio = NULL; - video = NULL; - avc_parse_sps = true; - try_annexb_first = true; - raw = NULL; - nb_raw = 0; + acodec_ = NULL; + vcodec_ = NULL; + audio_ = NULL; + video_ = NULL; + avc_parse_sps_ = true; + try_annexb_first_ = true; + raw_ = NULL; + nb_raw_ = 0; } SrsFormat::~SrsFormat() { - srs_freep(audio); - srs_freep(video); - srs_freep(acodec); - srs_freep(vcodec); + srs_freep(audio_); + srs_freep(video_); + srs_freep(acodec_); + srs_freep(vcodec_); } // CRITICAL: This method is called AFTER the source has been added to the source pool @@ -380,8 +380,8 @@ SrsFormat::~SrsFormat() // for the same stream when context switches occurred during initialization. srs_error_t SrsFormat::initialize() { - if (!vcodec) { - vcodec = new SrsVideoCodecConfig(); + if (!vcodec_) { + vcodec_ = new SrsVideoCodecConfig(); } return srs_success; @@ -409,15 +409,15 @@ srs_error_t SrsFormat::on_audio(int64_t timestamp, char *data, int size) return err; } - bool fresh = !acodec; - if (!acodec) { - acodec = new SrsAudioCodecConfig(); + bool fresh = !acodec_; + if (!acodec_) { + acodec_ = new SrsAudioCodecConfig(); } - if (!audio) { - audio = new SrsParsedAudioPacket(); + if (!audio_) { + audio_ = new SrsParsedAudioPacket(); } - if ((err = audio->initialize(acodec)) != srs_success) { + if ((err = audio_->initialize(acodec_)) != srs_success) { return srs_error_wrap(err, "init audio"); } @@ -450,14 +450,14 @@ srs_error_t SrsFormat::on_aac_sequence_header(char *data, int size) { srs_error_t err = srs_success; - if (!acodec) { - acodec = new SrsAudioCodecConfig(); + if (!acodec_) { + acodec_ = new SrsAudioCodecConfig(); } - if (!audio) { - audio = new SrsParsedAudioPacket(); + if (!audio_) { + audio_ = new SrsParsedAudioPacket(); } - if ((err = audio->initialize(acodec)) != srs_success) { + if ((err = audio_->initialize(acodec_)) != srs_success) { return srs_error_wrap(err, "init audio"); } @@ -466,20 +466,20 @@ srs_error_t SrsFormat::on_aac_sequence_header(char *data, int size) bool SrsFormat::is_aac_sequence_header() { - return acodec && acodec->id == SrsAudioCodecIdAAC && audio && audio->aac_packet_type == SrsAudioAacFrameTraitSequenceHeader; + return acodec_ && acodec_->id_ == SrsAudioCodecIdAAC && audio_ && audio_->aac_packet_type_ == SrsAudioAacFrameTraitSequenceHeader; } bool SrsFormat::is_mp3_sequence_header() { - return acodec && acodec->id == SrsAudioCodecIdMP3 && audio && audio->aac_packet_type == SrsAudioMp3FrameTraitSequenceHeader; + return acodec_ && acodec_->id_ == SrsAudioCodecIdMP3 && audio_ && audio_->aac_packet_type_ == SrsAudioMp3FrameTraitSequenceHeader; } bool SrsFormat::is_avc_sequence_header() { - bool h264 = (vcodec && vcodec->id == SrsVideoCodecIdAVC); - bool h265 = (vcodec && vcodec->id == SrsVideoCodecIdHEVC); - bool av1 = (vcodec && vcodec->id == SrsVideoCodecIdAV1); - return vcodec && (h264 || h265 || av1) && video && video->avc_packet_type == SrsVideoAvcFrameTraitSequenceHeader; + bool h264 = (vcodec_ && vcodec_->id_ == SrsVideoCodecIdAVC); + bool h265 = (vcodec_ && vcodec_->id_ == SrsVideoCodecIdHEVC); + bool av1 = (vcodec_ && vcodec_->id_ == SrsVideoCodecIdAV1); + return vcodec_ && (h264 || h265 || av1) && video_ && video_->avc_packet_type_ == SrsVideoAvcFrameTraitSequenceHeader; } // Remove the emulation bytes from stream, and return num of bytes of the rbsp. @@ -554,23 +554,23 @@ srs_error_t SrsFormat::video_avc_demux(SrsBuffer *stream, int64_t timestamp) } } - if (!vcodec) { - vcodec = new SrsVideoCodecConfig(); + if (!vcodec_) { + vcodec_ = new SrsVideoCodecConfig(); } - if (!video) { - video = new SrsParsedVideoPacket(); + if (!video_) { + video_ = new SrsParsedVideoPacket(); } - if ((err = video->initialize(vcodec)) != srs_success) { + if ((err = video_->initialize(vcodec_)) != srs_success) { return srs_error_wrap(err, "init video"); } - video->frame_type = (SrsVideoAvcFrameType)frame_type; + video_->frame_type_ = (SrsVideoAvcFrameType)frame_type; // ignore info frame without error, // @see https://github.com/ossrs/srs/issues/288#issuecomment-69863909 - if (video->frame_type == SrsVideoAvcFrameTypeVideoInfoFrame) { + if (video_->frame_type_ == SrsVideoAvcFrameTypeVideoInfoFrame) { srs_warn("avc ignore the info frame"); return err; } @@ -581,7 +581,7 @@ srs_error_t SrsFormat::video_avc_demux(SrsBuffer *stream, int64_t timestamp) if (!codec_ok) { return srs_error_new(ERROR_HLS_DECODE_ERROR, "only support video H.264/H.265, actual=%d", codec_id); } - vcodec->id = codec_id; + vcodec_->id_ = codec_id; int32_t composition_time = 0; if (!is_ext_header) { @@ -602,13 +602,13 @@ srs_error_t SrsFormat::video_avc_demux(SrsBuffer *stream, int64_t timestamp) } // pts = dts + cts. - video->dts = timestamp; - video->cts = composition_time; - video->avc_packet_type = packet_type; + video_->dts_ = timestamp; + video_->cts_ = composition_time; + video_->avc_packet_type_ = packet_type; // Update the RAW AVC data. - raw = stream->data() + stream->pos(); - nb_raw = stream->size() - stream->pos(); + raw_ = stream->data() + stream->pos(); + nb_raw_ = stream->size() - stream->pos(); // Parse sequence header for H.265/HEVC. if (codec_id == SrsVideoCodecIdHEVC) { @@ -649,33 +649,33 @@ srs_error_t SrsFormat::video_avc_demux(SrsBuffer *stream, int64_t timestamp) // struct ptl SrsHevcProfileTierLevel::SrsHevcProfileTierLevel() { - general_profile_space = 0; - general_tier_flag = 0; - general_profile_idc = 0; - memset(general_profile_compatibility_flag, 0, 32); - general_progressive_source_flag = 0; - general_interlaced_source_flag = 0; - general_non_packed_constraint_flag = 0; - general_frame_only_constraint_flag = 0; - general_max_12bit_constraint_flag = 0; - general_max_10bit_constraint_flag = 0; - general_max_8bit_constraint_flag = 0; - general_max_422chroma_constraint_flag = 0; - general_max_420chroma_constraint_flag = 0; - general_max_monochrome_constraint_flag = 0; - general_intra_constraint_flag = 0; - general_one_picture_only_constraint_flag = 0; - general_lower_bit_rate_constraint_flag = 0; - general_max_14bit_constraint_flag = 0; - general_reserved_zero_7bits = 0; - general_reserved_zero_33bits = 0; - general_reserved_zero_34bits = 0; - general_reserved_zero_35bits = 0; - general_reserved_zero_43bits = 0; - general_inbld_flag = 0; - general_reserved_zero_bit = 0; - general_level_idc = 0; - memset(reserved_zero_2bits, 0, 8); + general_profile_space_ = 0; + general_tier_flag_ = 0; + general_profile_idc_ = 0; + memset(general_profile_compatibility_flag_, 0, 32); + general_progressive_source_flag_ = 0; + general_interlaced_source_flag_ = 0; + general_non_packed_constraint_flag_ = 0; + general_frame_only_constraint_flag_ = 0; + general_max_12bit_constraint_flag_ = 0; + general_max_10bit_constraint_flag_ = 0; + general_max_8bit_constraint_flag_ = 0; + general_max_422chroma_constraint_flag_ = 0; + general_max_420chroma_constraint_flag_ = 0; + general_max_monochrome_constraint_flag_ = 0; + general_intra_constraint_flag_ = 0; + general_one_picture_only_constraint_flag_ = 0; + general_lower_bit_rate_constraint_flag_ = 0; + general_max_14bit_constraint_flag_ = 0; + general_reserved_zero_7bits_ = 0; + general_reserved_zero_33bits_ = 0; + general_reserved_zero_34bits_ = 0; + general_reserved_zero_35bits_ = 0; + general_reserved_zero_43bits_ = 0; + general_inbld_flag_ = 0; + general_reserved_zero_bit_ = 0; + general_level_idc_ = 0; + memset(reserved_zero_2bits_, 0, 8); } SrsHevcProfileTierLevel::~SrsHevcProfileTierLevel() @@ -690,7 +690,7 @@ srs_error_t SrsFormat::hevc_demux_hvcc(SrsBuffer *stream) int avc_extra_size = stream->size() - stream->pos(); if (avc_extra_size > 0) { char *copy_stream_from = stream->data() + stream->pos(); - vcodec->avc_extra_data = std::vector(copy_stream_from, copy_stream_from + avc_extra_size); + vcodec_->avc_extra_data_ = std::vector(copy_stream_from, copy_stream_from + avc_extra_size); } const int HEVC_MIN_SIZE = 23; // From configuration_version to numOfArrays @@ -698,65 +698,65 @@ srs_error_t SrsFormat::hevc_demux_hvcc(SrsBuffer *stream) return srs_error_new(ERROR_HEVC_DECODE_ERROR, "requires %d only %d bytes", HEVC_MIN_SIZE, stream->left()); } - SrsHevcDecoderConfigurationRecord *dec_conf_rec_p = &(vcodec->hevc_dec_conf_record_); - dec_conf_rec_p->configuration_version = stream->read_1bytes(); - if (dec_conf_rec_p->configuration_version != 1) { - return srs_error_new(ERROR_HEVC_DECODE_ERROR, "invalid version=%d", dec_conf_rec_p->configuration_version); + SrsHevcDecoderConfigurationRecord *dec_conf_rec_p = &(vcodec_->hevc_dec_conf_record_); + dec_conf_rec_p->configuration_version_ = stream->read_1bytes(); + if (dec_conf_rec_p->configuration_version_ != 1) { + return srs_error_new(ERROR_HEVC_DECODE_ERROR, "invalid version=%d", dec_conf_rec_p->configuration_version_); } // Read general_profile_space(2bits), general_tier_flag(1bit), general_profile_idc(5bits) uint8_t data_byte = stream->read_1bytes(); - dec_conf_rec_p->general_profile_space = (data_byte >> 6) & 0x03; - dec_conf_rec_p->general_tier_flag = (data_byte >> 5) & 0x01; - dec_conf_rec_p->general_profile_idc = data_byte & 0x1F; + dec_conf_rec_p->general_profile_space_ = (data_byte >> 6) & 0x03; + dec_conf_rec_p->general_tier_flag_ = (data_byte >> 5) & 0x01; + dec_conf_rec_p->general_profile_idc_ = data_byte & 0x1F; srs_info("hevc version:%d, general_profile_space:%d, general_tier_flag:%d, general_profile_idc:%d", - dec_conf_rec_p->configuration_version, dec_conf_rec_p->general_profile_space, dec_conf_rec_p->general_tier_flag, - dec_conf_rec_p->general_profile_idc); + dec_conf_rec_p->configuration_version_, dec_conf_rec_p->general_profile_space_, dec_conf_rec_p->general_tier_flag_, + dec_conf_rec_p->general_profile_idc_); // general_profile_compatibility_flags: 32bits - dec_conf_rec_p->general_profile_compatibility_flags = (uint32_t)stream->read_4bytes(); + dec_conf_rec_p->general_profile_compatibility_flags_ = (uint32_t)stream->read_4bytes(); // general_constraint_indicator_flags: 48bits uint64_t data_64bit = (uint64_t)stream->read_4bytes(); data_64bit = (data_64bit << 16) | (stream->read_2bytes()); - dec_conf_rec_p->general_constraint_indicator_flags = data_64bit; + dec_conf_rec_p->general_constraint_indicator_flags_ = data_64bit; // general_level_idc: 8bits - dec_conf_rec_p->general_level_idc = stream->read_1bytes(); + dec_conf_rec_p->general_level_idc_ = stream->read_1bytes(); // min_spatial_segmentation_idc: xxxx 14bits - dec_conf_rec_p->min_spatial_segmentation_idc = stream->read_2bytes() & 0x0fff; + dec_conf_rec_p->min_spatial_segmentation_idc_ = stream->read_2bytes() & 0x0fff; // parallelism_type: xxxx xx 2bits - dec_conf_rec_p->parallelism_type = stream->read_1bytes() & 0x03; + dec_conf_rec_p->parallelism_type_ = stream->read_1bytes() & 0x03; // chroma_format: xxxx xx 2bits - dec_conf_rec_p->chroma_format = stream->read_1bytes() & 0x03; + dec_conf_rec_p->chroma_format_ = stream->read_1bytes() & 0x03; // bit_depth_luma_minus8: xxxx x 3bits - dec_conf_rec_p->bit_depth_luma_minus8 = stream->read_1bytes() & 0x07; + dec_conf_rec_p->bit_depth_luma_minus8_ = stream->read_1bytes() & 0x07; // bit_depth_chroma_minus8: xxxx x 3bits - dec_conf_rec_p->bit_depth_chroma_minus8 = stream->read_1bytes() & 0x07; + dec_conf_rec_p->bit_depth_chroma_minus8_ = stream->read_1bytes() & 0x07; srs_info("general_constraint_indicator_flags:0x%x, general_level_idc:%d, min_spatial_segmentation_idc:%d, parallelism_type:%d, chroma_format:%d, bit_depth_luma_minus8:%d, bit_depth_chroma_minus8:%d", - dec_conf_rec_p->general_constraint_indicator_flags, dec_conf_rec_p->general_level_idc, - dec_conf_rec_p->min_spatial_segmentation_idc, dec_conf_rec_p->parallelism_type, dec_conf_rec_p->chroma_format, - dec_conf_rec_p->bit_depth_luma_minus8, dec_conf_rec_p->bit_depth_chroma_minus8); + dec_conf_rec_p->general_constraint_indicator_flags_, dec_conf_rec_p->general_level_idc_, + dec_conf_rec_p->min_spatial_segmentation_idc_, dec_conf_rec_p->parallelism_type_, dec_conf_rec_p->chroma_format_, + dec_conf_rec_p->bit_depth_luma_minus8_, dec_conf_rec_p->bit_depth_chroma_minus8_); // avg_frame_rate: 16bits - vcodec->frame_rate = dec_conf_rec_p->avg_frame_rate = stream->read_2bytes(); + vcodec_->frame_rate_ = dec_conf_rec_p->avg_frame_rate_ = stream->read_2bytes(); // 8bits: constant_frame_rate(2bits), num_temporal_layers(3bits), // temporal_id_nested(1bit), length_size_minus_one(2bits) data_byte = stream->read_1bytes(); - dec_conf_rec_p->constant_frame_rate = (data_byte >> 6) & 0x03; - dec_conf_rec_p->num_temporal_layers = (data_byte >> 3) & 0x07; - dec_conf_rec_p->temporal_id_nested = (data_byte >> 2) & 0x01; + dec_conf_rec_p->constant_frame_rate_ = (data_byte >> 6) & 0x03; + dec_conf_rec_p->num_temporal_layers_ = (data_byte >> 3) & 0x07; + dec_conf_rec_p->temporal_id_nested_ = (data_byte >> 2) & 0x01; // Parse the NALU size. - dec_conf_rec_p->length_size_minus_one = data_byte & 0x03; - vcodec->NAL_unit_length = dec_conf_rec_p->length_size_minus_one; + dec_conf_rec_p->length_size_minus_one_ = data_byte & 0x03; + vcodec_->NAL_unit_length_ = dec_conf_rec_p->length_size_minus_one_; // 5.3.4.2.1 Syntax, ISO_IEC_14496-15-AVC-format-2012.pdf, page 16 // 5.2.4.1 AVC decoder configuration record // 5.2.4.1.2 Semantics // The value of this field shall be one of 0, 1, or 3 corresponding to a // length encoded with 1, 2, or 4 bytes, respectively. - if (vcodec->NAL_unit_length == 2) { + if (vcodec_->NAL_unit_length_ == 2) { return srs_error_new(ERROR_HEVC_DECODE_ERROR, "sps lengthSizeMinusOne should never be 2"); } @@ -766,7 +766,7 @@ srs_error_t SrsFormat::hevc_demux_hvcc(SrsBuffer *stream) dec_conf_rec_p->temporal_id_nested, dec_conf_rec_p->length_size_minus_one, numOfArrays); // parse vps/pps/sps - dec_conf_rec_p->nalu_vec.clear(); + dec_conf_rec_p->nalu_vec_.clear(); for (int index = 0; index < numOfArrays; index++) { if (!stream->require(3)) { return srs_error_new(ERROR_HEVC_DECODE_ERROR, "requires 3 only %d bytes", stream->left()); @@ -774,31 +774,31 @@ srs_error_t SrsFormat::hevc_demux_hvcc(SrsBuffer *stream) data_byte = stream->read_1bytes(); SrsHevcHvccNalu hevc_unit; - hevc_unit.array_completeness = (data_byte >> 7) & 0x01; - hevc_unit.nal_unit_type = data_byte & 0x3f; - hevc_unit.num_nalus = stream->read_2bytes(); + hevc_unit.array_completeness_ = (data_byte >> 7) & 0x01; + hevc_unit.nal_unit_type_ = data_byte & 0x3f; + hevc_unit.num_nalus_ = stream->read_2bytes(); - for (int i = 0; i < hevc_unit.num_nalus; i++) { + for (int i = 0; i < hevc_unit.num_nalus_; i++) { if (!stream->require(2)) { return srs_error_new(ERROR_HEVC_DECODE_ERROR, "num_nalus requires 2 only %d bytes", stream->left()); } SrsHevcNalData data_item; - data_item.nal_unit_length = stream->read_2bytes(); + data_item.nal_unit_length_ = stream->read_2bytes(); - if (!stream->require(data_item.nal_unit_length)) { + if (!stream->require(data_item.nal_unit_length_)) { return srs_error_new(ERROR_HEVC_DECODE_ERROR, "requires %d only %d bytes", - data_item.nal_unit_length, stream->left()); + data_item.nal_unit_length_, stream->left()); } // copy vps/pps/sps data - data_item.nal_unit_data.resize(data_item.nal_unit_length); + data_item.nal_unit_data_.resize(data_item.nal_unit_length_); - stream->read_bytes((char *)(&data_item.nal_unit_data[0]), data_item.nal_unit_length); + stream->read_bytes((char *)(&data_item.nal_unit_data_[0]), data_item.nal_unit_length_); srs_info("hevc nalu type:%d, array_completeness:%d, num_nalus:%d, i:%d, nal_unit_length:%d", - hevc_unit.nal_unit_type, hevc_unit.array_completeness, hevc_unit.num_nalus, i, data_item.nal_unit_length); - hevc_unit.nal_data_vec.push_back(data_item); + hevc_unit.nal_unit_type_, hevc_unit.array_completeness_, hevc_unit.num_nalus_, i, data_item.nal_unit_length_); + hevc_unit.nal_data_vec_.push_back(data_item); } - dec_conf_rec_p->nalu_vec.push_back(hevc_unit); + dec_conf_rec_p->nalu_vec_.push_back(hevc_unit); // demux nalu if ((err = hevc_demux_vps_sps_pps(&hevc_unit)) != srs_success) { @@ -813,17 +813,17 @@ srs_error_t SrsFormat::hevc_demux_vps_sps_pps(SrsHevcHvccNalu *nal) { srs_error_t err = srs_success; - if (nal->nal_data_vec.empty()) { + if (nal->nal_data_vec_.empty()) { return err; } // TODO: FIXME: Support for multiple VPS/SPS/PPS, then pick the first non-empty one. - char *frame = (char *)(&nal->nal_data_vec[0].nal_unit_data[0]); - int nb_frame = nal->nal_data_vec[0].nal_unit_length; + char *frame = (char *)(&nal->nal_data_vec_[0].nal_unit_data_[0]); + int nb_frame = nal->nal_data_vec_[0].nal_unit_length_; SrsBuffer stream(frame, nb_frame); // nal data - switch (nal->nal_unit_type) { + switch (nal->nal_unit_type_) { case SrsHevcNaluType_VPS: err = hevc_demux_vps(&stream); break; @@ -900,51 +900,51 @@ srs_error_t SrsFormat::hevc_demux_vps_rbsp(char *rbsp, int nb_rbsp) } // select table - SrsHevcDecoderConfigurationRecord *dec_conf_rec = &(vcodec->hevc_dec_conf_record_); - SrsHevcRbspVps *vps = &(dec_conf_rec->vps_table[vps_video_parameter_set_id]); + SrsHevcDecoderConfigurationRecord *dec_conf_rec = &(vcodec_->hevc_dec_conf_record_); + SrsHevcRbspVps *vps = &(dec_conf_rec->vps_table_[vps_video_parameter_set_id]); - vps->vps_video_parameter_set_id = vps_video_parameter_set_id; + vps->vps_video_parameter_set_id_ = vps_video_parameter_set_id; // vps_base_layer_internal_flag u(1) - vps->vps_base_layer_internal_flag = bs.read_bit(); + vps->vps_base_layer_internal_flag_ = bs.read_bit(); // vps_base_layer_available_flag u(1) - vps->vps_base_layer_available_flag = bs.read_bit(); + vps->vps_base_layer_available_flag_ = bs.read_bit(); // vps_max_layers_minus1 u(6) - vps->vps_max_layers_minus1 = bs.read_bits(6); + vps->vps_max_layers_minus1_ = bs.read_bits(6); // vps_max_sub_layers_minus1 u(3) - vps->vps_max_sub_layers_minus1 = bs.read_bits(3); + vps->vps_max_sub_layers_minus1_ = bs.read_bits(3); // vps_temporal_id_nesting_flag u(1) - vps->vps_temporal_id_nesting_flag = bs.read_bit(); + vps->vps_temporal_id_nesting_flag_ = bs.read_bit(); // vps_reserved_0xffff_16bits u(16) - vps->vps_reserved_0xffff_16bits = bs.read_bits(16); + vps->vps_reserved_0xffff_16bits_ = bs.read_bits(16); // profile_tier_level(1, vps_max_sub_layers_minus1) - if ((err = hevc_demux_rbsp_ptl(&bs, &vps->ptl, 1, vps->vps_max_sub_layers_minus1)) != srs_success) { - return srs_error_wrap(err, "vps rbsp ptl vps_max_sub_layers_minus1=%d", vps->vps_max_sub_layers_minus1); + if ((err = hevc_demux_rbsp_ptl(&bs, &vps->ptl_, 1, vps->vps_max_sub_layers_minus1_)) != srs_success) { + return srs_error_wrap(err, "vps rbsp ptl vps_max_sub_layers_minus1=%d", vps->vps_max_sub_layers_minus1_); } - dec_conf_rec->general_profile_idc = vps->ptl.general_profile_idc; - dec_conf_rec->general_level_idc = vps->ptl.general_level_idc; - dec_conf_rec->general_tier_flag = vps->ptl.general_tier_flag; + dec_conf_rec->general_profile_idc_ = vps->ptl_.general_profile_idc_; + dec_conf_rec->general_level_idc_ = vps->ptl_.general_level_idc_; + dec_conf_rec->general_tier_flag_ = vps->ptl_.general_tier_flag_; if (!bs.require_bits(1)) { return srs_error_new(ERROR_HEVC_DECODE_ERROR, "sublayer flag requires 1 only %d bits", bs.left_bits()); } // vps_sub_layer_ordering_info_present_flag u(1) - vps->vps_sub_layer_ordering_info_present_flag = bs.read_bit(); + vps->vps_sub_layer_ordering_info_present_flag_ = bs.read_bit(); - for (int i = (vps->vps_sub_layer_ordering_info_present_flag ? 0 : vps->vps_max_sub_layers_minus1); - i <= vps->vps_max_sub_layers_minus1; i++) { + for (int i = (vps->vps_sub_layer_ordering_info_present_flag_ ? 0 : vps->vps_max_sub_layers_minus1_); + i <= vps->vps_max_sub_layers_minus1_; i++) { // vps_max_dec_pic_buffering_minus1[i] ue(v) - if ((err = bs.read_bits_ue(vps->vps_max_dec_pic_buffering_minus1[i])) != srs_success) { + if ((err = bs.read_bits_ue(vps->vps_max_dec_pic_buffering_minus1_[i])) != srs_success) { return srs_error_wrap(err, "max_dec_pic_buffering_minus1"); } // vps_max_num_reorder_pics[i] ue(v) - if ((err = bs.read_bits_ue(vps->vps_max_num_reorder_pics[i])) != srs_success) { + if ((err = bs.read_bits_ue(vps->vps_max_num_reorder_pics_[i])) != srs_success) { return srs_error_wrap(err, "max_num_reorder_pics"); } // vps_max_latency_increase_plus1[i] ue(v) - if ((err = bs.read_bits_ue(vps->vps_max_latency_increase_plus1[i])) != srs_success) { + if ((err = bs.read_bits_ue(vps->vps_max_latency_increase_plus1_[i])) != srs_success) { return srs_error_wrap(err, "max_latency_increase_plus1"); } } @@ -954,10 +954,10 @@ srs_error_t SrsFormat::hevc_demux_vps_rbsp(char *rbsp, int nb_rbsp) } // vps_max_layer_id u(6) - vps->vps_max_layer_id = bs.read_bits(6); + vps->vps_max_layer_id_ = bs.read_bits(6); // vps_num_layer_sets_minus1 ue(v) - if ((err = bs.read_bits_ue(vps->vps_num_layer_sets_minus1)) != srs_success) { + if ((err = bs.read_bits_ue(vps->vps_num_layer_sets_minus1_)) != srs_success) { return srs_error_wrap(err, "num_layer_sets_minus1"); } @@ -1011,7 +1011,7 @@ srs_error_t SrsFormat::hevc_demux_sps_rbsp(char *rbsp, int nb_rbsp) // we donot parse the detail of sps. // @see https://github.com/ossrs/srs/issues/474 - if (!avc_parse_sps) { + if (!avc_parse_sps_) { return err; } @@ -1042,8 +1042,8 @@ srs_error_t SrsFormat::hevc_demux_sps_rbsp(char *rbsp, int nb_rbsp) return srs_error_wrap(err, "sps rbsp ptl sps_max_sub_layers_minus1=%d", sps_max_sub_layers_minus1); } - vcodec->hevc_profile = (SrsHevcProfile)profile_tier_level.general_profile_idc; - vcodec->hevc_level = (SrsHevcLevel)profile_tier_level.general_level_idc; + vcodec_->hevc_profile_ = (SrsHevcProfile)profile_tier_level.general_profile_idc_; + vcodec_->hevc_level_ = (SrsHevcLevel)profile_tier_level.general_level_idc_; // sps_seq_parameter_set_id ue(v) uint32_t sps_seq_parameter_set_id = 0; @@ -1055,63 +1055,63 @@ srs_error_t SrsFormat::hevc_demux_sps_rbsp(char *rbsp, int nb_rbsp) } // for sps_table - SrsHevcDecoderConfigurationRecord *dec_conf_rec = &(vcodec->hevc_dec_conf_record_); - SrsHevcRbspSps *sps = &(dec_conf_rec->sps_table[sps_seq_parameter_set_id]); + SrsHevcDecoderConfigurationRecord *dec_conf_rec = &(vcodec_->hevc_dec_conf_record_); + SrsHevcRbspSps *sps = &(dec_conf_rec->sps_table_[sps_seq_parameter_set_id]); - sps->sps_video_parameter_set_id = sps_video_parameter_set_id; - sps->sps_max_sub_layers_minus1 = sps_max_sub_layers_minus1; - sps->sps_temporal_id_nesting_flag = sps_temporal_id_nesting_flag; - sps->sps_seq_parameter_set_id = sps_seq_parameter_set_id; - sps->ptl = profile_tier_level; + sps->sps_video_parameter_set_id_ = sps_video_parameter_set_id; + sps->sps_max_sub_layers_minus1_ = sps_max_sub_layers_minus1; + sps->sps_temporal_id_nesting_flag_ = sps_temporal_id_nesting_flag; + sps->sps_seq_parameter_set_id_ = sps_seq_parameter_set_id; + sps->ptl_ = profile_tier_level; // chroma_format_idc ue(v) - if ((err = bs.read_bits_ue(sps->chroma_format_idc)) != srs_success) { + if ((err = bs.read_bits_ue(sps->chroma_format_idc_)) != srs_success) { return srs_error_wrap(err, "chroma_format_idc"); } - if (sps->chroma_format_idc == 3) { + if (sps->chroma_format_idc_ == 3) { if (!bs.require_bits(1)) { return srs_error_new(ERROR_HEVC_DECODE_ERROR, "separate_colour_plane_flag requires 1 only %d bits", bs.left_bits()); } // separate_colour_plane_flag u(1) - sps->separate_colour_plane_flag = bs.read_bit(); + sps->separate_colour_plane_flag_ = bs.read_bit(); } // pic_width_in_luma_samples ue(v) - if ((err = bs.read_bits_ue(sps->pic_width_in_luma_samples)) != srs_success) { + if ((err = bs.read_bits_ue(sps->pic_width_in_luma_samples_)) != srs_success) { return srs_error_wrap(err, "pic_width_in_luma_samples"); } // pic_height_in_luma_samples ue(v) - if ((err = bs.read_bits_ue(sps->pic_height_in_luma_samples)) != srs_success) { + if ((err = bs.read_bits_ue(sps->pic_height_in_luma_samples_)) != srs_success) { return srs_error_wrap(err, "pic_height_in_luma_samples"); } - vcodec->width = sps->pic_width_in_luma_samples; - vcodec->height = sps->pic_height_in_luma_samples; + vcodec_->width_ = sps->pic_width_in_luma_samples_; + vcodec_->height_ = sps->pic_height_in_luma_samples_; if (!bs.require_bits(1)) { return srs_error_new(ERROR_HEVC_DECODE_ERROR, "conformance_window_flag requires 1 only %d bits", bs.left_bits()); } // conformance_window_flag u(1) - sps->conformance_window_flag = bs.read_bit(); - if (sps->conformance_window_flag) { + sps->conformance_window_flag_ = bs.read_bit(); + if (sps->conformance_window_flag_) { // conf_win_left_offset ue(v) - if ((err = bs.read_bits_ue(sps->conf_win_left_offset)) != srs_success) { + if ((err = bs.read_bits_ue(sps->conf_win_left_offset_)) != srs_success) { return srs_error_wrap(err, "conf_win_left_offset"); } // conf_win_right_offset ue(v) - if ((err = bs.read_bits_ue(sps->conf_win_right_offset)) != srs_success) { + if ((err = bs.read_bits_ue(sps->conf_win_right_offset_)) != srs_success) { return srs_error_wrap(err, "conf_win_right_offset"); } // conf_win_top_offset ue(v) - if ((err = bs.read_bits_ue(sps->conf_win_top_offset)) != srs_success) { + if ((err = bs.read_bits_ue(sps->conf_win_top_offset_)) != srs_success) { return srs_error_wrap(err, "conf_win_top_offset"); } // conf_win_bottom_offset ue(v) - if ((err = bs.read_bits_ue(sps->conf_win_bottom_offset)) != srs_success) { + if ((err = bs.read_bits_ue(sps->conf_win_bottom_offset_)) != srs_success) { return srs_error_wrap(err, "conf_win_bottom_offset"); } @@ -1120,27 +1120,27 @@ srs_error_t SrsFormat::hevc_demux_sps_rbsp(char *rbsp, int nb_rbsp) // Recalculate width and height // Note: 1 is added to the manual, but it is not actually used // https://gitlab.com/mbunkus/mkvtoolnix/-/issues/1152 - int sub_width_c = ((1 == sps->chroma_format_idc) || (2 == sps->chroma_format_idc)) && (0 == sps->separate_colour_plane_flag) ? 2 : 1; - int sub_height_c = (1 == sps->chroma_format_idc) && (0 == sps->separate_colour_plane_flag) ? 2 : 1; - vcodec->width -= (sub_width_c * sps->conf_win_right_offset + sub_width_c * sps->conf_win_left_offset); - vcodec->height -= (sub_height_c * sps->conf_win_bottom_offset + sub_height_c * sps->conf_win_top_offset); + int sub_width_c = ((1 == sps->chroma_format_idc_) || (2 == sps->chroma_format_idc_)) && (0 == sps->separate_colour_plane_flag_) ? 2 : 1; + int sub_height_c = (1 == sps->chroma_format_idc_) && (0 == sps->separate_colour_plane_flag_) ? 2 : 1; + vcodec_->width_ -= (sub_width_c * sps->conf_win_right_offset_ + sub_width_c * sps->conf_win_left_offset_); + vcodec_->height_ -= (sub_height_c * sps->conf_win_bottom_offset_ + sub_height_c * sps->conf_win_top_offset_); } // bit_depth_luma_minus8 ue(v) - if ((err = bs.read_bits_ue(sps->bit_depth_luma_minus8)) != srs_success) { + if ((err = bs.read_bits_ue(sps->bit_depth_luma_minus8_)) != srs_success) { return srs_error_wrap(err, "bit_depth_luma_minus8"); } // bit_depth_chroma_minus8 ue(v) - if ((err = bs.read_bits_ue(sps->bit_depth_chroma_minus8)) != srs_success) { + if ((err = bs.read_bits_ue(sps->bit_depth_chroma_minus8_)) != srs_success) { return srs_error_wrap(err, "bit_depth_chroma_minus8"); } // bit depth - dec_conf_rec->bit_depth_luma_minus8 = sps->bit_depth_luma_minus8 + 8; - dec_conf_rec->bit_depth_chroma_minus8 = sps->bit_depth_chroma_minus8 + 8; + dec_conf_rec->bit_depth_luma_minus8_ = sps->bit_depth_luma_minus8_ + 8; + dec_conf_rec->bit_depth_chroma_minus8_ = sps->bit_depth_chroma_minus8_ + 8; // log2_max_pic_order_cnt_lsb_minus4 ue(v) - if ((err = bs.read_bits_ue(sps->log2_max_pic_order_cnt_lsb_minus4)) != srs_success) { + if ((err = bs.read_bits_ue(sps->log2_max_pic_order_cnt_lsb_minus4_)) != srs_success) { return srs_error_wrap(err, "log2_max_pic_order_cnt_lsb_minus4"); } @@ -1213,42 +1213,42 @@ srs_error_t SrsFormat::hevc_demux_pps_rbsp(char *rbsp, int nb_rbsp) } // select table - SrsHevcDecoderConfigurationRecord *dec_conf_rec = &(vcodec->hevc_dec_conf_record_); - SrsHevcRbspPps *pps = &(dec_conf_rec->pps_table[pps_pic_parameter_set_id]); - pps->pps_pic_parameter_set_id = pps_pic_parameter_set_id; + SrsHevcDecoderConfigurationRecord *dec_conf_rec = &(vcodec_->hevc_dec_conf_record_); + SrsHevcRbspPps *pps = &(dec_conf_rec->pps_table_[pps_pic_parameter_set_id]); + pps->pps_pic_parameter_set_id_ = pps_pic_parameter_set_id; // pps_seq_parameter_set_id ue(v) uint32_t pps_seq_parameter_set_id = 0; if ((err = bs.read_bits_ue(pps_seq_parameter_set_id)) != srs_success) { return srs_error_wrap(err, "pps_seq_parameter_set_id"); } - pps->pps_seq_parameter_set_id = pps_seq_parameter_set_id; + pps->pps_seq_parameter_set_id_ = pps_seq_parameter_set_id; if (!bs.require_bits(7)) { return srs_error_new(ERROR_HEVC_DECODE_ERROR, "pps slice requires 7 only %d bits", bs.left_bits()); } // dependent_slice_segments_enabled_flag u(1) - pps->dependent_slice_segments_enabled_flag = bs.read_bit(); + pps->dependent_slice_segments_enabled_flag_ = bs.read_bit(); // output_flag_present_flag u(1) - pps->output_flag_present_flag = bs.read_bit(); + pps->output_flag_present_flag_ = bs.read_bit(); // num_extra_slice_header_bits u(3) - pps->num_extra_slice_header_bits = bs.read_bits(3); + pps->num_extra_slice_header_bits_ = bs.read_bits(3); // sign_data_hiding_enabled_flag u(1) - pps->sign_data_hiding_enabled_flag = bs.read_bit(); + pps->sign_data_hiding_enabled_flag_ = bs.read_bit(); // cabac_init_present_flag u(1) - pps->cabac_init_present_flag = bs.read_bit(); + pps->cabac_init_present_flag_ = bs.read_bit(); // num_ref_idx_l0_default_active_minus1 ue(v) - if ((err = bs.read_bits_ue(pps->num_ref_idx_l0_default_active_minus1)) != srs_success) { + if ((err = bs.read_bits_ue(pps->num_ref_idx_l0_default_active_minus1_)) != srs_success) { return srs_error_wrap(err, "num_ref_idx_l0_default_active_minus1"); } // num_ref_idx_l1_default_active_minus1 ue(v) - if ((err = bs.read_bits_ue(pps->num_ref_idx_l1_default_active_minus1)) != srs_success) { + if ((err = bs.read_bits_ue(pps->num_ref_idx_l1_default_active_minus1_)) != srs_success) { return srs_error_wrap(err, "num_ref_idx_l1_default_active_minus1"); } // init_qp_minus26 se(v) - if ((err = bs.read_bits_se(pps->init_qp_minus26)) != srs_success) { + if ((err = bs.read_bits_se(pps->init_qp_minus26_)) != srs_success) { return srs_error_wrap(err, "init_qp_minus26"); } @@ -1257,23 +1257,23 @@ srs_error_t SrsFormat::hevc_demux_pps_rbsp(char *rbsp, int nb_rbsp) } // constrained_intra_pred_flag u(1) - pps->constrained_intra_pred_flag = bs.read_bit(); + pps->constrained_intra_pred_flag_ = bs.read_bit(); // transform_skip_enabled_flag u(1) - pps->transform_skip_enabled_flag = bs.read_bit(); + pps->transform_skip_enabled_flag_ = bs.read_bit(); // cu_qp_delta_enabled_flag u(1) - pps->cu_qp_delta_enabled_flag = bs.read_bit(); - if (pps->cu_qp_delta_enabled_flag) { + pps->cu_qp_delta_enabled_flag_ = bs.read_bit(); + if (pps->cu_qp_delta_enabled_flag_) { // diff_cu_qp_delta_depth ue(v) - if ((err = bs.read_bits_ue(pps->diff_cu_qp_delta_depth)) != srs_success) { + if ((err = bs.read_bits_ue(pps->diff_cu_qp_delta_depth_)) != srs_success) { return srs_error_wrap(err, "diff_cu_qp_delta_depth"); } } // pps_cb_qp_offset se(v) - if ((err = bs.read_bits_se(pps->pps_cb_qp_offset)) != srs_success) { + if ((err = bs.read_bits_se(pps->pps_cb_qp_offset_)) != srs_success) { return srs_error_wrap(err, "pps_cb_qp_offset"); } // pps_cr_qp_offset se(v) - if ((err = bs.read_bits_se(pps->pps_cr_qp_offset)) != srs_success) { + if ((err = bs.read_bits_se(pps->pps_cr_qp_offset_)) != srs_success) { return srs_error_wrap(err, "pps_cr_qp_offset"); } @@ -1282,25 +1282,25 @@ srs_error_t SrsFormat::hevc_demux_pps_rbsp(char *rbsp, int nb_rbsp) } // pps_slice_chroma_qp_offsets_present_flag u(1) - pps->pps_slice_chroma_qp_offsets_present_flag = bs.read_bit(); + pps->pps_slice_chroma_qp_offsets_present_flag_ = bs.read_bit(); // weighted_pred_flag u(1) - pps->weighted_pred_flag = bs.read_bit(); + pps->weighted_pred_flag_ = bs.read_bit(); // weighted_bipred_flag u(1) - pps->weighted_bipred_flag = bs.read_bit(); + pps->weighted_bipred_flag_ = bs.read_bit(); // transquant_bypass_enabled_flag u(1) - pps->transquant_bypass_enabled_flag = bs.read_bit(); + pps->transquant_bypass_enabled_flag_ = bs.read_bit(); // tiles_enabled_flag u(1) - pps->tiles_enabled_flag = bs.read_bit(); + pps->tiles_enabled_flag_ = bs.read_bit(); // entropy_coding_sync_enabled_flag u(1) - pps->entropy_coding_sync_enabled_flag = bs.read_bit(); + pps->entropy_coding_sync_enabled_flag_ = bs.read_bit(); - if (pps->tiles_enabled_flag) { + if (pps->tiles_enabled_flag_) { // num_tile_columns_minus1 ue(v) - if ((err = bs.read_bits_ue(pps->num_tile_columns_minus1)) != srs_success) { + if ((err = bs.read_bits_ue(pps->num_tile_columns_minus1_)) != srs_success) { return srs_error_wrap(err, "num_tile_columns_minus1"); } // num_tile_rows_minus1 ue(v) - if ((err = bs.read_bits_ue(pps->num_tile_rows_minus1)) != srs_success) { + if ((err = bs.read_bits_ue(pps->num_tile_rows_minus1_)) != srs_success) { return srs_error_wrap(err, "num_tile_rows_minus1"); } @@ -1309,21 +1309,21 @@ srs_error_t SrsFormat::hevc_demux_pps_rbsp(char *rbsp, int nb_rbsp) } // uniform_spacing_flag u(1) - pps->uniform_spacing_flag = bs.read_bit(); - if (!pps->uniform_spacing_flag) { - pps->column_width_minus1.resize(pps->num_tile_columns_minus1); - pps->row_height_minus1.resize(pps->num_tile_rows_minus1); + pps->uniform_spacing_flag_ = bs.read_bit(); + if (!pps->uniform_spacing_flag_) { + pps->column_width_minus1_.resize(pps->num_tile_columns_minus1_); + pps->row_height_minus1_.resize(pps->num_tile_rows_minus1_); - for (int i = 0; i < (int)pps->num_tile_columns_minus1; i++) { + for (int i = 0; i < (int)pps->num_tile_columns_minus1_; i++) { // column_width_minus1[i] ue(v) - if ((err = bs.read_bits_ue(pps->column_width_minus1[i])) != srs_success) { + if ((err = bs.read_bits_ue(pps->column_width_minus1_[i])) != srs_success) { return srs_error_wrap(err, "column_width_minus1"); } } - for (int i = 0; i < (int)pps->num_tile_rows_minus1; i++) { + for (int i = 0; i < (int)pps->num_tile_rows_minus1_; i++) { // row_height_minus1[i] ue(v) - if ((err = bs.read_bits_ue(pps->row_height_minus1[i])) != srs_success) { + if ((err = bs.read_bits_ue(pps->row_height_minus1_[i])) != srs_success) { return srs_error_wrap(err, "row_height_minus1"); } } @@ -1334,7 +1334,7 @@ srs_error_t SrsFormat::hevc_demux_pps_rbsp(char *rbsp, int nb_rbsp) } // loop_filter_across_tiles_enabled_flag u(1) - pps->loop_filter_across_tiles_enabled_flag = bs.read_bit(); + pps->loop_filter_across_tiles_enabled_flag_ = bs.read_bit(); } if (!bs.require_bits(2)) { @@ -1342,25 +1342,25 @@ srs_error_t SrsFormat::hevc_demux_pps_rbsp(char *rbsp, int nb_rbsp) } // pps_loop_filter_across_slices_enabled_flag u(1) - pps->pps_loop_filter_across_slices_enabled_flag = bs.read_bit(); + pps->pps_loop_filter_across_slices_enabled_flag_ = bs.read_bit(); // deblocking_filter_control_present_flag u(1) - pps->deblocking_filter_control_present_flag = bs.read_bit(); - if (pps->deblocking_filter_control_present_flag) { + pps->deblocking_filter_control_present_flag_ = bs.read_bit(); + if (pps->deblocking_filter_control_present_flag_) { if (!bs.require_bits(2)) { return srs_error_new(ERROR_HEVC_DECODE_ERROR, "pps loop deblocking filter flag requires 2 only %d bits", bs.left_bits()); } // deblocking_filter_override_enabled_flag u(1) - pps->deblocking_filter_override_enabled_flag = bs.read_bit(); + pps->deblocking_filter_override_enabled_flag_ = bs.read_bit(); // pps_deblocking_filter_disabled_flag u(1) - pps->pps_deblocking_filter_disabled_flag = bs.read_bit(); - if (!pps->pps_deblocking_filter_disabled_flag) { + pps->pps_deblocking_filter_disabled_flag_ = bs.read_bit(); + if (!pps->pps_deblocking_filter_disabled_flag_) { // pps_beta_offset_div2 se(v) - if ((err = bs.read_bits_se(pps->pps_beta_offset_div2)) != srs_success) { + if ((err = bs.read_bits_se(pps->pps_beta_offset_div2_)) != srs_success) { return srs_error_wrap(err, "pps_beta_offset_div2"); } // pps_tc_offset_div2 se(v) - if ((err = bs.read_bits_se(pps->pps_tc_offset_div2)) != srs_success) { + if ((err = bs.read_bits_se(pps->pps_tc_offset_div2_)) != srs_success) { return srs_error_wrap(err, "pps_tc_offset_div2"); } } @@ -1371,39 +1371,39 @@ srs_error_t SrsFormat::hevc_demux_pps_rbsp(char *rbsp, int nb_rbsp) } // pps_scaling_list_data_present_flag u(1) - pps->pps_scaling_list_data_present_flag = bs.read_bit(); - if (pps->pps_scaling_list_data_present_flag) { + pps->pps_scaling_list_data_present_flag_ = bs.read_bit(); + if (pps->pps_scaling_list_data_present_flag_) { // 7.3.4 Scaling list data syntax - SrsHevcScalingListData *sld = &pps->scaling_list_data; + SrsHevcScalingListData *sld = &pps->scaling_list_data_; for (int sizeId = 0; sizeId < 4; sizeId++) { for (int matrixId = 0; matrixId < 6; matrixId += (sizeId == 3) ? 3 : 1) { // scaling_list_pred_mode_flag u(1) - sld->scaling_list_pred_mode_flag[sizeId][matrixId] = bs.read_bit(); - if (!sld->scaling_list_pred_mode_flag[sizeId][matrixId]) { + sld->scaling_list_pred_mode_flag_[sizeId][matrixId] = bs.read_bit(); + if (!sld->scaling_list_pred_mode_flag_[sizeId][matrixId]) { // scaling_list_pred_matrix_id_delta ue(v) - if ((err = bs.read_bits_ue(sld->scaling_list_pred_matrix_id_delta[sizeId][matrixId])) != srs_success) { + if ((err = bs.read_bits_ue(sld->scaling_list_pred_matrix_id_delta_[sizeId][matrixId])) != srs_success) { return srs_error_wrap(err, "scaling_list_pred_matrix_id_delta"); } } else { int nextCoef = 8; int coefNum = srs_min(64, (1 << (4 + (sizeId << 1)))); - sld->coefNum = coefNum; // tmp store + sld->coefNum_ = coefNum; // tmp store if (sizeId > 1) { // scaling_list_dc_coef_minus8 se(v) - if ((err = bs.read_bits_se(sld->scaling_list_dc_coef_minus8[sizeId - 2][matrixId])) != srs_success) { + if ((err = bs.read_bits_se(sld->scaling_list_dc_coef_minus8_[sizeId - 2][matrixId])) != srs_success) { return srs_error_wrap(err, "scaling_list_dc_coef_minus8"); } - nextCoef = sld->scaling_list_dc_coef_minus8[sizeId - 2][matrixId] + 8; + nextCoef = sld->scaling_list_dc_coef_minus8_[sizeId - 2][matrixId] + 8; } - for (int i = 0; i < sld->coefNum; i++) { + for (int i = 0; i < sld->coefNum_; i++) { // scaling_list_delta_coef se(v) int scaling_list_delta_coef = 0; if ((err = bs.read_bits_se(scaling_list_delta_coef)) != srs_success) { return srs_error_wrap(err, "scaling_list_delta_coef"); } nextCoef = (nextCoef + scaling_list_delta_coef + 256) % 256; - sld->ScalingList[sizeId][matrixId][i] = nextCoef; + sld->ScalingList_[sizeId][matrixId][i] = nextCoef; } } } @@ -1414,10 +1414,10 @@ srs_error_t SrsFormat::hevc_demux_pps_rbsp(char *rbsp, int nb_rbsp) return srs_error_new(ERROR_HEVC_DECODE_ERROR, "lists_modification_present_flag requires 1 only %d bits", bs.left_bits()); } // lists_modification_present_flag u(1) - pps->lists_modification_present_flag = bs.read_bit(); + pps->lists_modification_present_flag_ = bs.read_bit(); // log2_parallel_merge_level_minus2 ue(v) - if ((err = bs.read_bits_ue(pps->log2_parallel_merge_level_minus2)) != srs_success) { + if ((err = bs.read_bits_ue(pps->log2_parallel_merge_level_minus2_)) != srs_success) { return srs_error_wrap(err, "log2_parallel_merge_level_minus2"); } @@ -1426,24 +1426,24 @@ srs_error_t SrsFormat::hevc_demux_pps_rbsp(char *rbsp, int nb_rbsp) } // slice_segment_header_extension_present_flag u(1) - pps->slice_segment_header_extension_present_flag = bs.read_bit(); + pps->slice_segment_header_extension_present_flag_ = bs.read_bit(); // pps_extension_present_flag u(1) - pps->pps_extension_present_flag = bs.read_bit(); - if (pps->pps_extension_present_flag) { + pps->pps_extension_present_flag_ = bs.read_bit(); + if (pps->pps_extension_present_flag_) { if (!bs.require_bits(8)) { return srs_error_new(ERROR_HEVC_DECODE_ERROR, "pps_range_extension_flag requires 8 only %d bits", bs.left_bits()); } // pps_range_extension_flag u(1) - pps->pps_range_extension_flag = bs.read_bit(); + pps->pps_range_extension_flag_ = bs.read_bit(); // pps_multilayer_extension_flag u(1) - pps->pps_multilayer_extension_flag = bs.read_bit(); + pps->pps_multilayer_extension_flag_ = bs.read_bit(); // pps_3d_extension_flag u(1) - pps->pps_3d_extension_flag = bs.read_bit(); + pps->pps_3d_extension_flag_ = bs.read_bit(); // pps_scc_extension_flag u(1) - pps->pps_scc_extension_flag = bs.read_bit(); + pps->pps_scc_extension_flag_ = bs.read_bit(); // pps_extension_4bits u(4) - pps->pps_extension_4bits = bs.read_bits(4); + pps->pps_extension_4bits_ = bs.read_bits(4); } // TODO: FIXME: Implements it, you might parse remain bits for pic_parameter_set_rbsp. @@ -1468,96 +1468,96 @@ srs_error_t SrsFormat::hevc_demux_rbsp_ptl(SrsBitBuffer *bs, SrsHevcProfileTierL } // profile_space u(2) - ptl->general_profile_space = bs->read_bits(2); + ptl->general_profile_space_ = bs->read_bits(2); // tier_flag u(1) - ptl->general_tier_flag = bs->read_bit(); + ptl->general_tier_flag_ = bs->read_bit(); // profile_idc u(5) - ptl->general_profile_idc = bs->read_bits(5); + ptl->general_profile_idc_ = bs->read_bits(5); for (int i = 0; i < 32; i++) { // profile_compatibility_flag[j] u(1) - ptl->general_profile_compatibility_flag[i] = bs->read_bit(); + ptl->general_profile_compatibility_flag_[i] = bs->read_bit(); } // progressive_source_flag u(1) - ptl->general_progressive_source_flag = bs->read_bit(); + ptl->general_progressive_source_flag_ = bs->read_bit(); // interlaced_source_flag u(1) - ptl->general_interlaced_source_flag = bs->read_bit(); + ptl->general_interlaced_source_flag_ = bs->read_bit(); // non_packed_constraint_flag u(1) - ptl->general_non_packed_constraint_flag = bs->read_bit(); + ptl->general_non_packed_constraint_flag_ = bs->read_bit(); // frame_only_constraint_flag u(1) - ptl->general_frame_only_constraint_flag = bs->read_bit(); - if (ptl->general_profile_idc == 4 || ptl->general_profile_compatibility_flag[4] || - ptl->general_profile_idc == 5 || ptl->general_profile_compatibility_flag[5] || - ptl->general_profile_idc == 6 || ptl->general_profile_compatibility_flag[6] || - ptl->general_profile_idc == 7 || ptl->general_profile_compatibility_flag[7] || - ptl->general_profile_idc == 8 || ptl->general_profile_compatibility_flag[8] || - ptl->general_profile_idc == 9 || ptl->general_profile_compatibility_flag[9] || - ptl->general_profile_idc == 10 || ptl->general_profile_compatibility_flag[10] || - ptl->general_profile_idc == 11 || ptl->general_profile_compatibility_flag[11]) { + ptl->general_frame_only_constraint_flag_ = bs->read_bit(); + if (ptl->general_profile_idc_ == 4 || ptl->general_profile_compatibility_flag_[4] || + ptl->general_profile_idc_ == 5 || ptl->general_profile_compatibility_flag_[5] || + ptl->general_profile_idc_ == 6 || ptl->general_profile_compatibility_flag_[6] || + ptl->general_profile_idc_ == 7 || ptl->general_profile_compatibility_flag_[7] || + ptl->general_profile_idc_ == 8 || ptl->general_profile_compatibility_flag_[8] || + ptl->general_profile_idc_ == 9 || ptl->general_profile_compatibility_flag_[9] || + ptl->general_profile_idc_ == 10 || ptl->general_profile_compatibility_flag_[10] || + ptl->general_profile_idc_ == 11 || ptl->general_profile_compatibility_flag_[11]) { // The number of bits in this syntax structure is not affected by this condition // max_12bit_constraint_flag u(1) - ptl->general_max_12bit_constraint_flag = bs->read_bit(); + ptl->general_max_12bit_constraint_flag_ = bs->read_bit(); // max_10bit_constraint_flag u(1) - ptl->general_max_10bit_constraint_flag = bs->read_bit(); + ptl->general_max_10bit_constraint_flag_ = bs->read_bit(); // max_8bit_constraint_flag u(1) - ptl->general_max_8bit_constraint_flag = bs->read_bit(); + ptl->general_max_8bit_constraint_flag_ = bs->read_bit(); // max_422chroma_constraint_flag u(1) - ptl->general_max_422chroma_constraint_flag = bs->read_bit(); + ptl->general_max_422chroma_constraint_flag_ = bs->read_bit(); // max_420chroma_constraint_flag u(1) - ptl->general_max_420chroma_constraint_flag = bs->read_bit(); + ptl->general_max_420chroma_constraint_flag_ = bs->read_bit(); // max_monochrome_constraint_flag u(1) - ptl->general_max_monochrome_constraint_flag = bs->read_bit(); + ptl->general_max_monochrome_constraint_flag_ = bs->read_bit(); // intra_constraint_flag u(1) - ptl->general_intra_constraint_flag = bs->read_bit(); + ptl->general_intra_constraint_flag_ = bs->read_bit(); // one_picture_only_constraint_flag u(1) - ptl->general_one_picture_only_constraint_flag = bs->read_bit(); + ptl->general_one_picture_only_constraint_flag_ = bs->read_bit(); // lower_bit_rate_constraint_flag u(1) - ptl->general_lower_bit_rate_constraint_flag = bs->read_bit(); + ptl->general_lower_bit_rate_constraint_flag_ = bs->read_bit(); - if (ptl->general_profile_idc == 5 || ptl->general_profile_compatibility_flag[5] == 1 || - ptl->general_profile_idc == 9 || ptl->general_profile_compatibility_flag[9] == 1 || - ptl->general_profile_idc == 10 || ptl->general_profile_compatibility_flag[10] == 1 || - ptl->general_profile_idc == 11 || ptl->general_profile_compatibility_flag[11] == 1) { + if (ptl->general_profile_idc_ == 5 || ptl->general_profile_compatibility_flag_[5] == 1 || + ptl->general_profile_idc_ == 9 || ptl->general_profile_compatibility_flag_[9] == 1 || + ptl->general_profile_idc_ == 10 || ptl->general_profile_compatibility_flag_[10] == 1 || + ptl->general_profile_idc_ == 11 || ptl->general_profile_compatibility_flag_[11] == 1) { // max_14bit_constraint_flag u(1) - ptl->general_max_14bit_constraint_flag = bs->read_bit(); + ptl->general_max_14bit_constraint_flag_ = bs->read_bit(); // reserved_zero_33bits u(33) uint32_t bits_tmp_hi = bs->read_bit(); uint32_t bits_tmp = bs->read_bits(32); - ptl->general_reserved_zero_33bits = ((uint64_t)bits_tmp_hi << 32) | bits_tmp; + ptl->general_reserved_zero_33bits_ = ((uint64_t)bits_tmp_hi << 32) | bits_tmp; } else { // reserved_zero_34bits u(34) uint32_t bits_tmp_hi = bs->read_bits(2); uint32_t bits_tmp = bs->read_bits(32); - ptl->general_reserved_zero_34bits = ((uint64_t)bits_tmp_hi << 32) | bits_tmp; + ptl->general_reserved_zero_34bits_ = ((uint64_t)bits_tmp_hi << 32) | bits_tmp; } - } else if (ptl->general_profile_idc == 2 || ptl->general_profile_compatibility_flag[2]) { + } else if (ptl->general_profile_idc_ == 2 || ptl->general_profile_compatibility_flag_[2]) { // general_reserved_zero_7bits u(7) - ptl->general_reserved_zero_7bits = bs->read_bits(7); + ptl->general_reserved_zero_7bits_ = bs->read_bits(7); // general_one_picture_only_constraint_flag u(1) - ptl->general_one_picture_only_constraint_flag = bs->read_bit(); + ptl->general_one_picture_only_constraint_flag_ = bs->read_bit(); // general_reserved_zero_35bits u(35) uint32_t bits_tmp_hi = bs->read_bits(3); uint32_t bits_tmp = bs->read_bits(32); - ptl->general_reserved_zero_35bits = ((uint64_t)bits_tmp_hi << 32) | bits_tmp; + ptl->general_reserved_zero_35bits_ = ((uint64_t)bits_tmp_hi << 32) | bits_tmp; } else { // reserved_zero_43bits u(43) uint32_t bits_tmp_hi = bs->read_bits(11); uint32_t bits_tmp = bs->read_bits(32); - ptl->general_reserved_zero_43bits = ((uint64_t)bits_tmp_hi << 32) | bits_tmp; + ptl->general_reserved_zero_43bits_ = ((uint64_t)bits_tmp_hi << 32) | bits_tmp; } // The number of bits in this syntax structure is not affected by this condition - if (ptl->general_profile_idc == 1 || ptl->general_profile_compatibility_flag[1] || - ptl->general_profile_idc == 2 || ptl->general_profile_compatibility_flag[2] || - ptl->general_profile_idc == 3 || ptl->general_profile_compatibility_flag[3] || - ptl->general_profile_idc == 4 || ptl->general_profile_compatibility_flag[4] || - ptl->general_profile_idc == 5 || ptl->general_profile_compatibility_flag[5] || - ptl->general_profile_idc == 9 || ptl->general_profile_compatibility_flag[9] || - ptl->general_profile_idc == 11 || ptl->general_profile_compatibility_flag[11]) { + if (ptl->general_profile_idc_ == 1 || ptl->general_profile_compatibility_flag_[1] || + ptl->general_profile_idc_ == 2 || ptl->general_profile_compatibility_flag_[2] || + ptl->general_profile_idc_ == 3 || ptl->general_profile_compatibility_flag_[3] || + ptl->general_profile_idc_ == 4 || ptl->general_profile_compatibility_flag_[4] || + ptl->general_profile_idc_ == 5 || ptl->general_profile_compatibility_flag_[5] || + ptl->general_profile_idc_ == 9 || ptl->general_profile_compatibility_flag_[9] || + ptl->general_profile_idc_ == 11 || ptl->general_profile_compatibility_flag_[11]) { // inbld_flag u(1) - ptl->general_inbld_flag = bs->read_bit(); + ptl->general_inbld_flag_ = bs->read_bit(); } else { // reserved_zero_bit u(1) - ptl->general_reserved_zero_bit = bs->read_bit(); + ptl->general_reserved_zero_bit_ = bs->read_bit(); } } @@ -1566,18 +1566,18 @@ srs_error_t SrsFormat::hevc_demux_rbsp_ptl(SrsBitBuffer *bs, SrsHevcProfileTierL } // general_level_idc u(8) - ptl->general_level_idc = bs->read_8bits(); + ptl->general_level_idc_ = bs->read_8bits(); - ptl->sub_layer_profile_present_flag.resize(max_sub_layers_minus1); - ptl->sub_layer_level_present_flag.resize(max_sub_layers_minus1); + ptl->sub_layer_profile_present_flag_.resize(max_sub_layers_minus1); + ptl->sub_layer_level_present_flag_.resize(max_sub_layers_minus1); for (int i = 0; i < max_sub_layers_minus1; i++) { if (!bs->require_bits(2)) { return srs_error_new(ERROR_HEVC_DECODE_ERROR, "ptl present_flag requires 2 only %d bits", bs->left_bits()); } // sub_layer_profile_present_flag[i] u(1) - ptl->sub_layer_profile_present_flag[i] = bs->read_bit(); + ptl->sub_layer_profile_present_flag_[i] = bs->read_bit(); // sub_layer_level_present_flag[i] u(1) - ptl->sub_layer_level_present_flag[i] = bs->read_bit(); + ptl->sub_layer_level_present_flag_[i] = bs->read_bit(); } for (int i = max_sub_layers_minus1; max_sub_layers_minus1 > 0 && i < 8; i++) { @@ -1585,143 +1585,143 @@ srs_error_t SrsFormat::hevc_demux_rbsp_ptl(SrsBitBuffer *bs, SrsHevcProfileTierL return srs_error_new(ERROR_HEVC_DECODE_ERROR, "ptl reserved_zero requires 2 only %d bits", bs->left_bits()); } // reserved_zero_2bits[i] u(2) - ptl->reserved_zero_2bits[i] = bs->read_bits(2); + ptl->reserved_zero_2bits_[i] = bs->read_bits(2); } - ptl->sub_layer_profile_space.resize(max_sub_layers_minus1); - ptl->sub_layer_tier_flag.resize(max_sub_layers_minus1); - ptl->sub_layer_profile_idc.resize(max_sub_layers_minus1); - ptl->sub_layer_profile_compatibility_flag.resize(max_sub_layers_minus1); + ptl->sub_layer_profile_space_.resize(max_sub_layers_minus1); + ptl->sub_layer_tier_flag_.resize(max_sub_layers_minus1); + ptl->sub_layer_profile_idc_.resize(max_sub_layers_minus1); + ptl->sub_layer_profile_compatibility_flag_.resize(max_sub_layers_minus1); for (int i = 0; i < max_sub_layers_minus1; i++) { - ptl->sub_layer_profile_compatibility_flag[i].resize(32); + ptl->sub_layer_profile_compatibility_flag_[i].resize(32); } - ptl->sub_layer_progressive_source_flag.resize(max_sub_layers_minus1); - ptl->sub_layer_interlaced_source_flag.resize(max_sub_layers_minus1); - ptl->sub_layer_non_packed_constraint_flag.resize(max_sub_layers_minus1); - ptl->sub_layer_frame_only_constraint_flag.resize(max_sub_layers_minus1); - ptl->sub_layer_max_12bit_constraint_flag.resize(max_sub_layers_minus1); - ptl->sub_layer_max_10bit_constraint_flag.resize(max_sub_layers_minus1); - ptl->sub_layer_max_8bit_constraint_flag.resize(max_sub_layers_minus1); - ptl->sub_layer_max_422chroma_constraint_flag.resize(max_sub_layers_minus1); - ptl->sub_layer_max_420chroma_constraint_flag.resize(max_sub_layers_minus1); - ptl->sub_layer_max_monochrome_constraint_flag.resize(max_sub_layers_minus1); - ptl->sub_layer_intra_constraint_flag.resize(max_sub_layers_minus1); - ptl->sub_layer_one_picture_only_constraint_flag.resize(max_sub_layers_minus1); - ptl->sub_layer_lower_bit_rate_constraint_flag.resize(max_sub_layers_minus1); - ptl->sub_layer_reserved_zero_34bits.resize(max_sub_layers_minus1); - ptl->sub_layer_reserved_zero_43bits.resize(max_sub_layers_minus1); - ptl->sub_layer_inbld_flag.resize(max_sub_layers_minus1); - ptl->sub_layer_reserved_zero_bit.resize(max_sub_layers_minus1); - ptl->sub_layer_level_idc.resize(max_sub_layers_minus1); + ptl->sub_layer_progressive_source_flag_.resize(max_sub_layers_minus1); + ptl->sub_layer_interlaced_source_flag_.resize(max_sub_layers_minus1); + ptl->sub_layer_non_packed_constraint_flag_.resize(max_sub_layers_minus1); + ptl->sub_layer_frame_only_constraint_flag_.resize(max_sub_layers_minus1); + ptl->sub_layer_max_12bit_constraint_flag_.resize(max_sub_layers_minus1); + ptl->sub_layer_max_10bit_constraint_flag_.resize(max_sub_layers_minus1); + ptl->sub_layer_max_8bit_constraint_flag_.resize(max_sub_layers_minus1); + ptl->sub_layer_max_422chroma_constraint_flag_.resize(max_sub_layers_minus1); + ptl->sub_layer_max_420chroma_constraint_flag_.resize(max_sub_layers_minus1); + ptl->sub_layer_max_monochrome_constraint_flag_.resize(max_sub_layers_minus1); + ptl->sub_layer_intra_constraint_flag_.resize(max_sub_layers_minus1); + ptl->sub_layer_one_picture_only_constraint_flag_.resize(max_sub_layers_minus1); + ptl->sub_layer_lower_bit_rate_constraint_flag_.resize(max_sub_layers_minus1); + ptl->sub_layer_reserved_zero_34bits_.resize(max_sub_layers_minus1); + ptl->sub_layer_reserved_zero_43bits_.resize(max_sub_layers_minus1); + ptl->sub_layer_inbld_flag_.resize(max_sub_layers_minus1); + ptl->sub_layer_reserved_zero_bit_.resize(max_sub_layers_minus1); + ptl->sub_layer_level_idc_.resize(max_sub_layers_minus1); for (int i = 0; i < max_sub_layers_minus1; i++) { - if (ptl->sub_layer_profile_present_flag[i]) { + if (ptl->sub_layer_profile_present_flag_[i]) { if (!bs->require_bits(88)) { return srs_error_new(ERROR_HEVC_DECODE_ERROR, "ptl sub_layer_profile requires 88 only %d bits", bs->left_bits()); } // profile_space u(2) - ptl->sub_layer_profile_space[i] = bs->read_bits(2); + ptl->sub_layer_profile_space_[i] = bs->read_bits(2); // tier_flag u(1) - ptl->sub_layer_tier_flag[i] = bs->read_bit(); + ptl->sub_layer_tier_flag_[i] = bs->read_bit(); // profile_idc u(5) - ptl->sub_layer_profile_idc[i] = bs->read_bits(5); + ptl->sub_layer_profile_idc_[i] = bs->read_bits(5); for (int j = 0; j < 32; j++) { // profile_compatibility_flag[j] u(1) - ptl->sub_layer_profile_compatibility_flag[i][j] = bs->read_bit(); + ptl->sub_layer_profile_compatibility_flag_[i][j] = bs->read_bit(); } // progressive_source_flag u(1) - ptl->sub_layer_progressive_source_flag[i] = bs->read_bit(); + ptl->sub_layer_progressive_source_flag_[i] = bs->read_bit(); // interlaced_source_flag u(1) - ptl->sub_layer_interlaced_source_flag[i] = bs->read_bit(); + ptl->sub_layer_interlaced_source_flag_[i] = bs->read_bit(); // non_packed_constraint_flag u(1) - ptl->sub_layer_non_packed_constraint_flag[i] = bs->read_bit(); + ptl->sub_layer_non_packed_constraint_flag_[i] = bs->read_bit(); // frame_only_constraint_flag u(1) - ptl->sub_layer_frame_only_constraint_flag[i] = bs->read_bit(); - if (ptl->sub_layer_profile_idc[i] == 4 || ptl->sub_layer_profile_compatibility_flag[i][4] || - ptl->sub_layer_profile_idc[i] == 5 || ptl->sub_layer_profile_compatibility_flag[i][5] || - ptl->sub_layer_profile_idc[i] == 6 || ptl->sub_layer_profile_compatibility_flag[i][6] || - ptl->sub_layer_profile_idc[i] == 7 || ptl->sub_layer_profile_compatibility_flag[i][7] || - ptl->sub_layer_profile_idc[i] == 8 || ptl->sub_layer_profile_compatibility_flag[i][8] || - ptl->sub_layer_profile_idc[i] == 9 || ptl->sub_layer_profile_compatibility_flag[i][9] || - ptl->sub_layer_profile_idc[i] == 10 || ptl->sub_layer_profile_compatibility_flag[i][10] || - ptl->sub_layer_profile_idc[i] == 11 || ptl->sub_layer_profile_compatibility_flag[i][11]) { + ptl->sub_layer_frame_only_constraint_flag_[i] = bs->read_bit(); + if (ptl->sub_layer_profile_idc_[i] == 4 || ptl->sub_layer_profile_compatibility_flag_[i][4] || + ptl->sub_layer_profile_idc_[i] == 5 || ptl->sub_layer_profile_compatibility_flag_[i][5] || + ptl->sub_layer_profile_idc_[i] == 6 || ptl->sub_layer_profile_compatibility_flag_[i][6] || + ptl->sub_layer_profile_idc_[i] == 7 || ptl->sub_layer_profile_compatibility_flag_[i][7] || + ptl->sub_layer_profile_idc_[i] == 8 || ptl->sub_layer_profile_compatibility_flag_[i][8] || + ptl->sub_layer_profile_idc_[i] == 9 || ptl->sub_layer_profile_compatibility_flag_[i][9] || + ptl->sub_layer_profile_idc_[i] == 10 || ptl->sub_layer_profile_compatibility_flag_[i][10] || + ptl->sub_layer_profile_idc_[i] == 11 || ptl->sub_layer_profile_compatibility_flag_[i][11]) { // The number of bits in this syntax structure is not affected by this condition. // max_12bit_constraint_flag u(1) - ptl->sub_layer_max_12bit_constraint_flag[i] = bs->read_bit(); + ptl->sub_layer_max_12bit_constraint_flag_[i] = bs->read_bit(); // max_10bit_constraint_flag u(1) - ptl->sub_layer_max_10bit_constraint_flag[i] = bs->read_bit(); + ptl->sub_layer_max_10bit_constraint_flag_[i] = bs->read_bit(); // max_8bit_constraint_flag u(1) - ptl->sub_layer_max_8bit_constraint_flag[i] = bs->read_bit(); + ptl->sub_layer_max_8bit_constraint_flag_[i] = bs->read_bit(); // max_422chroma_constraint_flag u(1) - ptl->sub_layer_max_422chroma_constraint_flag[i] = bs->read_bit(); + ptl->sub_layer_max_422chroma_constraint_flag_[i] = bs->read_bit(); // max_420chroma_constraint_flag u(1) - ptl->sub_layer_max_420chroma_constraint_flag[i] = bs->read_bit(); + ptl->sub_layer_max_420chroma_constraint_flag_[i] = bs->read_bit(); // max_monochrome_constraint_flag u(1) - ptl->sub_layer_max_monochrome_constraint_flag[i] = bs->read_bit(); + ptl->sub_layer_max_monochrome_constraint_flag_[i] = bs->read_bit(); // intra_constraint_flag u(1) - ptl->sub_layer_intra_constraint_flag[i] = bs->read_bit(); + ptl->sub_layer_intra_constraint_flag_[i] = bs->read_bit(); // one_picture_only_constraint_flag u(1) - ptl->sub_layer_one_picture_only_constraint_flag[i] = bs->read_bit(); + ptl->sub_layer_one_picture_only_constraint_flag_[i] = bs->read_bit(); // lower_bit_rate_constraint_flag u(1) - ptl->sub_layer_lower_bit_rate_constraint_flag[i] = bs->read_bit(); + ptl->sub_layer_lower_bit_rate_constraint_flag_[i] = bs->read_bit(); - if (ptl->sub_layer_profile_idc[i] == 5 || - ptl->sub_layer_profile_compatibility_flag[i][5] == 1 || - ptl->sub_layer_profile_idc[i] == 9 || - ptl->sub_layer_profile_compatibility_flag[i][9] == 1 || - ptl->sub_layer_profile_idc[i] == 10 || - ptl->sub_layer_profile_compatibility_flag[i][10] == 1 || - ptl->sub_layer_profile_idc[i] == 11 || - ptl->sub_layer_profile_compatibility_flag[i][11] == 1) { + if (ptl->sub_layer_profile_idc_[i] == 5 || + ptl->sub_layer_profile_compatibility_flag_[i][5] == 1 || + ptl->sub_layer_profile_idc_[i] == 9 || + ptl->sub_layer_profile_compatibility_flag_[i][9] == 1 || + ptl->sub_layer_profile_idc_[i] == 10 || + ptl->sub_layer_profile_compatibility_flag_[i][10] == 1 || + ptl->sub_layer_profile_idc_[i] == 11 || + ptl->sub_layer_profile_compatibility_flag_[i][11] == 1) { // max_14bit_constraint_flag u(1) - ptl->general_max_14bit_constraint_flag = bs->read_bit(); + ptl->general_max_14bit_constraint_flag_ = bs->read_bit(); // reserved_zero_33bits u(33) uint32_t bits_tmp_hi = bs->read_bit(); uint32_t bits_tmp = bs->read_bits(32); - ptl->sub_layer_reserved_zero_33bits[i] = ((uint64_t)bits_tmp_hi << 32) | bits_tmp; + ptl->sub_layer_reserved_zero_33bits_[i] = ((uint64_t)bits_tmp_hi << 32) | bits_tmp; } else { // reserved_zero_34bits u(34) uint32_t bits_tmp_hi = bs->read_bits(2); uint32_t bits_tmp = bs->read_bits(32); - ptl->sub_layer_reserved_zero_34bits[i] = ((uint64_t)bits_tmp_hi << 32) | bits_tmp; + ptl->sub_layer_reserved_zero_34bits_[i] = ((uint64_t)bits_tmp_hi << 32) | bits_tmp; } - } else if (ptl->sub_layer_profile_idc[i] == 2 || ptl->sub_layer_profile_compatibility_flag[i][2]) { + } else if (ptl->sub_layer_profile_idc_[i] == 2 || ptl->sub_layer_profile_compatibility_flag_[i][2]) { // sub_layer_reserved_zero_7bits u(7) - ptl->sub_layer_reserved_zero_7bits[i] = bs->read_bits(7); + ptl->sub_layer_reserved_zero_7bits_[i] = bs->read_bits(7); // sub_layer_one_picture_only_constraint_flag u(1) - ptl->sub_layer_one_picture_only_constraint_flag[i] = bs->read_bit(); + ptl->sub_layer_one_picture_only_constraint_flag_[i] = bs->read_bit(); // sub_layer_reserved_zero_35bits u(35) uint32_t bits_tmp_hi = bs->read_bits(3); uint32_t bits_tmp = bs->read_bits(32); - ptl->sub_layer_reserved_zero_35bits[i] = ((uint64_t)bits_tmp_hi << 32) | bits_tmp; + ptl->sub_layer_reserved_zero_35bits_[i] = ((uint64_t)bits_tmp_hi << 32) | bits_tmp; } else { // reserved_zero_43bits u(43) uint32_t bits_tmp_hi = bs->read_bits(11); uint32_t bits_tmp = bs->read_bits(32); - ptl->sub_layer_reserved_zero_43bits[i] = ((uint64_t)bits_tmp_hi << 32) | bits_tmp; + ptl->sub_layer_reserved_zero_43bits_[i] = ((uint64_t)bits_tmp_hi << 32) | bits_tmp; } // The number of bits in this syntax structure is not affected by this condition - if (ptl->sub_layer_profile_idc[i] == 1 || ptl->sub_layer_profile_compatibility_flag[i][1] || - ptl->sub_layer_profile_idc[i] == 2 || ptl->sub_layer_profile_compatibility_flag[i][2] || - ptl->sub_layer_profile_idc[i] == 3 || ptl->sub_layer_profile_compatibility_flag[i][3] || - ptl->sub_layer_profile_idc[i] == 4 || ptl->sub_layer_profile_compatibility_flag[i][4] || - ptl->sub_layer_profile_idc[i] == 5 || ptl->sub_layer_profile_compatibility_flag[i][5] || - ptl->sub_layer_profile_idc[i] == 9 || ptl->sub_layer_profile_compatibility_flag[i][9] || - ptl->sub_layer_profile_idc[i] == 11 || ptl->sub_layer_profile_compatibility_flag[i][11]) { + if (ptl->sub_layer_profile_idc_[i] == 1 || ptl->sub_layer_profile_compatibility_flag_[i][1] || + ptl->sub_layer_profile_idc_[i] == 2 || ptl->sub_layer_profile_compatibility_flag_[i][2] || + ptl->sub_layer_profile_idc_[i] == 3 || ptl->sub_layer_profile_compatibility_flag_[i][3] || + ptl->sub_layer_profile_idc_[i] == 4 || ptl->sub_layer_profile_compatibility_flag_[i][4] || + ptl->sub_layer_profile_idc_[i] == 5 || ptl->sub_layer_profile_compatibility_flag_[i][5] || + ptl->sub_layer_profile_idc_[i] == 9 || ptl->sub_layer_profile_compatibility_flag_[i][9] || + ptl->sub_layer_profile_idc_[i] == 11 || ptl->sub_layer_profile_compatibility_flag_[i][11]) { // inbld_flag u(1) - ptl->sub_layer_inbld_flag[i] = bs->read_bit(); + ptl->sub_layer_inbld_flag_[i] = bs->read_bit(); } else { // reserved_zero_bit u(1) - ptl->sub_layer_reserved_zero_bit[i] = bs->read_bit(); + ptl->sub_layer_reserved_zero_bit_[i] = bs->read_bit(); } } - if (ptl->sub_layer_level_present_flag[i]) { + if (ptl->sub_layer_level_present_flag_[i]) { if (!bs->require_bits(8)) { return srs_error_new(ERROR_HEVC_DECODE_ERROR, "ptl sub_layer_level requires 8 only %d bits", bs->left_bits()); } // sub_layer_level_idc u(8) - ptl->sub_layer_level_idc[i] = bs->read_bits(8); + ptl->sub_layer_level_idc_[i] = bs->read_bits(8); } } @@ -1735,7 +1735,7 @@ srs_error_t SrsFormat::avc_demux_sps_pps(SrsBuffer *stream) int avc_extra_size = stream->size() - stream->pos(); if (avc_extra_size > 0) { char *copy_stream_from = stream->data() + stream->pos(); - vcodec->avc_extra_data = std::vector(copy_stream_from, copy_stream_from + avc_extra_size); + vcodec_->avc_extra_data_ = std::vector(copy_stream_from, copy_stream_from + avc_extra_size); } if (!stream->require(6)) { @@ -1744,23 +1744,23 @@ srs_error_t SrsFormat::avc_demux_sps_pps(SrsBuffer *stream) // int8_t configuration_version = stream->read_1bytes(); stream->read_1bytes(); // int8_t AVCProfileIndication = stream->read_1bytes(); - vcodec->avc_profile = (SrsAvcProfile)stream->read_1bytes(); + vcodec_->avc_profile_ = (SrsAvcProfile)stream->read_1bytes(); // int8_t profile_compatibility = stream->read_1bytes(); stream->read_1bytes(); // int8_t AVCLevelIndication = stream->read_1bytes(); - vcodec->avc_level = (SrsAvcLevel)stream->read_1bytes(); + vcodec_->avc_level_ = (SrsAvcLevel)stream->read_1bytes(); // parse the NALU size. int8_t lengthSizeMinusOne = stream->read_1bytes(); lengthSizeMinusOne &= 0x03; - vcodec->NAL_unit_length = lengthSizeMinusOne; + vcodec_->NAL_unit_length_ = lengthSizeMinusOne; // 5.3.4.2.1 Syntax, ISO_IEC_14496-15-AVC-format-2012.pdf, page 16 // 5.2.4.1 AVC decoder configuration record // 5.2.4.1.2 Semantics // The value of this field shall be one of 0, 1, or 3 corresponding to a // length encoded with 1, 2, or 4 bytes, respectively. - if (vcodec->NAL_unit_length == 2) { + if (vcodec_->NAL_unit_length_ == 2) { return srs_error_new(ERROR_HLS_DECODE_ERROR, "sps lengthSizeMinusOne should never be 2"); } @@ -1784,8 +1784,8 @@ srs_error_t SrsFormat::avc_demux_sps_pps(SrsBuffer *stream) return srs_error_new(ERROR_HLS_DECODE_ERROR, "decode SPS data"); } if (sequenceParameterSetLength > 0) { - vcodec->sequenceParameterSetNALUnit.resize(sequenceParameterSetLength); - stream->read_bytes(&vcodec->sequenceParameterSetNALUnit[0], sequenceParameterSetLength); + vcodec_->sequenceParameterSetNALUnit_.resize(sequenceParameterSetLength); + stream->read_bytes(&vcodec_->sequenceParameterSetNALUnit_[0], sequenceParameterSetLength); } } @@ -1808,8 +1808,8 @@ srs_error_t SrsFormat::avc_demux_sps_pps(SrsBuffer *stream) return srs_error_new(ERROR_HLS_DECODE_ERROR, "decode PPS data"); } if (pictureParameterSetLength > 0) { - vcodec->pictureParameterSetNALUnit.resize(pictureParameterSetLength); - stream->read_bytes(&vcodec->pictureParameterSetNALUnit[0], pictureParameterSetLength); + vcodec_->pictureParameterSetNALUnit_.resize(pictureParameterSetLength); + stream->read_bytes(&vcodec_->pictureParameterSetNALUnit_[0], pictureParameterSetLength); } } return avc_demux_sps(); @@ -1819,12 +1819,12 @@ srs_error_t SrsFormat::avc_demux_sps() { srs_error_t err = srs_success; - if (vcodec->sequenceParameterSetNALUnit.empty()) { + if (vcodec_->sequenceParameterSetNALUnit_.empty()) { return err; } - char *sps = &vcodec->sequenceParameterSetNALUnit[0]; - int nbsps = (int)vcodec->sequenceParameterSetNALUnit.size(); + char *sps = &vcodec_->sequenceParameterSetNALUnit_[0]; + int nbsps = (int)vcodec_->sequenceParameterSetNALUnit_.size(); SrsBuffer stream(sps, nbsps); @@ -1858,7 +1858,7 @@ srs_error_t SrsFormat::avc_demux_sps() // decode the rbsp from sps. // rbsp[ i ] a raw byte sequence payload is specified as an ordered sequence of bytes. - std::vector rbsp(vcodec->sequenceParameterSetNALUnit.size()); + std::vector rbsp(vcodec_->sequenceParameterSetNALUnit_.size()); int nb_rbsp = srs_rbsp_remove_emulation_bytes(&stream, rbsp); @@ -1871,7 +1871,7 @@ srs_error_t SrsFormat::avc_demux_sps_rbsp(char *rbsp, int nb_rbsp) // we donot parse the detail of sps. // @see https://github.com/ossrs/srs/issues/474 - if (!avc_parse_sps) { + if (!avc_parse_sps_) { return err; } @@ -2088,8 +2088,8 @@ srs_error_t SrsFormat::avc_demux_sps_rbsp(char *rbsp, int nb_rbsp) ; } - vcodec->width = ((pic_width_in_mbs_minus1 + 1) * 16) - frame_crop_left_offset * 2 - frame_crop_right_offset * 2; - vcodec->height = ((2 - frame_mbs_only_flag) * (pic_height_in_map_units_minus1 + 1) * 16) - (frame_crop_top_offset * 2) - (frame_crop_bottom_offset * 2); + vcodec_->width_ = ((pic_width_in_mbs_minus1 + 1) * 16) - frame_crop_left_offset * 2 - frame_crop_right_offset * 2; + vcodec_->height_ = ((2 - frame_mbs_only_flag) * (pic_height_in_map_units_minus1 + 1) * 16) - (frame_crop_top_offset * 2) - (frame_crop_bottom_offset * 2); return err; } @@ -2101,34 +2101,34 @@ srs_error_t SrsFormat::video_nalu_demux(SrsBuffer *stream) srs_error_t err = srs_success; // ensure the sequence header demuxed - if (!vcodec->is_avc_codec_ok()) { + if (!vcodec_->is_avc_codec_ok()) { srs_warn("avc ignore type=%d for no sequence header", SrsVideoAvcFrameTraitNALU); return err; } - if (vcodec->id == SrsVideoCodecIdHEVC) { + if (vcodec_->id_ == SrsVideoCodecIdHEVC) { // TODO: FIXME: Might need to guess format? return do_avc_demux_ibmf_format(stream); } // Parse the SPS/PPS in ANNEXB or IBMF format. - if (vcodec->payload_format == SrsAvcPayloadFormatIbmf) { + if (vcodec_->payload_format_ == SrsAvcPayloadFormatIbmf) { if ((err = avc_demux_ibmf_format(stream)) != srs_success) { return srs_error_wrap(err, "avc demux ibmf"); } - } else if (vcodec->payload_format == SrsAvcPayloadFormatAnnexb) { + } else if (vcodec_->payload_format_ == SrsAvcPayloadFormatAnnexb) { if ((err = avc_demux_annexb_format(stream)) != srs_success) { return srs_error_wrap(err, "avc demux annexb"); } } else { - if ((err = try_annexb_first ? avc_demux_annexb_format(stream) : avc_demux_ibmf_format(stream)) == srs_success) { - vcodec->payload_format = try_annexb_first ? SrsAvcPayloadFormatAnnexb : SrsAvcPayloadFormatIbmf; + if ((err = try_annexb_first_ ? avc_demux_annexb_format(stream) : avc_demux_ibmf_format(stream)) == srs_success) { + vcodec_->payload_format_ = try_annexb_first_ ? SrsAvcPayloadFormatAnnexb : SrsAvcPayloadFormatIbmf; } else { srs_freep(err); - if ((err = try_annexb_first ? avc_demux_ibmf_format(stream) : avc_demux_annexb_format(stream)) == srs_success) { - vcodec->payload_format = try_annexb_first ? SrsAvcPayloadFormatIbmf : SrsAvcPayloadFormatAnnexb; + if ((err = try_annexb_first_ ? avc_demux_ibmf_format(stream) : avc_demux_annexb_format(stream)) == srs_success) { + vcodec_->payload_format_ = try_annexb_first_ ? SrsAvcPayloadFormatIbmf : SrsAvcPayloadFormatAnnexb; } else { - return srs_error_wrap(err, "avc demux try_annexb_first=%d", try_annexb_first); + return srs_error_wrap(err, "avc demux try_annexb_first=%d", try_annexb_first_); } } } @@ -2195,7 +2195,7 @@ srs_error_t SrsFormat::do_avc_demux_annexb_format(SrsBuffer *stream) } // got the NALU. - if ((err = video->add_sample(p, (int)(pp - p))) != srs_success) { + if ((err = video_->add_sample(p, (int)(pp - p))) != srs_success) { return srs_error_wrap(err, "add video frame"); } } @@ -2229,20 +2229,20 @@ srs_error_t SrsFormat::do_avc_demux_ibmf_format(SrsBuffer *stream) // 5.2.4.1.2 Semantics // The value of this field shall be one of 0, 1, or 3 corresponding to a // length encoded with 1, 2, or 4 bytes, respectively. - srs_assert(vcodec->NAL_unit_length != 2); + srs_assert(vcodec_->NAL_unit_length_ != 2); // 5.3.4.2.1 Syntax, ISO_IEC_14496-15-AVC-format-2012.pdf, page 20 for (int i = 0; i < PictureLength;) { // unsigned int((NAL_unit_length+1)*8) NALUnitLength; // TODO: FIXME: Should ignore error? See https://github.com/ossrs/srs-gb28181/commit/a13b9b54938a14796abb9011e7a8ee779439a452 - if (!stream->require(vcodec->NAL_unit_length + 1)) { + if (!stream->require(vcodec_->NAL_unit_length_ + 1)) { return srs_error_new(ERROR_HLS_DECODE_ERROR, "PictureLength:%d, i:%d, NaluLength:%d, left:%d", - PictureLength, i, vcodec->NAL_unit_length, stream->left()); + PictureLength, i, vcodec_->NAL_unit_length_, stream->left()); } int32_t NALUnitLength = 0; - if (vcodec->NAL_unit_length == 3) { + if (vcodec_->NAL_unit_length_ == 3) { NALUnitLength = stream->read_4bytes(); - } else if (vcodec->NAL_unit_length == 1) { + } else if (vcodec_->NAL_unit_length_ == 1) { NALUnitLength = stream->read_2bytes(); } else { NALUnitLength = stream->read_1bytes(); @@ -2251,21 +2251,21 @@ srs_error_t SrsFormat::do_avc_demux_ibmf_format(SrsBuffer *stream) // The stream format mighe be incorrect, see: https://github.com/ossrs/srs/issues/183 if (NALUnitLength < 0) { return srs_error_new(ERROR_HLS_DECODE_ERROR, "PictureLength:%d, i:%d, NaluLength:%d, left:%d, NALUnitLength:%d", - PictureLength, i, vcodec->NAL_unit_length, stream->left(), NALUnitLength); + PictureLength, i, vcodec_->NAL_unit_length_, stream->left(), NALUnitLength); } // NALUnit if (!stream->require(NALUnitLength)) { return srs_error_new(ERROR_HLS_DECODE_ERROR, "PictureLength:%d, i:%d, NaluLength:%d, left:%d, NALUnitLength:%d", - PictureLength, i, vcodec->NAL_unit_length, stream->left(), NALUnitLength); + PictureLength, i, vcodec_->NAL_unit_length_, stream->left(), NALUnitLength); } // 7.3.1 NAL unit syntax, ISO_IEC_14496-10-AVC-2003.pdf, page 44. - if ((err = video->add_sample(stream->data() + stream->pos(), NALUnitLength)) != srs_success) { + if ((err = video_->add_sample(stream->data() + stream->pos(), NALUnitLength)) != srs_success) { return srs_error_wrap(err, "avc add video frame"); } stream->skip(NALUnitLength); - i += vcodec->NAL_unit_length + 1 + NALUnitLength; + i += vcodec_->NAL_unit_length_ + 1 + NALUnitLength; } return err; @@ -2275,8 +2275,8 @@ srs_error_t SrsFormat::audio_aac_demux(SrsBuffer *stream, int64_t timestamp) { srs_error_t err = srs_success; - audio->cts = 0; - audio->dts = timestamp; + audio_->cts_ = 0; + audio_->dts_ = timestamp; // @see: E.4.2 Audio Tags, video_file_format_spec_v10_1.pdf, page 76 int8_t sound_format = stream->read_1bytes(); @@ -2287,11 +2287,11 @@ srs_error_t SrsFormat::audio_aac_demux(SrsBuffer *stream, int64_t timestamp) sound_format = (sound_format >> 4) & 0x0f; SrsAudioCodecId codec_id = (SrsAudioCodecId)sound_format; - acodec->id = codec_id; + acodec_->id_ = codec_id; - acodec->sound_type = (SrsAudioChannels)sound_type; - acodec->sound_rate = (SrsAudioSampleRate)sound_rate; - acodec->sound_size = (SrsAudioSampleBits)sound_size; + acodec_->sound_type_ = (SrsAudioChannels)sound_type; + acodec_->sound_rate_ = (SrsAudioSampleRate)sound_rate; + acodec_->sound_size_ = (SrsAudioSampleBits)sound_size; // we support h.264+mp3 for hls. if (codec_id == SrsAudioCodecIdMP3) { @@ -2308,11 +2308,11 @@ srs_error_t SrsFormat::audio_aac_demux(SrsBuffer *stream, int64_t timestamp) } SrsAudioAacFrameTrait aac_packet_type = (SrsAudioAacFrameTrait)stream->read_1bytes(); - audio->aac_packet_type = (SrsAudioAacFrameTrait)aac_packet_type; + audio_->aac_packet_type_ = (SrsAudioAacFrameTrait)aac_packet_type; // Update the RAW AAC data. - raw = stream->data() + stream->pos(); - nb_raw = stream->size() - stream->pos(); + raw_ = stream->data() + stream->pos(); + nb_raw_ = stream->size() - stream->pos(); if (aac_packet_type == SrsAudioAacFrameTraitSequenceHeader) { // AudioSpecificConfig @@ -2320,22 +2320,22 @@ srs_error_t SrsFormat::audio_aac_demux(SrsBuffer *stream, int64_t timestamp) int aac_extra_size = stream->size() - stream->pos(); if (aac_extra_size > 0) { char *copy_stream_from = stream->data() + stream->pos(); - acodec->aac_extra_data = std::vector(copy_stream_from, copy_stream_from + aac_extra_size); + acodec_->aac_extra_data_ = std::vector(copy_stream_from, copy_stream_from + aac_extra_size); - if ((err = audio_aac_sequence_header_demux(&acodec->aac_extra_data[0], aac_extra_size)) != srs_success) { + if ((err = audio_aac_sequence_header_demux(&acodec_->aac_extra_data_[0], aac_extra_size)) != srs_success) { return srs_error_wrap(err, "demux aac sh"); } } } else if (aac_packet_type == SrsAudioAacFrameTraitRawData) { // ensure the sequence header demuxed - if (!acodec->is_aac_codec_ok()) { + if (!acodec_->is_aac_codec_ok()) { srs_warn("aac ignore type=%d for no sequence header", aac_packet_type); return err; } // Raw AAC frame data in UI8 [] // 6.3 Raw Data, ISO_IEC_13818-7-AAC-2004.pdf, page 28 - if ((err = audio->add_sample(stream->data() + stream->pos(), stream->size() - stream->pos())) != srs_success) { + if ((err = audio_->add_sample(stream->data() + stream->pos(), stream->size() - stream->pos())) != srs_success) { return srs_error_wrap(err, "add audio frame"); } } else { @@ -2343,21 +2343,21 @@ srs_error_t SrsFormat::audio_aac_demux(SrsBuffer *stream, int64_t timestamp) } // reset the sample rate by sequence header - if (acodec->aac_sample_rate != SrsAacSampleRateUnset) { + if (acodec_->aac_sample_rate_ != SrsAacSampleRateUnset) { static int srs_aac_srates[] = { 96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000, 7350, 0, 0, 0}; - switch (srs_aac_srates[acodec->aac_sample_rate]) { + switch (srs_aac_srates[acodec_->aac_sample_rate_]) { case 11025: - acodec->sound_rate = SrsAudioSampleRate11025; + acodec_->sound_rate_ = SrsAudioSampleRate11025; break; case 22050: - acodec->sound_rate = SrsAudioSampleRate22050; + acodec_->sound_rate_ = SrsAudioSampleRate22050; break; case 44100: - acodec->sound_rate = SrsAudioSampleRate44100; + acodec_->sound_rate_ = SrsAudioSampleRate44100; break; default: break; @@ -2371,9 +2371,9 @@ srs_error_t SrsFormat::audio_mp3_demux(SrsBuffer *stream, int64_t timestamp, boo { srs_error_t err = srs_success; - audio->cts = 0; - audio->dts = timestamp; - audio->aac_packet_type = fresh ? SrsAudioMp3FrameTraitSequenceHeader : SrsAudioMp3FrameTraitRawData; + audio_->cts_ = 0; + audio_->dts_ = timestamp; + audio_->aac_packet_type_ = fresh ? SrsAudioMp3FrameTraitSequenceHeader : SrsAudioMp3FrameTraitRawData; // @see: E.4.2 Audio Tags, video_file_format_spec_v10_1.pdf, page 76 int8_t sound_format = stream->read_1bytes(); @@ -2384,22 +2384,22 @@ srs_error_t SrsFormat::audio_mp3_demux(SrsBuffer *stream, int64_t timestamp, boo sound_format = (sound_format >> 4) & 0x0f; SrsAudioCodecId codec_id = (SrsAudioCodecId)sound_format; - acodec->id = codec_id; + acodec_->id_ = codec_id; - acodec->sound_type = (SrsAudioChannels)sound_type; - acodec->sound_rate = (SrsAudioSampleRate)sound_rate; - acodec->sound_size = (SrsAudioSampleBits)sound_size; + acodec_->sound_type_ = (SrsAudioChannels)sound_type; + acodec_->sound_rate_ = (SrsAudioSampleRate)sound_rate; + acodec_->sound_size_ = (SrsAudioSampleBits)sound_size; // we always decode aac then mp3. - srs_assert(acodec->id == SrsAudioCodecIdMP3); + srs_assert(acodec_->id_ == SrsAudioCodecIdMP3); // Update the RAW MP3 data. Note the start is 12 bits syncword 0xFFF, so we should not skip any bytes, for detail // please see ISO_IEC_11172-3-MP3-1993.pdf page 20 and 26. - raw = stream->data() + stream->pos(); - nb_raw = stream->size() - stream->pos(); + raw_ = stream->data() + stream->pos(); + nb_raw_ = stream->size() - stream->pos(); // mp3 payload. - if ((err = audio->add_sample(raw, nb_raw)) != srs_success) { + if ((err = audio_->add_sample(raw_, nb_raw_)) != srs_success) { return srs_error_wrap(err, "add audio frame"); } @@ -2422,16 +2422,16 @@ srs_error_t SrsFormat::audio_aac_sequence_header_demux(char *data, int size) uint8_t profile_ObjectType = buffer->read_1bytes(); uint8_t samplingFrequencyIndex = buffer->read_1bytes(); - acodec->aac_channels = (samplingFrequencyIndex >> 3) & 0x0f; + acodec_->aac_channels_ = (samplingFrequencyIndex >> 3) & 0x0f; samplingFrequencyIndex = ((profile_ObjectType << 1) & 0x0e) | ((samplingFrequencyIndex >> 7) & 0x01); profile_ObjectType = (profile_ObjectType >> 3) & 0x1f; // set the aac sample rate. - acodec->aac_sample_rate = samplingFrequencyIndex; + acodec_->aac_sample_rate_ = samplingFrequencyIndex; // convert the object type in sequence header to aac profile of ADTS. - acodec->aac_object = (SrsAacObjectType)profile_ObjectType; - if (acodec->aac_object == SrsAacObjectTypeReserved) { + acodec_->aac_object_ = (SrsAacObjectType)profile_ObjectType; + if (acodec_->aac_object_ == SrsAacObjectTypeReserved) { return srs_error_new(ERROR_HLS_DECODE_ERROR, "aac decode sh object %d", profile_ObjectType); } diff --git a/trunk/src/kernel/srs_kernel_packet.hpp b/trunk/src/kernel/srs_kernel_packet.hpp index 31c572c11..a4e29302c 100644 --- a/trunk/src/kernel/srs_kernel_packet.hpp +++ b/trunk/src/kernel/srs_kernel_packet.hpp @@ -21,9 +21,9 @@ class SrsNaluSample { public: // The size of unit. - int size; + int size_; // The ptr of unit, user must free it. - char *bytes; + char *bytes_; public: SrsNaluSample(); @@ -42,14 +42,14 @@ class SrsMediaPacket { public: // Timestamp of the media packet. The timebase is defined by context. - int64_t timestamp; + int64_t timestamp_; // Type of the media packet (audio, video, or script). - SrsFrameType message_type; + SrsFrameType message_type_; public: // Stream identifier for the packet. It's optional, so only used for some // protocols, for example, RTMP. - int32_t stream_id; + int32_t stream_id_; public: // Raw payload data of the media packet. @@ -88,17 +88,17 @@ class SrsParsedPacket { public: // The DTS/PTS in milliseconds, which is TBN=1000. - int64_t dts; + int64_t dts_; // PTS = DTS + CTS. - int32_t cts; + int32_t cts_; public: // The codec info of frame. - SrsCodecConfig *codec; + SrsCodecConfig *codec_; // The actual parsed number of samples. - int nb_samples; + int nb_samples_; // The sampels cache. - SrsNaluSample samples[SrsMaxNbSamples]; + SrsNaluSample samples_[SrsMaxNbSamples]; public: SrsParsedPacket(); @@ -115,7 +115,7 @@ public: class SrsParsedAudioPacket : public SrsParsedPacket { public: - SrsAudioAacFrameTrait aac_packet_type; + SrsAudioAacFrameTrait aac_packet_type_; public: SrsParsedAudioPacket(); @@ -130,16 +130,16 @@ class SrsParsedVideoPacket : public SrsParsedPacket { public: // video specified - SrsVideoAvcFrameType frame_type; - SrsVideoAvcFrameTrait avc_packet_type; + SrsVideoAvcFrameType frame_type_; + SrsVideoAvcFrameTrait avc_packet_type_; // whether sample_units contains IDR frame. - bool has_idr; + bool has_idr_; // Whether exists AUD NALU. - bool has_aud; + bool has_aud_; // Whether exists SPS/PPS NALU. - bool has_sps_pps; + bool has_sps_pps_; // The first nalu type. - SrsAvcNaluType first_nalu_type; + SrsAvcNaluType first_nalu_type_; public: SrsParsedVideoPacket(); @@ -169,21 +169,21 @@ public: class SrsFormat { public: - SrsParsedAudioPacket *audio; - SrsAudioCodecConfig *acodec; - SrsParsedVideoPacket *video; - SrsVideoCodecConfig *vcodec; + SrsParsedAudioPacket *audio_; + SrsAudioCodecConfig *acodec_; + SrsParsedVideoPacket *video_; + SrsVideoCodecConfig *vcodec_; public: - char *raw; - int nb_raw; + char *raw_; + int nb_raw_; public: // for sequence header, whether parse the h.264 sps. // TODO: FIXME: Refine it. - bool avc_parse_sps; + bool avc_parse_sps_; // Whether try to parse in ANNEXB, then by IBMF. - bool try_annexb_first; + bool try_annexb_first_; public: SrsFormat(); diff --git a/trunk/src/kernel/srs_kernel_ps.cpp b/trunk/src/kernel/srs_kernel_ps.cpp index f78d5b6c0..8c5b820c9 100644 --- a/trunk/src/kernel/srs_kernel_ps.cpp +++ b/trunk/src/kernel/srs_kernel_ps.cpp @@ -110,13 +110,13 @@ srs_error_t SrsPsContext::decode(SrsBuffer *stream, ISrsPsMessageHandler *handle // Reap the last completed PS message. SrsUniquePtr msg(reap()); - if (msg->sid == SrsTsPESStreamIdProgramStreamMap) { - if (!msg->payload || !msg->payload->length()) { + if (msg->sid_ == SrsTsPESStreamIdProgramStreamMap) { + if (!msg->payload_ || !msg->payload_->length()) { return srs_error_new(ERROR_GB_PS_HEADER, "empty PSM payload"); } // Decode PSM(Program Stream map) from PES packet payload. - SrsBuffer buf(msg->payload->bytes(), msg->payload->length()); + SrsBuffer buf(msg->payload_->bytes(), msg->payload_->length()); SrsPsPsmPacket psm; if ((err = psm.decode(&buf)) != srs_success) { @@ -277,19 +277,19 @@ srs_error_t SrsPsPacket::decode(SrsBuffer *stream) SrsTsMessage *lm = context_->last(); // The stream id should never change for PS stream. - if (lm->sid != (SrsTsPESStreamId)0 && lm->sid != (SrsTsPESStreamId)pes.stream_id) { - return srs_error_new(ERROR_GB_PS_PSE, "PS stream id change from %#x to %#x", lm->sid, pes.stream_id); + if (lm->sid_ != (SrsTsPESStreamId)0 && lm->sid_ != (SrsTsPESStreamId)pes.stream_id_) { + return srs_error_new(ERROR_GB_PS_PSE, "PS stream id change from %#x to %#x", lm->sid_, pes.stream_id_); } - lm->sid = (SrsTsPESStreamId)pes.stream_id; + lm->sid_ = (SrsTsPESStreamId)pes.stream_id_; - if (pes.PTS_DTS_flags == 0x02 || pes.PTS_DTS_flags == 0x03) { - lm->dts = pes.dts; - lm->pts = pes.pts; + if (pes.PTS_DTS_flags_ == 0x02 || pes.PTS_DTS_flags_ == 0x03) { + lm->dts_ = pes.dts_; + lm->pts_ = pes.pts_; } if (pes.has_payload_) { // The size of PS message, should be always a positive value. - lm->PES_packet_length = pes.nb_payload_; - if ((err = lm->dump(stream, &pes.nb_bytes)) != srs_success) { + lm->PES_packet_length_ = pes.nb_payload_; + if ((err = lm->dump(stream, &pes.nb_bytes_)) != srs_success) { return srs_error_wrap(err, "dump pes"); } } diff --git a/trunk/src/kernel/srs_kernel_rtc_rtcp.cpp b/trunk/src/kernel/srs_kernel_rtc_rtcp.cpp index 5801c9061..3c5110bb3 100644 --- a/trunk/src/kernel/srs_kernel_rtc_rtcp.cpp +++ b/trunk/src/kernel/srs_kernel_rtc_rtcp.cpp @@ -487,78 +487,78 @@ uint8_t SrsRtcpRR::type() const uint32_t SrsRtcpRR::get_rb_ssrc() const { - return rb_.ssrc; + return rb_.ssrc_; } float SrsRtcpRR::get_lost_rate() const { - return rb_.fraction_lost / 256; + return rb_.fraction_lost_ / 256; } uint32_t SrsRtcpRR::get_lost_packets() const { - return rb_.lost_packets; + return rb_.lost_packets_; } uint32_t SrsRtcpRR::get_highest_sn() const { - return rb_.highest_sn; + return rb_.highest_sn_; } uint32_t SrsRtcpRR::get_jitter() const { - return rb_.jitter; + return rb_.jitter_; } uint32_t SrsRtcpRR::get_lsr() const { - return rb_.lsr; + return rb_.lsr_; } uint32_t SrsRtcpRR::get_dlsr() const { - return rb_.dlsr; + return rb_.dlsr_; } void SrsRtcpRR::set_rb_ssrc(uint32_t ssrc) { - rb_.ssrc = ssrc; + rb_.ssrc_ = ssrc; } void SrsRtcpRR::set_lost_rate(float rate) { - rb_.fraction_lost = rate * 256; + rb_.fraction_lost_ = rate * 256; } void SrsRtcpRR::set_lost_packets(uint32_t count) { - rb_.lost_packets = count; + rb_.lost_packets_ = count; } void SrsRtcpRR::set_highest_sn(uint32_t sn) { - rb_.highest_sn = sn; + rb_.highest_sn_ = sn; } void SrsRtcpRR::set_jitter(uint32_t jitter) { - rb_.jitter = jitter; + rb_.jitter_ = jitter; } void SrsRtcpRR::set_lsr(uint32_t lsr) { - rb_.lsr = lsr; + rb_.lsr_ = lsr; } void SrsRtcpRR::set_dlsr(uint32_t dlsr) { - rb_.dlsr = dlsr; + rb_.dlsr_ = dlsr; } void SrsRtcpRR::set_sender_ntp(uint64_t ntp) { uint32_t lsr = (uint32_t)((ntp >> 16) & 0x00000000FFFFFFFF); - rb_.lsr = lsr; + rb_.lsr_ = lsr; } srs_error_t SrsRtcpRR::decode(SrsBuffer *buffer) @@ -609,13 +609,13 @@ block +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ } // TODO: FIXME: Security check for read. - rb_.ssrc = buffer->read_4bytes(); - rb_.fraction_lost = buffer->read_1bytes(); - rb_.lost_packets = buffer->read_3bytes(); - rb_.highest_sn = buffer->read_4bytes(); - rb_.jitter = buffer->read_4bytes(); - rb_.lsr = buffer->read_4bytes(); - rb_.dlsr = buffer->read_4bytes(); + rb_.ssrc_ = buffer->read_4bytes(); + rb_.fraction_lost_ = buffer->read_1bytes(); + rb_.lost_packets_ = buffer->read_3bytes(); + rb_.highest_sn_ = buffer->read_4bytes(); + rb_.jitter_ = buffer->read_4bytes(); + rb_.lsr_ = buffer->read_4bytes(); + rb_.dlsr_ = buffer->read_4bytes(); // TODO: FIXME: Security check for read. if (header_.rc > 1) { @@ -673,23 +673,23 @@ block +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ return srs_error_wrap(err, "encode header"); } - buffer->write_4bytes(rb_.ssrc); - buffer->write_1bytes(rb_.fraction_lost); - buffer->write_3bytes(rb_.lost_packets); - buffer->write_4bytes(rb_.highest_sn); - buffer->write_4bytes(rb_.jitter); - buffer->write_4bytes(rb_.lsr); - buffer->write_4bytes(rb_.dlsr); + buffer->write_4bytes(rb_.ssrc_); + buffer->write_1bytes(rb_.fraction_lost_); + buffer->write_3bytes(rb_.lost_packets_); + buffer->write_4bytes(rb_.highest_sn_); + buffer->write_4bytes(rb_.jitter_); + buffer->write_4bytes(rb_.lsr_); + buffer->write_4bytes(rb_.dlsr_); return err; } SrsRtcpTWCC::SrsRtcpTWCCChunk::SrsRtcpTWCCChunk() - : size(0), all_same(true), has_large_delta(false) + : size_(0), all_same_(true), has_large_delta_(false) { } -SrsRtcpTWCC::SrsRtcpTWCC(uint32_t sender_ssrc) : pkt_len(0) +SrsRtcpTWCC::SrsRtcpTWCC(uint32_t sender_ssrc) : pkt_len_(0) { header_.padding = 0; header_.type = SrsRtcpType_rtpfb; @@ -850,21 +850,21 @@ srs_utime_t SrsRtcpTWCC::calculate_delta_us(srs_utime_t ts, srs_utime_t last) bool SrsRtcpTWCC::can_add_to_chunk(SrsRtcpTWCC::SrsRtcpTWCCChunk &chunk, int delta_size) { srs_verbose("can_add %d chunk->size %u delta_sizes %d %d %d %d %d %d %d %d %d %d %d %d %d %d all_same %d has_large_delta %d", - delta_size, chunk.size, chunk.delta_sizes[0], chunk.delta_sizes[1], chunk.delta_sizes[2], chunk.delta_sizes[3], - chunk.delta_sizes[4], chunk.delta_sizes[5], chunk.delta_sizes[6], chunk.delta_sizes[7], chunk.delta_sizes[8], - chunk.delta_sizes[9], chunk.delta_sizes[10], chunk.delta_sizes[11], chunk.delta_sizes[12], chunk.delta_sizes[13], - (int)chunk.all_same, (int)chunk.has_large_delta); + delta_size, chunk.size_, chunk.delta_sizes_[0], chunk.delta_sizes_[1], chunk.delta_sizes_[2], chunk.delta_sizes_[3], + chunk.delta_sizes_[4], chunk.delta_sizes_[5], chunk.delta_sizes_[6], chunk.delta_sizes_[7], chunk.delta_sizes_[8], + chunk.delta_sizes_[9], chunk.delta_sizes_[10], chunk.delta_sizes_[11], chunk.delta_sizes_[12], chunk.delta_sizes_[13], + (int)chunk.all_same_, (int)chunk.has_large_delta_); - if (chunk.size < kTwccFbTwoBitElements) { + if (chunk.size_ < kTwccFbTwoBitElements) { return true; } - if (chunk.size < kTwccFbOneBitElements && !chunk.has_large_delta && delta_size != kTwccFbLargeRecvDeltaBytes) { + if (chunk.size_ < kTwccFbOneBitElements && !chunk.has_large_delta_ && delta_size != kTwccFbLargeRecvDeltaBytes) { return true; } - if (chunk.size < kTwccFbMaxRunLength && chunk.all_same && chunk.delta_sizes[0] == delta_size) { - srs_verbose("< %d && all_same && delta_size[0] %d == %d", kTwccFbMaxRunLength, chunk.delta_sizes[0], delta_size); + if (chunk.size_ < kTwccFbMaxRunLength && chunk.all_same_ && chunk.delta_sizes_[0] == delta_size) { + srs_verbose("< %d && all_same && delta_size[0] %d == %d", kTwccFbMaxRunLength, chunk.delta_sizes_[0], delta_size); return true; } @@ -873,25 +873,25 @@ bool SrsRtcpTWCC::can_add_to_chunk(SrsRtcpTWCC::SrsRtcpTWCCChunk &chunk, int del void SrsRtcpTWCC::add_to_chunk(SrsRtcpTWCC::SrsRtcpTWCCChunk &chunk, int delta_size) { - if (chunk.size < kTwccFbMaxBitElements) { - chunk.delta_sizes[chunk.size] = delta_size; + if (chunk.size_ < kTwccFbMaxBitElements) { + chunk.delta_sizes_[chunk.size_] = delta_size; } - chunk.size += 1; - chunk.all_same = chunk.all_same && delta_size == chunk.delta_sizes[0]; - chunk.has_large_delta = chunk.has_large_delta || delta_size >= kTwccFbLargeRecvDeltaBytes; + chunk.size_ += 1; + chunk.all_same_ = chunk.all_same_ && delta_size == chunk.delta_sizes_[0]; + chunk.has_large_delta_ = chunk.has_large_delta_ || delta_size >= kTwccFbLargeRecvDeltaBytes; } srs_error_t SrsRtcpTWCC::encode_chunk_run_length(SrsRtcpTWCC::SrsRtcpTWCCChunk &chunk) { - if (!chunk.all_same || chunk.size > kTwccFbMaxRunLength) { - return srs_error_new(ERROR_RTC_RTCP, "invalid run all_same:%d, size:%d", chunk.all_same, chunk.size); + if (!chunk.all_same_ || chunk.size_ > kTwccFbMaxRunLength) { + return srs_error_new(ERROR_RTC_RTCP, "invalid run all_same:%d, size:%d", chunk.all_same_, chunk.size_); } - uint16_t encoded_chunk = (chunk.delta_sizes[0] << 13) | chunk.size; + uint16_t encoded_chunk = (chunk.delta_sizes_[0] << 13) | chunk.size_; encoded_chucks_.push_back(encoded_chunk); - pkt_len += sizeof(encoded_chunk); + pkt_len_ += sizeof(encoded_chunk); return srs_success; } @@ -899,17 +899,17 @@ srs_error_t SrsRtcpTWCC::encode_chunk_run_length(SrsRtcpTWCC::SrsRtcpTWCCChunk & srs_error_t SrsRtcpTWCC::encode_chunk_one_bit(SrsRtcpTWCC::SrsRtcpTWCCChunk &chunk) { int i = 0; - if (chunk.has_large_delta) { + if (chunk.has_large_delta_) { return srs_error_new(ERROR_RTC_RTCP, "invalid large delta"); } uint16_t encoded_chunk = 0x8000; - for (i = 0; i < chunk.size; ++i) { - encoded_chunk |= (chunk.delta_sizes[i] << (kTwccFbOneBitElements - 1 - i)); + for (i = 0; i < chunk.size_; ++i) { + encoded_chunk |= (chunk.delta_sizes_[i] << (kTwccFbOneBitElements - 1 - i)); } encoded_chucks_.push_back(encoded_chunk); - pkt_len += sizeof(encoded_chunk); + pkt_len_ += sizeof(encoded_chunk); // 1 0 symbol_list return srs_success; @@ -923,20 +923,20 @@ srs_error_t SrsRtcpTWCC::encode_chunk_two_bit(SrsRtcpTWCC::SrsRtcpTWCCChunk &chu uint16_t encoded_chunk = 0xc000; // 1 1 symbol_list for (i = 0; i < size; ++i) { - encoded_chunk |= (chunk.delta_sizes[i] << (2 * (kTwccFbTwoBitElements - 1 - i))); + encoded_chunk |= (chunk.delta_sizes_[i] << (2 * (kTwccFbTwoBitElements - 1 - i))); } encoded_chucks_.push_back(encoded_chunk); - pkt_len += sizeof(encoded_chunk); + pkt_len_ += sizeof(encoded_chunk); if (shift) { - chunk.size -= size; - chunk.all_same = true; - chunk.has_large_delta = false; - for (i = 0; i < chunk.size; ++i) { - delta_size = chunk.delta_sizes[i + size]; - chunk.delta_sizes[i] = delta_size; - chunk.all_same = (chunk.all_same && delta_size == chunk.delta_sizes[0]); - chunk.has_large_delta = chunk.has_large_delta || delta_size == kTwccFbLargeRecvDeltaBytes; + chunk.size_ -= size; + chunk.all_same_ = true; + chunk.has_large_delta_ = false; + for (i = 0; i < chunk.size_; ++i) { + delta_size = chunk.delta_sizes_[i + size]; + chunk.delta_sizes_[i] = delta_size; + chunk.all_same_ = (chunk.all_same_ && delta_size == chunk.delta_sizes_[0]); + chunk.has_large_delta_ = chunk.has_large_delta_ || delta_size == kTwccFbLargeRecvDeltaBytes; } } @@ -945,10 +945,10 @@ srs_error_t SrsRtcpTWCC::encode_chunk_two_bit(SrsRtcpTWCC::SrsRtcpTWCCChunk &chu void SrsRtcpTWCC::reset_chunk(SrsRtcpTWCC::SrsRtcpTWCCChunk &chunk) { - chunk.size = 0; + chunk.size_ = 0; - chunk.all_same = true; - chunk.has_large_delta = false; + chunk.all_same_ = true; + chunk.has_large_delta_ = false; } srs_error_t SrsRtcpTWCC::encode_chunk(SrsRtcpTWCC::SrsRtcpTWCCChunk &chunk) @@ -959,7 +959,7 @@ srs_error_t SrsRtcpTWCC::encode_chunk(SrsRtcpTWCC::SrsRtcpTWCCChunk &chunk) return srs_error_new(ERROR_RTC_RTCP, "TWCC chunk"); } - if (chunk.all_same) { + if (chunk.all_same_) { if ((err = encode_chunk_run_length(chunk)) != srs_success) { return srs_error_wrap(err, "encode run"); } @@ -967,7 +967,7 @@ srs_error_t SrsRtcpTWCC::encode_chunk(SrsRtcpTWCC::SrsRtcpTWCCChunk &chunk) return err; } - if (chunk.size == kTwccFbOneBitElements) { + if (chunk.size_ == kTwccFbOneBitElements) { if ((err = encode_chunk_one_bit(chunk)) != srs_success) { return srs_error_wrap(err, "encode chunk"); } @@ -984,11 +984,11 @@ srs_error_t SrsRtcpTWCC::encode_chunk(SrsRtcpTWCC::SrsRtcpTWCCChunk &chunk) srs_error_t SrsRtcpTWCC::encode_remaining_chunk(SrsRtcpTWCC::SrsRtcpTWCCChunk &chunk) { - if (chunk.all_same) { + if (chunk.all_same_) { return encode_chunk_run_length(chunk); - } else if (chunk.size <= kTwccFbTwoBitElements) { + } else if (chunk.size_ <= kTwccFbTwoBitElements) { // FIXME, TRUE or FALSE - return encode_chunk_two_bit(chunk, chunk.size, false); + return encode_chunk_two_bit(chunk, chunk.size_, false); } return encode_chunk_one_bit(chunk); } @@ -997,15 +997,15 @@ srs_error_t SrsRtcpTWCC::process_pkt_chunk(SrsRtcpTWCC::SrsRtcpTWCCChunk &chunk, { srs_error_t err = srs_success; - size_t needed_chunk_size = chunk.size == 0 ? kTwccFbChunkBytes : 0; + size_t needed_chunk_size = chunk.size_ == 0 ? kTwccFbChunkBytes : 0; - size_t might_occupied = pkt_len + needed_chunk_size + delta_size; + size_t might_occupied = pkt_len_ + needed_chunk_size + delta_size; if (might_occupied > (size_t)kRtcpPacketSize) { return srs_error_new(ERROR_RTC_RTCP, "might_occupied %zu", might_occupied); } if (can_add_to_chunk(chunk, delta_size)) { - // pkt_len += needed_chunk_size; + // pkt_len_ += needed_chunk_size; add_to_chunk(chunk, delta_size); return err; } @@ -1065,7 +1065,7 @@ srs_error_t SrsRtcpTWCC::do_encode(SrsBuffer *buffer) return srs_error_new(ERROR_RTC_RTCP, "requires %d bytes", nb_bytes()); } - pkt_len = kTwccFbPktHeaderSize; + pkt_len_ = kTwccFbPktHeaderSize; set::iterator it_sn = recv_sns_.begin(); if (!next_base_sn_) { @@ -1089,7 +1089,7 @@ srs_error_t SrsRtcpTWCC::do_encode(SrsBuffer *buffer) for (; it_sn != recv_sns_.end(); ++it_sn) { // check whether exceed buffer len // max recv_delta_size = 2 - if (pkt_len + 2 >= buffer->left()) { + if (pkt_len_ + 2 >= buffer->left()) { break; } @@ -1123,7 +1123,7 @@ srs_error_t SrsRtcpTWCC::do_encode(SrsBuffer *buffer) pkt_deltas_.push_back(delta); last_ts += delta * kTwccFbDeltaUnit; - pkt_len += recv_delta_size; + pkt_len_ += recv_delta_size; last_sn = current_sn; recv_packets_.erase(it_ts); @@ -1134,17 +1134,17 @@ srs_error_t SrsRtcpTWCC::do_encode(SrsBuffer *buffer) next_base_sn_ = *it_sn; } - if (0 < chunk.size) { + if (0 < chunk.size_) { if ((err = encode_remaining_chunk(chunk)) != srs_success) { return srs_error_wrap(err, "encode chunk"); } } // encode rtcp twcc packet - if ((pkt_len % 4) == 0) { - header_.length = pkt_len / 4; + if ((pkt_len_ % 4) == 0) { + header_.length = pkt_len_ / 4; } else { - header_.length = (pkt_len + 4 - (pkt_len % 4)) / 4; + header_.length = (pkt_len_ + 4 - (pkt_len_ % 4)) / 4; } header_.length -= 1; @@ -1183,9 +1183,9 @@ srs_error_t SrsRtcpTWCC::do_encode(SrsBuffer *buffer) } } - while ((pkt_len % 4) != 0) { + while ((pkt_len_ % 4) != 0) { buffer->write_1bytes(0); - pkt_len++; + pkt_len_++; } encoded_chucks_.clear(); @@ -1312,14 +1312,14 @@ srs_error_t SrsRtcpNack::encode(SrsBuffer *buffer) vector chunks; do { SrsPidBlp chunk; - chunk.in_use = false; + chunk.in_use_ = false; uint16_t pid = 0; for (set::iterator it = lost_sns_.begin(); it != lost_sns_.end(); ++it) { uint16_t sn = *it; - if (!chunk.in_use) { - chunk.pid = sn; - chunk.blp = 0; - chunk.in_use = true; + if (!chunk.in_use_) { + chunk.pid_ = sn; + chunk.blp_ = 0; + chunk.in_use_ = true; pid = sn; continue; } @@ -1330,15 +1330,15 @@ srs_error_t SrsRtcpNack::encode(SrsBuffer *buffer) chunks.push_back(chunk); // start new chunk - chunk.pid = sn; - chunk.blp = 0; - chunk.in_use = true; + chunk.pid_ = sn; + chunk.blp_ = 0; + chunk.in_use_ = true; pid = sn; } else { - chunk.blp |= 1 << (sn - pid - 1); + chunk.blp_ |= 1 << (sn - pid - 1); } } - if (chunk.in_use) { + if (chunk.in_use_) { chunks.push_back(chunk); } @@ -1350,8 +1350,8 @@ srs_error_t SrsRtcpNack::encode(SrsBuffer *buffer) buffer->write_4bytes(media_ssrc_); for (vector::iterator it_chunk = chunks.begin(); it_chunk != chunks.end(); it_chunk++) { - buffer->write_2bytes(it_chunk->pid); - buffer->write_2bytes(it_chunk->blp); + buffer->write_2bytes(it_chunk->pid_); + buffer->write_2bytes(it_chunk->blp_); } } while (0); diff --git a/trunk/src/kernel/srs_kernel_rtc_rtcp.hpp b/trunk/src/kernel/srs_kernel_rtc_rtcp.hpp index 7454e1dd4..a39edb5d3 100644 --- a/trunk/src/kernel/srs_kernel_rtc_rtcp.hpp +++ b/trunk/src/kernel/srs_kernel_rtc_rtcp.hpp @@ -122,23 +122,23 @@ public: }; struct SrsRtcpRB { - uint32_t ssrc; - uint8_t fraction_lost; - uint32_t lost_packets; - uint32_t highest_sn; - uint32_t jitter; - uint32_t lsr; - uint32_t dlsr; + uint32_t ssrc_; + uint8_t fraction_lost_; + uint32_t lost_packets_; + uint32_t highest_sn_; + uint32_t jitter_; + uint32_t lsr_; + uint32_t dlsr_; SrsRtcpRB() { - ssrc = 0; - fraction_lost = 0; - lost_packets = 0; - highest_sn = 0; - jitter = 0; - lsr = 0; - dlsr = 0; + ssrc_ = 0; + fraction_lost_ = 0; + lost_packets_ = 0; + highest_sn_ = 0; + jitter_ = 0; + lsr_ = 0; + dlsr_ = 0; } }; @@ -284,14 +284,14 @@ private: std::set recv_sns_; struct SrsRtcpTWCCChunk { - uint8_t delta_sizes[kTwccFbMaxBitElements]; - uint16_t size; - bool all_same; - bool has_large_delta; + uint8_t delta_sizes_[kTwccFbMaxBitElements]; + uint16_t size_; + bool all_same_; + bool has_large_delta_; SrsRtcpTWCCChunk(); }; - int pkt_len; + int pkt_len_; uint16_t next_base_sn_; private: @@ -340,9 +340,9 @@ class SrsRtcpNack : public SrsRtcpFbCommon { private: struct SrsPidBlp { - uint16_t pid; - uint16_t blp; - bool in_use; + uint16_t pid_; + uint16_t blp_; + bool in_use_; }; std::set lost_sns_; diff --git a/trunk/src/kernel/srs_kernel_rtc_rtp.cpp b/trunk/src/kernel/srs_kernel_rtc_rtp.cpp index 32db27cd1..e0445fce8 100644 --- a/trunk/src/kernel/srs_kernel_rtc_rtp.cpp +++ b/trunk/src/kernel/srs_kernel_rtc_rtp.cpp @@ -524,15 +524,15 @@ srs_error_t SrsRtpExtensions::set_audio_level(int id, uint8_t level) SrsRtpHeader::SrsRtpHeader() { - cc = 0; - marker = false; - payload_type = 0; - sequence = 0; - timestamp = 0; - ssrc = 0; - padding_length = 0; + cc_ = 0; + marker_ = false; + payload_type_ = 0; + sequence_ = 0; + timestamp_ = 0; + ssrc_ = 0; + padding_length_ = 0; ignore_padding_ = false; - memset(csrc, 0, sizeof(csrc)); + memset(csrc_, 0, sizeof(csrc_)); } SrsRtpHeader::~SrsRtpHeader() @@ -565,23 +565,23 @@ srs_error_t SrsRtpHeader::decode(SrsBuffer *buf) uint8_t first = buf->read_1bytes(); bool padding = (first & 0x20); bool extension = (first & 0x10); - cc = (first & 0x0F); + cc_ = (first & 0x0F); uint8_t second = buf->read_1bytes(); - marker = (second & 0x80); - payload_type = (second & 0x7F); + marker_ = (second & 0x80); + payload_type_ = (second & 0x7F); - sequence = buf->read_2bytes(); - timestamp = buf->read_4bytes(); - ssrc = buf->read_4bytes(); + sequence_ = buf->read_2bytes(); + timestamp_ = buf->read_4bytes(); + ssrc_ = buf->read_4bytes(); int ext_bytes = nb_bytes() - kRtpHeaderFixedSize; if (!buf->require(ext_bytes)) { return srs_error_new(ERROR_RTC_RTP_MUXER, "requires %d+ bytes", ext_bytes); } - for (uint8_t i = 0; i < cc; ++i) { - csrc[i] = buf->read_4bytes(); + for (uint8_t i = 0; i < cc_; ++i) { + csrc_[i] = buf->read_4bytes(); } if (extension) { @@ -591,9 +591,9 @@ srs_error_t SrsRtpHeader::decode(SrsBuffer *buf) } if (padding && !ignore_padding_ && !buf->empty()) { - padding_length = *(reinterpret_cast(buf->data() + buf->size() - 1)); - if (!buf->require(padding_length)) { - return srs_error_new(ERROR_RTC_RTP_MUXER, "padding requires %d bytes", padding_length); + padding_length_ = *(reinterpret_cast(buf->data() + buf->size() - 1)); + if (!buf->require(padding_length_)) { + return srs_error_new(ERROR_RTC_RTP_MUXER, "padding requires %d bytes", padding_length_); } } @@ -618,8 +618,8 @@ srs_error_t SrsRtpHeader::encode(SrsBuffer *buf) // Encode the RTP fix header, 12bytes. // @see https://tools.ietf.org/html/rfc1889#section-5.1 // The version, padding, extension and cc, total 1 byte. - uint8_t v = 0x80 | cc; - if (padding_length > 0) { + uint8_t v = 0x80 | cc_; + if (padding_length_ > 0) { v |= 0x20; } if (extensions_.exists()) { @@ -628,24 +628,24 @@ srs_error_t SrsRtpHeader::encode(SrsBuffer *buf) buf->write_1bytes(v); // The marker and payload type, total 1 byte. - v = payload_type; - if (marker) { + v = payload_type_; + if (marker_) { v |= kRtpMarker; } buf->write_1bytes(v); // The sequence number, 2 bytes. - buf->write_2bytes(sequence); + buf->write_2bytes(sequence_); // The timestamp, 4 bytes. - buf->write_4bytes(timestamp); + buf->write_4bytes(timestamp_); // The SSRC, 4 bytes. - buf->write_4bytes(ssrc); + buf->write_4bytes(ssrc_); // The CSRC list: 0 to 15 items, each is 4 bytes. - for (size_t i = 0; i < cc; ++i) { - buf->write_4bytes(csrc[i]); + for (size_t i = 0; i < cc_; ++i) { + buf->write_4bytes(csrc_[i]); } if (extensions_.exists()) { @@ -683,62 +683,62 @@ srs_error_t SrsRtpHeader::set_twcc_sequence_number(uint8_t id, uint16_t sn) uint64_t SrsRtpHeader::nb_bytes() { - return kRtpHeaderFixedSize + cc * 4 + (extensions_.exists() ? extensions_.nb_bytes() : 0); + return kRtpHeaderFixedSize + cc_ * 4 + (extensions_.exists() ? extensions_.nb_bytes() : 0); } void SrsRtpHeader::set_marker(bool v) { - marker = v; + marker_ = v; } bool SrsRtpHeader::get_marker() const { - return marker; + return marker_; } void SrsRtpHeader::set_payload_type(uint8_t v) { - payload_type = v; + payload_type_ = v; } uint8_t SrsRtpHeader::get_payload_type() const { - return payload_type; + return payload_type_; } void SrsRtpHeader::set_sequence(uint16_t v) { - sequence = v; + sequence_ = v; } uint16_t SrsRtpHeader::get_sequence() const { - return sequence; + return sequence_; } void SrsRtpHeader::set_timestamp(uint32_t v) { - timestamp = v; + timestamp_ = v; } uint32_t SrsRtpHeader::get_timestamp() const { - return timestamp; + return timestamp_; } void SrsRtpHeader::set_ssrc(uint32_t v) { - ssrc = v; + ssrc_ = v; } void SrsRtpHeader::set_padding(uint8_t v) { - padding_length = v; + padding_length_ = v; } uint8_t SrsRtpHeader::get_padding() const { - return padding_length; + return padding_length_; } ISrsRtpPayloader::ISrsRtpPayloader() @@ -764,13 +764,13 @@ SrsRtpPacket::SrsRtpPacket() shared_buffer_ = SrsSharedPtr(NULL); actual_buffer_size_ = 0; - nalu_type = 0; - frame_type = SrsFrameTypeReserved; - cached_payload_size = 0; - decode_handler = NULL; + nalu_type_ = 0; + frame_type_ = SrsFrameTypeReserved; + cached_payload_size_ = 0; + decode_handler_ = NULL; avsync_time_ = -1; - ++_srs_pps_objs_rtps->sugar; + ++_srs_pps_objs_rtps->sugar_; } SrsRtpPacket::~SrsRtpPacket() @@ -798,7 +798,7 @@ char *SrsRtpPacket::wrap(int size) char *buf = new char[nb_buffer]; shared_buffer_->attach(buf, nb_buffer); - ++_srs_pps_objs_rbuf->sugar; + ++_srs_pps_objs_rbuf->sugar_; return shared_buffer_->payload(); } @@ -828,14 +828,14 @@ SrsRtpPacket *SrsRtpPacket::copy() cp->payload_ = payload_ ? payload_->copy() : NULL; cp->payload_type_ = payload_type_; - cp->nalu_type = nalu_type; + cp->nalu_type_ = nalu_type_; cp->shared_buffer_ = shared_buffer_; // Copy shared pointer cp->actual_buffer_size_ = actual_buffer_size_; - cp->frame_type = frame_type; + cp->frame_type_ = frame_type_; - cp->cached_payload_size = cached_payload_size; + cp->cached_payload_size_ = cached_payload_size_; // For performance issue, do not copy the unused field. - cp->decode_handler = decode_handler; + cp->decode_handler_ = decode_handler_; cp->avsync_time_ = avsync_time_; @@ -845,27 +845,27 @@ SrsRtpPacket *SrsRtpPacket::copy() void SrsRtpPacket::set_padding(int size) { header.set_padding(size); - if (cached_payload_size) { - cached_payload_size += size - header.get_padding(); + if (cached_payload_size_) { + cached_payload_size_ += size - header.get_padding(); } } void SrsRtpPacket::add_padding(int size) { header.set_padding(header.get_padding() + size); - if (cached_payload_size) { - cached_payload_size += size; + if (cached_payload_size_) { + cached_payload_size_ += size; } } void SrsRtpPacket::set_decode_handler(ISrsRtpPacketDecodeHandler *h) { - decode_handler = h; + decode_handler_ = h; } bool SrsRtpPacket::is_audio() { - return frame_type == SrsFrameTypeAudio; + return frame_type_ == SrsFrameTypeAudio; } void SrsRtpPacket::set_extension_types(SrsRtpExtensionTypes *v) @@ -875,11 +875,11 @@ void SrsRtpPacket::set_extension_types(SrsRtpExtensionTypes *v) uint64_t SrsRtpPacket::nb_bytes() { - if (!cached_payload_size) { + if (!cached_payload_size_) { int nn_payload = (payload_ ? payload_->nb_bytes() : 0); - cached_payload_size = header.nb_bytes() + nn_payload + header.get_padding(); + cached_payload_size_ = header.nb_bytes() + nn_payload + header.get_padding(); } - return cached_payload_size; + return cached_payload_size_; } srs_error_t SrsRtpPacket::encode(SrsBuffer *buf) @@ -923,8 +923,8 @@ srs_error_t SrsRtpPacket::decode(SrsBuffer *buf) // TODO: FIXME: We should keep payload to NULL and return if buffer is empty. // If user set the decode handler, call it to set the payload. - if (decode_handler) { - decode_handler->on_before_decode_payload(this, buf, &payload_, &payload_type_); + if (decode_handler_) { + decode_handler_->on_before_decode_payload(this, buf, &payload_, &payload_type_); } // By default, we always use the RAW payload. @@ -949,7 +949,7 @@ bool srs_rtp_packet_h264_is_keyframe(uint8_t nalu_type, ISrsRtpPayloader *payloa } } else if (nalu_type == kFuA) { SrsRtpFUAPayload2 *fua_payload = dynamic_cast(payload); - if (SrsAvcNaluTypeIDR == fua_payload->nalu_type) { + if (SrsAvcNaluTypeIDR == fua_payload->nalu_type_) { return true; } } else { @@ -970,7 +970,7 @@ bool srs_rtp_packet_h265_is_keyframe(uint8_t nalu_type, ISrsRtpPayloader *payloa } } else if (nalu_type == kFuHevc) { SrsRtpFUAPayloadHevc2 *fua_payload = dynamic_cast(payload); - if (SrsIsIRAP(fua_payload->nalu_type)) { + if (SrsIsIRAP(fua_payload->nalu_type_)) { return true; } } else { @@ -985,18 +985,18 @@ bool srs_rtp_packet_h265_is_keyframe(uint8_t nalu_type, ISrsRtpPayloader *payloa bool SrsRtpPacket::is_keyframe(SrsVideoCodecId codec_id) { // False if audio packet - if (SrsFrameTypeAudio == frame_type) { + if (SrsFrameTypeAudio == frame_type_) { return false; } // For H264 video rtp packet if (codec_id == SrsVideoCodecIdAVC) { - return srs_rtp_packet_h264_is_keyframe(nalu_type, payload_); + return srs_rtp_packet_h264_is_keyframe(nalu_type_, payload_); } // For H265 video rtp packet if (codec_id == SrsVideoCodecIdHEVC) { - return srs_rtp_packet_h265_is_keyframe(nalu_type, payload_); + return srs_rtp_packet_h265_is_keyframe(nalu_type_, payload_); } return false; @@ -1004,11 +1004,11 @@ bool SrsRtpPacket::is_keyframe(SrsVideoCodecId codec_id) SrsRtpRawPayload::SrsRtpRawPayload() { - payload = NULL; - nn_payload = 0; + payload_ = NULL; + nn_payload_ = 0; sample_ = new SrsNaluSample(); - ++_srs_pps_objs_rraw->sugar; + ++_srs_pps_objs_rraw->sugar_; } SrsRtpRawPayload::~SrsRtpRawPayload() @@ -1018,20 +1018,20 @@ SrsRtpRawPayload::~SrsRtpRawPayload() uint64_t SrsRtpRawPayload::nb_bytes() { - return nn_payload; + return nn_payload_; } srs_error_t SrsRtpRawPayload::encode(SrsBuffer *buf) { - if (nn_payload <= 0) { + if (nn_payload_ <= 0) { return srs_success; } - if (!buf->require(nn_payload)) { - return srs_error_new(ERROR_RTC_RTP_MUXER, "requires %d bytes", nn_payload); + if (!buf->require(nn_payload_)) { + return srs_error_new(ERROR_RTC_RTP_MUXER, "requires %d bytes", nn_payload_); } - buf->write_bytes(payload, nn_payload); + buf->write_bytes(payload_, nn_payload_); return srs_success; } @@ -1042,11 +1042,11 @@ srs_error_t SrsRtpRawPayload::decode(SrsBuffer *buf) return srs_success; } - payload = buf->head(); - nn_payload = buf->left(); + payload_ = buf->head(); + nn_payload_ = buf->left(); - sample_->bytes = payload; - sample_->size = nn_payload; + sample_->bytes_ = payload_; + sample_->size_ = nn_payload_; return srs_success; } @@ -1055,8 +1055,8 @@ ISrsRtpPayloader *SrsRtpRawPayload::copy() { SrsRtpRawPayload *cp = new SrsRtpRawPayload(); - cp->payload = payload; - cp->nn_payload = nn_payload; + cp->payload_ = payload_; + cp->nn_payload_ = nn_payload_; // free sample to prevent memory leak. srs_freep(cp->sample_); @@ -1067,75 +1067,75 @@ ISrsRtpPayloader *SrsRtpRawPayload::copy() SrsRtpRawNALUs::SrsRtpRawNALUs() { - cursor = 0; - nn_bytes = 0; + cursor_ = 0; + nn_bytes_ = 0; - ++_srs_pps_objs_rothers->sugar; + ++_srs_pps_objs_rothers->sugar_; } SrsRtpRawNALUs::~SrsRtpRawNALUs() { - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; + SrsNaluSample *p = nalus_[i]; srs_freep(p); } } void SrsRtpRawNALUs::push_back(SrsNaluSample *sample) { - if (sample->size <= 0) { + if (sample->size_ <= 0) { return; } - if (!nalus.empty()) { + if (!nalus_.empty()) { SrsNaluSample *p = new SrsNaluSample(); - p->bytes = (char *)"\0\0\1"; - p->size = 3; - nn_bytes += 3; - nalus.push_back(p); + p->bytes_ = (char *)"\0\0\1"; + p->size_ = 3; + nn_bytes_ += 3; + nalus_.push_back(p); } - nn_bytes += sample->size; - nalus.push_back(sample); + nn_bytes_ += sample->size_; + nalus_.push_back(sample); } uint8_t SrsRtpRawNALUs::skip_bytes(int count) { - srs_assert(cursor >= 0 && nn_bytes > 0 && cursor + count < nn_bytes); - cursor += count; - return uint8_t(nalus[0]->bytes[0]); + srs_assert(cursor_ >= 0 && nn_bytes_ > 0 && cursor_ + count < nn_bytes_); + cursor_ += count; + return uint8_t(nalus_[0]->bytes_[0]); } srs_error_t SrsRtpRawNALUs::read_samples(vector &samples, int packet_size) { - if (cursor + packet_size < 0 || cursor + packet_size > nn_bytes) { - return srs_error_new(ERROR_RTC_RTP_MUXER, "cursor=%d, max=%d, size=%d", cursor, nn_bytes, packet_size); + if (cursor_ + packet_size < 0 || cursor_ + packet_size > nn_bytes_) { + return srs_error_new(ERROR_RTC_RTP_MUXER, "cursor=%d, max=%d, size=%d", cursor_, nn_bytes_, packet_size); } - int pos = cursor; - cursor += packet_size; + int pos = cursor_; + cursor_ += packet_size; int left = packet_size; - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; left > 0 && i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; + SrsNaluSample *p = nalus_[i]; // Ignore previous consumed samples. - if (pos && pos - p->size >= 0) { - pos -= p->size; + if (pos && pos - p->size_ >= 0) { + pos -= p->size_; continue; } // Now, we are working at the sample. - int nn = srs_min(left, p->size - pos); + int nn = srs_min(left, p->size_ - pos); srs_assert(nn > 0); SrsNaluSample *sample = new SrsNaluSample(); samples.push_back(sample); - sample->bytes = p->bytes + pos; - sample->size = nn; + sample->bytes_ = p->bytes_ + pos; + sample->size_ = nn; left -= nn; pos = 0; @@ -1148,10 +1148,10 @@ uint64_t SrsRtpRawNALUs::nb_bytes() { int size = 0; - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; - size += p->size; + SrsNaluSample *p = nalus_[i]; + size += p->size_; } return size; @@ -1159,15 +1159,15 @@ uint64_t SrsRtpRawNALUs::nb_bytes() srs_error_t SrsRtpRawNALUs::encode(SrsBuffer *buf) { - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; + SrsNaluSample *p = nalus_[i]; - if (!buf->require(p->size)) { - return srs_error_new(ERROR_RTC_RTP_MUXER, "requires %d bytes", p->size); + if (!buf->require(p->size_)) { + return srs_error_new(ERROR_RTC_RTP_MUXER, "requires %d bytes", p->size_); } - buf->write_bytes(p->bytes, p->size); + buf->write_bytes(p->bytes_, p->size_); } return srs_success; @@ -1180,11 +1180,11 @@ srs_error_t SrsRtpRawNALUs::decode(SrsBuffer *buf) } SrsNaluSample *sample = new SrsNaluSample(); - sample->bytes = buf->head(); - sample->size = buf->left(); - buf->skip(sample->size); + sample->bytes_ = buf->head(); + sample->size_ = buf->left(); + buf->skip(sample->size_); - nalus.push_back(sample); + nalus_.push_back(sample); return srs_success; } @@ -1193,13 +1193,13 @@ ISrsRtpPayloader *SrsRtpRawNALUs::copy() { SrsRtpRawNALUs *cp = new SrsRtpRawNALUs(); - cp->nn_bytes = nn_bytes; - cp->cursor = cursor; + cp->nn_bytes_ = nn_bytes_; + cp->cursor_ = cursor_; - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; - cp->nalus.push_back(p->copy()); + SrsNaluSample *p = nalus_[i]; + cp->nalus_.push_back(p->copy()); } return cp; @@ -1207,30 +1207,30 @@ ISrsRtpPayloader *SrsRtpRawNALUs::copy() SrsRtpSTAPPayload::SrsRtpSTAPPayload() { - nri = (SrsAvcNaluType)0; + nri_ = (SrsAvcNaluType)0; - ++_srs_pps_objs_rothers->sugar; + ++_srs_pps_objs_rothers->sugar_; } SrsRtpSTAPPayload::~SrsRtpSTAPPayload() { - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; + SrsNaluSample *p = nalus_[i]; srs_freep(p); } } SrsNaluSample *SrsRtpSTAPPayload::get_sps() { - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; - if (!p || !p->size) { + SrsNaluSample *p = nalus_[i]; + if (!p || !p->size_) { continue; } - SrsAvcNaluType nalu_type = SrsAvcNaluTypeParse(p->bytes[0]); + SrsAvcNaluType nalu_type = SrsAvcNaluTypeParse(p->bytes_[0]); if (nalu_type == SrsAvcNaluTypeSPS) { return p; } @@ -1241,14 +1241,14 @@ SrsNaluSample *SrsRtpSTAPPayload::get_sps() SrsNaluSample *SrsRtpSTAPPayload::get_pps() { - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; - if (!p || !p->size) { + SrsNaluSample *p = nalus_[i]; + if (!p || !p->size_) { continue; } - SrsAvcNaluType nalu_type = SrsAvcNaluTypeParse(p->bytes[0]); + SrsAvcNaluType nalu_type = SrsAvcNaluTypeParse(p->bytes_[0]); if (nalu_type == SrsAvcNaluTypePPS) { return p; } @@ -1261,10 +1261,10 @@ uint64_t SrsRtpSTAPPayload::nb_bytes() { int size = 1; - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; - size += 2 + p->size; + SrsNaluSample *p = nalus_[i]; + size += 2 + p->size_; } return size; @@ -1279,20 +1279,20 @@ srs_error_t SrsRtpSTAPPayload::encode(SrsBuffer *buf) // STAP header, RTP payload format for aggregation packets // @see https://tools.ietf.org/html/rfc6184#section-5.7 uint8_t v = kStapA; - v |= (nri & (~kNalTypeMask)); + v |= (nri_ & (~kNalTypeMask)); buf->write_1bytes(v); // NALUs. - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; + SrsNaluSample *p = nalus_[i]; - if (!buf->require(2 + p->size)) { - return srs_error_new(ERROR_RTC_RTP_MUXER, "requires %d bytes", 2 + p->size); + if (!buf->require(2 + p->size_)) { + return srs_error_new(ERROR_RTC_RTP_MUXER, "requires %d bytes", 2 + p->size_); } - buf->write_2bytes(p->size); - buf->write_bytes(p->bytes, p->size); + buf->write_2bytes(p->size_); + buf->write_bytes(p->bytes_, p->size_); } return srs_success; @@ -1315,7 +1315,7 @@ srs_error_t SrsRtpSTAPPayload::decode(SrsBuffer *buf) return srs_error_new(ERROR_RTC_RTP_MUXER, "forbidden_zero_bit should be zero"); } - nri = SrsAvcNaluType(v & (~kNalTypeMask)); + nri_ = SrsAvcNaluType(v & (~kNalTypeMask)); // NALUs. while (!buf->empty()) { @@ -1329,11 +1329,11 @@ srs_error_t SrsRtpSTAPPayload::decode(SrsBuffer *buf) } SrsNaluSample *sample = new SrsNaluSample(); - sample->bytes = buf->head(); - sample->size = size; + sample->bytes_ = buf->head(); + sample->size_ = size; buf->skip(size); - nalus.push_back(sample); + nalus_.push_back(sample); } return srs_success; @@ -1343,12 +1343,12 @@ ISrsRtpPayloader *SrsRtpSTAPPayload::copy() { SrsRtpSTAPPayload *cp = new SrsRtpSTAPPayload(); - cp->nri = nri; + cp->nri_ = nri_; - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; - cp->nalus.push_back(p->copy()); + SrsNaluSample *p = nalus_[i]; + cp->nalus_.push_back(p->copy()); } return cp; @@ -1356,17 +1356,17 @@ ISrsRtpPayloader *SrsRtpSTAPPayload::copy() SrsRtpFUAPayload::SrsRtpFUAPayload() { - start = end = false; - nri = nalu_type = (SrsAvcNaluType)0; + start_ = end_ = false; + nri_ = nalu_type_ = (SrsAvcNaluType)0; - ++_srs_pps_objs_rothers->sugar; + ++_srs_pps_objs_rothers->sugar_; } SrsRtpFUAPayload::~SrsRtpFUAPayload() { - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; + SrsNaluSample *p = nalus_[i]; srs_freep(p); } } @@ -1375,10 +1375,10 @@ uint64_t SrsRtpFUAPayload::nb_bytes() { int size = 2; - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; - size += p->size; + SrsNaluSample *p = nalus_[i]; + size += p->size_; } return size; @@ -1392,29 +1392,29 @@ srs_error_t SrsRtpFUAPayload::encode(SrsBuffer *buf) // FU indicator, @see https://tools.ietf.org/html/rfc6184#section-5.8 uint8_t fu_indicate = kFuA; - fu_indicate |= (nri & (~kNalTypeMask)); + fu_indicate |= (nri_ & (~kNalTypeMask)); buf->write_1bytes(fu_indicate); // FU header, @see https://tools.ietf.org/html/rfc6184#section-5.8 - uint8_t fu_header = nalu_type; - if (start) { + uint8_t fu_header = nalu_type_; + if (start_) { fu_header |= kStart; } - if (end) { + if (end_) { fu_header |= kEnd; } buf->write_1bytes(fu_header); // FU payload, @see https://tools.ietf.org/html/rfc6184#section-5.8 - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; + SrsNaluSample *p = nalus_[i]; - if (!buf->require(p->size)) { - return srs_error_new(ERROR_RTC_RTP_MUXER, "requires %d bytes", p->size); + if (!buf->require(p->size_)) { + return srs_error_new(ERROR_RTC_RTP_MUXER, "requires %d bytes", p->size_); } - buf->write_bytes(p->bytes, p->size); + buf->write_bytes(p->bytes_, p->size_); } return srs_success; @@ -1428,24 +1428,24 @@ srs_error_t SrsRtpFUAPayload::decode(SrsBuffer *buf) // FU indicator, @see https://tools.ietf.org/html/rfc6184#section-5.8 uint8_t v = buf->read_1bytes(); - nri = SrsAvcNaluType(v & (~kNalTypeMask)); + nri_ = SrsAvcNaluType(v & (~kNalTypeMask)); // FU header, @see https://tools.ietf.org/html/rfc6184#section-5.8 v = buf->read_1bytes(); - start = v & kStart; - end = v & kEnd; - nalu_type = SrsAvcNaluTypeParse(v); + start_ = v & kStart; + end_ = v & kEnd; + nalu_type_ = SrsAvcNaluTypeParse(v); if (!buf->require(1)) { return srs_error_new(ERROR_RTC_RTP_MUXER, "requires %d bytes", 1); } SrsNaluSample *sample = new SrsNaluSample(); - sample->bytes = buf->head(); - sample->size = buf->left(); - buf->skip(sample->size); + sample->bytes_ = buf->head(); + sample->size_ = buf->left(); + buf->skip(sample->size_); - nalus.push_back(sample); + nalus_.push_back(sample); return srs_success; } @@ -1454,15 +1454,15 @@ ISrsRtpPayloader *SrsRtpFUAPayload::copy() { SrsRtpFUAPayload *cp = new SrsRtpFUAPayload(); - cp->nri = nri; - cp->start = start; - cp->end = end; - cp->nalu_type = nalu_type; + cp->nri_ = nri_; + cp->start_ = start_; + cp->end_ = end_; + cp->nalu_type_ = nalu_type_; - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; - cp->nalus.push_back(p->copy()); + SrsNaluSample *p = nalus_[i]; + cp->nalus_.push_back(p->copy()); } return cp; @@ -1470,13 +1470,13 @@ ISrsRtpPayloader *SrsRtpFUAPayload::copy() SrsRtpFUAPayload2::SrsRtpFUAPayload2() { - start = end = false; - nri = nalu_type = (SrsAvcNaluType)0; + start_ = end_ = false; + nri_ = nalu_type_ = (SrsAvcNaluType)0; - payload = NULL; - size = 0; + payload_ = NULL; + size_ = 0; - ++_srs_pps_objs_rfua->sugar; + ++_srs_pps_objs_rfua->sugar_; } SrsRtpFUAPayload2::~SrsRtpFUAPayload2() @@ -1485,12 +1485,12 @@ SrsRtpFUAPayload2::~SrsRtpFUAPayload2() uint64_t SrsRtpFUAPayload2::nb_bytes() { - return 2 + size; + return 2 + size_; } srs_error_t SrsRtpFUAPayload2::encode(SrsBuffer *buf) { - if (!buf->require(2 + size)) { + if (!buf->require(2 + size_)) { return srs_error_new(ERROR_RTC_RTP_MUXER, "requires %d bytes", 1); } @@ -1499,24 +1499,24 @@ srs_error_t SrsRtpFUAPayload2::encode(SrsBuffer *buf) // FU indicator, @see https://tools.ietf.org/html/rfc6184#section-5.8 uint8_t fu_indicate = kFuA; - fu_indicate |= (nri & (~kNalTypeMask)); + fu_indicate |= (nri_ & (~kNalTypeMask)); *p++ = fu_indicate; // FU header, @see https://tools.ietf.org/html/rfc6184#section-5.8 - uint8_t fu_header = nalu_type; - if (start) { + uint8_t fu_header = nalu_type_; + if (start_) { fu_header |= kStart; } - if (end) { + if (end_) { fu_header |= kEnd; } *p++ = fu_header; // FU payload, @see https://tools.ietf.org/html/rfc6184#section-5.8 - memcpy(p, payload, size); + memcpy(p, payload_, size_); // Consume bytes. - buf->skip(2 + size); + buf->skip(2 + size_); return srs_success; } @@ -1529,21 +1529,21 @@ srs_error_t SrsRtpFUAPayload2::decode(SrsBuffer *buf) // FU indicator, @see https://tools.ietf.org/html/rfc6184#section-5.8 uint8_t v = buf->read_1bytes(); - nri = SrsAvcNaluType(v & (~kNalTypeMask)); + nri_ = SrsAvcNaluType(v & (~kNalTypeMask)); // FU header, @see https://tools.ietf.org/html/rfc6184#section-5.8 v = buf->read_1bytes(); - start = v & kStart; - end = v & kEnd; - nalu_type = SrsAvcNaluTypeParse(v); + start_ = v & kStart; + end_ = v & kEnd; + nalu_type_ = SrsAvcNaluTypeParse(v); if (!buf->require(1)) { return srs_error_new(ERROR_RTC_RTP_MUXER, "requires %d bytes", 1); } - payload = buf->head(); - size = buf->left(); - buf->skip(size); + payload_ = buf->head(); + size_ = buf->left(); + buf->skip(size_); return srs_success; } @@ -1552,40 +1552,40 @@ ISrsRtpPayloader *SrsRtpFUAPayload2::copy() { SrsRtpFUAPayload2 *cp = new SrsRtpFUAPayload2(); - cp->nri = nri; - cp->start = start; - cp->end = end; - cp->nalu_type = nalu_type; - cp->payload = payload; - cp->size = size; + cp->nri_ = nri_; + cp->start_ = start_; + cp->end_ = end_; + cp->nalu_type_ = nalu_type_; + cp->payload_ = payload_; + cp->size_ = size_; return cp; } SrsRtpSTAPPayloadHevc::SrsRtpSTAPPayloadHevc() { - ++_srs_pps_objs_rothers->sugar; + ++_srs_pps_objs_rothers->sugar_; } SrsRtpSTAPPayloadHevc::~SrsRtpSTAPPayloadHevc() { - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; + SrsNaluSample *p = nalus_[i]; srs_freep(p); } } SrsNaluSample *SrsRtpSTAPPayloadHevc::get_vps() { - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; - if (!p || !p->size) { + SrsNaluSample *p = nalus_[i]; + if (!p || !p->size_) { continue; } - SrsHevcNaluType nalu_type = SrsHevcNaluTypeParse(p->bytes[0]); + SrsHevcNaluType nalu_type = SrsHevcNaluTypeParse(p->bytes_[0]); if (nalu_type == SrsHevcNaluType_VPS) { return p; } @@ -1596,14 +1596,14 @@ SrsNaluSample *SrsRtpSTAPPayloadHevc::get_vps() SrsNaluSample *SrsRtpSTAPPayloadHevc::get_sps() { - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; - if (!p || !p->size) { + SrsNaluSample *p = nalus_[i]; + if (!p || !p->size_) { continue; } - SrsHevcNaluType nalu_type = SrsHevcNaluTypeParse(p->bytes[0]); + SrsHevcNaluType nalu_type = SrsHevcNaluTypeParse(p->bytes_[0]); if (nalu_type == SrsHevcNaluType_SPS) { return p; } @@ -1614,14 +1614,14 @@ SrsNaluSample *SrsRtpSTAPPayloadHevc::get_sps() SrsNaluSample *SrsRtpSTAPPayloadHevc::get_pps() { - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; - if (!p || !p->size) { + SrsNaluSample *p = nalus_[i]; + if (!p || !p->size_) { continue; } - SrsHevcNaluType nalu_type = SrsHevcNaluTypeParse(p->bytes[0]); + SrsHevcNaluType nalu_type = SrsHevcNaluTypeParse(p->bytes_[0]); if (nalu_type == SrsHevcNaluType_PPS) { return p; } @@ -1634,10 +1634,10 @@ uint64_t SrsRtpSTAPPayloadHevc::nb_bytes() { int size = 2; - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; - size += 2 + p->size; + SrsNaluSample *p = nalus_[i]; + size += 2 + p->size_; } return size; @@ -1655,16 +1655,16 @@ srs_error_t SrsRtpSTAPPayloadHevc::encode(SrsBuffer *buf) buf->write_1bytes(1); // NALUs. - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; + SrsNaluSample *p = nalus_[i]; - if (!buf->require(2 + p->size)) { - return srs_error_new(ERROR_RTC_RTP_MUXER, "requires %d bytes", 2 + p->size); + if (!buf->require(2 + p->size_)) { + return srs_error_new(ERROR_RTC_RTP_MUXER, "requires %d bytes", 2 + p->size_); } - buf->write_2bytes(p->size); - buf->write_bytes(p->bytes, p->size); + buf->write_2bytes(p->size_); + buf->write_bytes(p->bytes_, p->size_); } return srs_success; @@ -1700,11 +1700,11 @@ srs_error_t SrsRtpSTAPPayloadHevc::decode(SrsBuffer *buf) } SrsNaluSample *sample = new SrsNaluSample(); - sample->bytes = buf->head(); - sample->size = size; + sample->bytes_ = buf->head(); + sample->size_ = size; buf->skip(size); - nalus.push_back(sample); + nalus_.push_back(sample); } return srs_success; @@ -1714,10 +1714,10 @@ ISrsRtpPayloader *SrsRtpSTAPPayloadHevc::copy() { SrsRtpSTAPPayloadHevc *cp = new SrsRtpSTAPPayloadHevc(); - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; - cp->nalus.push_back(p->copy()); + SrsNaluSample *p = nalus_[i]; + cp->nalus_.push_back(p->copy()); } return cp; @@ -1725,17 +1725,17 @@ ISrsRtpPayloader *SrsRtpSTAPPayloadHevc::copy() SrsRtpFUAPayloadHevc::SrsRtpFUAPayloadHevc() { - start = end = false; - nalu_type = (SrsHevcNaluType)0; + start_ = end_ = false; + nalu_type_ = (SrsHevcNaluType)0; - ++_srs_pps_objs_rothers->sugar; + ++_srs_pps_objs_rothers->sugar_; } SrsRtpFUAPayloadHevc::~SrsRtpFUAPayloadHevc() { - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; + SrsNaluSample *p = nalus_[i]; srs_freep(p); } } @@ -1744,10 +1744,10 @@ uint64_t SrsRtpFUAPayloadHevc::nb_bytes() { int size = 3; - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; - size += p->size; + SrsNaluSample *p = nalus_[i]; + size += p->size_; } return size; @@ -1764,19 +1764,19 @@ srs_error_t SrsRtpFUAPayloadHevc::encode(SrsBuffer *buf) buf->write_1bytes(1); // FU header, @see https://datatracker.ietf.org/doc/html/rfc7798#section-4.4.3 - uint8_t fu_header = (start ? kStart : 0) | (end ? kEnd : 0); - fu_header |= nalu_type; + uint8_t fu_header = (start_ ? kStart : 0) | (end_ ? kEnd : 0); + fu_header |= nalu_type_; buf->write_1bytes(fu_header); - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; + SrsNaluSample *p = nalus_[i]; - if (!buf->require(p->size)) { - return srs_error_new(ERROR_RTC_RTP_MUXER, "requires %d bytes", p->size); + if (!buf->require(p->size_)) { + return srs_error_new(ERROR_RTC_RTP_MUXER, "requires %d bytes", p->size_); } - buf->write_bytes(p->bytes, p->size); + buf->write_bytes(p->bytes_, p->size_); } return srs_success; @@ -1792,19 +1792,19 @@ srs_error_t SrsRtpFUAPayloadHevc::decode(SrsBuffer *buf) buf->skip(2); uint8_t fu_header = buf->read_1bytes(); - start = fu_header & kStart; - end = fu_header & kEnd; - nalu_type = SrsHevcNaluType(fu_header & 0x3F); + start_ = fu_header & kStart; + end_ = fu_header & kEnd; + nalu_type_ = SrsHevcNaluType(fu_header & 0x3F); if (!buf->require(1)) { return srs_error_new(ERROR_RTC_RTP_MUXER, "requires %d bytes", 1); } SrsNaluSample *sample = new SrsNaluSample(); - sample->bytes = buf->head(); - sample->size = buf->left(); - buf->skip(sample->size); + sample->bytes_ = buf->head(); + sample->size_ = buf->left(); + buf->skip(sample->size_); - nalus.push_back(sample); + nalus_.push_back(sample); return srs_success; } @@ -1813,14 +1813,14 @@ ISrsRtpPayloader *SrsRtpFUAPayloadHevc::copy() { SrsRtpFUAPayloadHevc *cp = new SrsRtpFUAPayloadHevc(); - cp->start = start; - cp->end = end; - cp->nalu_type = nalu_type; + cp->start_ = start_; + cp->end_ = end_; + cp->nalu_type_ = nalu_type_; - int nn_nalus = (int)nalus.size(); + int nn_nalus = (int)nalus_.size(); for (int i = 0; i < nn_nalus; i++) { - SrsNaluSample *p = nalus[i]; - cp->nalus.push_back(p->copy()); + SrsNaluSample *p = nalus_[i]; + cp->nalus_.push_back(p->copy()); } return cp; @@ -1828,13 +1828,13 @@ ISrsRtpPayloader *SrsRtpFUAPayloadHevc::copy() SrsRtpFUAPayloadHevc2::SrsRtpFUAPayloadHevc2() { - start = end = false; - nalu_type = (SrsHevcNaluType)0; + start_ = end_ = false; + nalu_type_ = (SrsHevcNaluType)0; - payload = NULL; - size = 0; + payload_ = NULL; + size_ = 0; - ++_srs_pps_objs_rfua->sugar; + ++_srs_pps_objs_rfua->sugar_; } SrsRtpFUAPayloadHevc2::~SrsRtpFUAPayloadHevc2() @@ -1844,13 +1844,13 @@ SrsRtpFUAPayloadHevc2::~SrsRtpFUAPayloadHevc2() uint64_t SrsRtpFUAPayloadHevc2::nb_bytes() { // PayloadHdr(2) + FU header(1) - return 3 + size; + return 3 + size_; } srs_error_t SrsRtpFUAPayloadHevc2::encode(SrsBuffer *buf) { - if (!buf->require(3 + size)) { - return srs_error_new(ERROR_RTC_RTP_MUXER, "requires %d bytes", 3 + size); + if (!buf->require(3 + size_)) { + return srs_error_new(ERROR_RTC_RTP_MUXER, "requires %d bytes", 3 + size_); } // Fast encoding. @@ -1875,14 +1875,14 @@ srs_error_t SrsRtpFUAPayloadHevc2::encode(SrsBuffer *buf) *p++ = 1; // FU header, @see https://datatracker.ietf.org/doc/html/rfc7798#section-4.4.3 - uint8_t fu_header = (start ? kStart : 0) | (end ? kEnd : 0); - fu_header |= nalu_type; + uint8_t fu_header = (start_ ? kStart : 0) | (end_ ? kEnd : 0); + fu_header |= nalu_type_; *p++ = fu_header; - memcpy(p, payload, size); + memcpy(p, payload_, size_); // Consume bytes. - buf->skip(3 + size); + buf->skip(3 + size_); return srs_success; } @@ -1897,13 +1897,13 @@ srs_error_t SrsRtpFUAPayloadHevc2::decode(SrsBuffer *buf) buf->skip(2); uint8_t fu_header = buf->read_1bytes(); - start = fu_header & kStart; - end = fu_header & kEnd; - nalu_type = SrsHevcNaluType(fu_header & 0x3F); + start_ = fu_header & kStart; + end_ = fu_header & kEnd; + nalu_type_ = SrsHevcNaluType(fu_header & 0x3F); - payload = buf->head(); - size = buf->left(); - buf->skip(size); + payload_ = buf->head(); + size_ = buf->left(); + buf->skip(size_); return srs_success; } @@ -1912,11 +1912,11 @@ ISrsRtpPayloader *SrsRtpFUAPayloadHevc2::copy() { SrsRtpFUAPayloadHevc2 *cp = new SrsRtpFUAPayloadHevc2(); - cp->start = start; - cp->end = end; - cp->nalu_type = nalu_type; - cp->payload = payload; - cp->size = size; + cp->start_ = start_; + cp->end_ = end_; + cp->nalu_type_ = nalu_type_; + cp->payload_ = payload_; + cp->size_ = size_; return cp; } diff --git a/trunk/src/kernel/srs_kernel_rtc_rtp.hpp b/trunk/src/kernel/srs_kernel_rtc_rtp.hpp index 241b6af97..93fa48ead 100644 --- a/trunk/src/kernel/srs_kernel_rtc_rtp.hpp +++ b/trunk/src/kernel/srs_kernel_rtc_rtp.hpp @@ -239,14 +239,14 @@ public: class SrsRtpHeader // : public ISrsCodec { private: - uint8_t padding_length; - uint8_t cc; - bool marker; - uint8_t payload_type; - uint16_t sequence; - uint32_t timestamp; - uint32_t ssrc; - uint32_t csrc[15]; + uint8_t padding_length_; + uint8_t cc_; + bool marker_; + uint8_t payload_type_; + uint16_t sequence_; + uint32_t timestamp_; + uint32_t ssrc_; + uint32_t csrc_[15]; SrsRtpExtensions extensions_; bool ignore_padding_; @@ -275,7 +275,7 @@ public: void set_timestamp(uint32_t v); uint32_t get_timestamp() const; void set_ssrc(uint32_t v); - inline uint32_t get_ssrc() const { return ssrc; } // SrsRtpHeader::get_ssrc + inline uint32_t get_ssrc() const { return ssrc_; } // SrsRtpHeader::get_ssrc void set_padding(uint8_t v); uint8_t get_padding() const; void set_extensions(SrsRtpExtensionTypes *extmap); @@ -341,15 +341,15 @@ private: // Helper fields. public: // The first byte as nalu type, for video decoder only. - uint8_t nalu_type; + uint8_t nalu_type_; // The frame type, for RTMP bridge or SFU source. - SrsFrameType frame_type; + SrsFrameType frame_type_; // Fast cache for performance. private: // The cached payload size for packet. - int cached_payload_size; + int cached_payload_size_; // The helper handler for decoder, use RAW payload if NULL. - ISrsRtpPacketDecodeHandler *decode_handler; + ISrsRtpPacketDecodeHandler *decode_handler_; private: int64_t avsync_time_; @@ -407,8 +407,8 @@ class SrsRtpRawPayload : public ISrsRtpPayloader public: // The RAW payload, directly point to the shared memory. // @remark We only refer to the memory, user must free its bytes. - char *payload; - int nn_payload; + char *payload_; + int nn_payload_; public: // Use the whole RAW RTP payload as a sample. @@ -430,9 +430,9 @@ class SrsRtpRawNALUs : public ISrsRtpPayloader { private: // We will manage the samples, but the sample itself point to the shared memory. - std::vector nalus; - int nn_bytes; - int cursor; + std::vector nalus_; + int nn_bytes_; + int cursor_; public: SrsRtpRawNALUs(); @@ -458,10 +458,10 @@ class SrsRtpSTAPPayload : public ISrsRtpPayloader { public: // The NRI in NALU type. - SrsAvcNaluType nri; + SrsAvcNaluType nri_; // The NALU samples, we will manage the samples. // @remark We only refer to the memory, user must free its bytes. - std::vector nalus; + std::vector nalus_; public: SrsRtpSTAPPayload(); @@ -484,14 +484,14 @@ class SrsRtpFUAPayload : public ISrsRtpPayloader { public: // The NRI in NALU type. - SrsAvcNaluType nri; + SrsAvcNaluType nri_; // The FUA header. - bool start; - bool end; - SrsAvcNaluType nalu_type; + bool start_; + bool end_; + SrsAvcNaluType nalu_type_; // The NALU samples, we manage the samples. // @remark We only refer to the memory, user must free its bytes. - std::vector nalus; + std::vector nalus_; public: SrsRtpFUAPayload(); @@ -510,14 +510,14 @@ class SrsRtpFUAPayload2 : public ISrsRtpPayloader { public: // The NRI in NALU type. - SrsAvcNaluType nri; + SrsAvcNaluType nri_; // The FUA header. - bool start; - bool end; - SrsAvcNaluType nalu_type; + bool start_; + bool end_; + SrsAvcNaluType nalu_type_; // The payload and size, - char *payload; - int size; + char *payload_; + int size_; public: SrsRtpFUAPayload2(); @@ -535,7 +535,7 @@ class SrsRtpSTAPPayloadHevc : public ISrsRtpPayloader public: // The NALU samples, we will manage the samples. // @remark We only refer to the memory, user must free its bytes. - std::vector nalus; + std::vector nalus_; public: SrsRtpSTAPPayloadHevc(); @@ -559,12 +559,12 @@ class SrsRtpFUAPayloadHevc : public ISrsRtpPayloader { public: // The FUA header. - bool start; - bool end; - SrsHevcNaluType nalu_type; + bool start_; + bool end_; + SrsHevcNaluType nalu_type_; // The NALU samples, we manage the samples. // @remark We only refer to the memory, user must free its bytes. - std::vector nalus; + std::vector nalus_; public: SrsRtpFUAPayloadHevc(); @@ -582,11 +582,11 @@ public: class SrsRtpFUAPayloadHevc2 : public ISrsRtpPayloader { public: - bool start; - bool end; - SrsHevcNaluType nalu_type; - char *payload; - int size; + bool start_; + bool end_; + SrsHevcNaluType nalu_type_; + char *payload_; + int size_; public: SrsRtpFUAPayloadHevc2(); diff --git a/trunk/src/kernel/srs_kernel_stream.cpp b/trunk/src/kernel/srs_kernel_stream.cpp index b3adec225..3b2bf836f 100644 --- a/trunk/src/kernel/srs_kernel_stream.cpp +++ b/trunk/src/kernel/srs_kernel_stream.cpp @@ -21,14 +21,14 @@ SrsSimpleStream::~SrsSimpleStream() int SrsSimpleStream::length() { - int len = (int)data.size(); + int len = (int)data_.size(); srs_assert(len >= 0); return len; } char *SrsSimpleStream::bytes() { - return (length() == 0) ? NULL : &data.at(0); + return (length() == 0) ? NULL : &data_.at(0); } void SrsSimpleStream::erase(int size) @@ -38,17 +38,17 @@ void SrsSimpleStream::erase(int size) } if (size >= length()) { - data.clear(); + data_.clear(); return; } - data.erase(data.begin(), data.begin() + size); + data_.erase(data_.begin(), data_.begin() + size); } void SrsSimpleStream::append(const char *bytes, int size) { if (size > 0) { - data.insert(data.end(), bytes, bytes + size); + data_.insert(data_.end(), bytes, bytes + size); } } diff --git a/trunk/src/kernel/srs_kernel_stream.hpp b/trunk/src/kernel/srs_kernel_stream.hpp index 9c4ff160e..91a33dbb0 100644 --- a/trunk/src/kernel/srs_kernel_stream.hpp +++ b/trunk/src/kernel/srs_kernel_stream.hpp @@ -18,7 +18,7 @@ class SrsSimpleStream { private: - std::vector data; + std::vector data_; public: SrsSimpleStream(); diff --git a/trunk/src/kernel/srs_kernel_ts.cpp b/trunk/src/kernel/srs_kernel_ts.cpp index 80995123d..0dcd0af11 100644 --- a/trunk/src/kernel/srs_kernel_ts.cpp +++ b/trunk/src/kernel/srs_kernel_ts.cpp @@ -183,39 +183,39 @@ string srs_ts_stream2string(SrsTsStream stream) SrsTsChannel::SrsTsChannel() { - pid = 0; - apply = SrsTsPidApplyReserved; - stream = SrsTsStreamReserved; - msg = NULL; - continuity_counter = 0; - context = NULL; + pid_ = 0; + apply_ = SrsTsPidApplyReserved; + stream_ = SrsTsStreamReserved; + msg_ = NULL; + continuity_counter_ = 0; + context_ = NULL; } SrsTsChannel::~SrsTsChannel() { - srs_freep(msg); + srs_freep(msg_); } SrsTsMessage::SrsTsMessage(SrsTsChannel *c, SrsTsPacket *p) { - channel = c; - packet = p; + channel_ = c; + packet_ = p; ps_helper_ = NULL; - dts = pts = 0; - sid = (SrsTsPESStreamId)0x00; - continuity_counter = 0; - PES_packet_length = 0; - payload = new SrsSimpleStream(); - is_discontinuity = false; + dts_ = pts_ = 0; + sid_ = (SrsTsPESStreamId)0x00; + continuity_counter_ = 0; + PES_packet_length_ = 0; + payload_ = new SrsSimpleStream(); + is_discontinuity_ = false; - start_pts = 0; - write_pcr = false; + start_pts_ = 0; + write_pcr_ = false; } SrsTsMessage::~SrsTsMessage() { - srs_freep(payload); + srs_freep(payload_); } srs_error_t SrsTsMessage::dump(SrsBuffer *stream, int *pnb_bytes) @@ -228,8 +228,8 @@ srs_error_t SrsTsMessage::dump(SrsBuffer *stream, int *pnb_bytes) // xB int nb_bytes = stream->size() - stream->pos(); - if (PES_packet_length > 0) { - nb_bytes = srs_min(nb_bytes, PES_packet_length - payload->length()); + if (PES_packet_length_ > 0) { + nb_bytes = srs_min(nb_bytes, PES_packet_length_ - payload_->length()); } if (nb_bytes > 0) { @@ -237,7 +237,7 @@ srs_error_t SrsTsMessage::dump(SrsBuffer *stream, int *pnb_bytes) return srs_error_new(ERROR_STREAM_CASTER_TS_PSE, "ts: dump PSE bytes failed, requires=%dB", nb_bytes); } - payload->append(stream->data() + stream->pos(), nb_bytes); + payload_->append(stream->data() + stream->pos(), nb_bytes); stream->skip(nb_bytes); } @@ -249,35 +249,35 @@ srs_error_t SrsTsMessage::dump(SrsBuffer *stream, int *pnb_bytes) bool SrsTsMessage::completed(int8_t payload_unit_start_indicator) { - if (PES_packet_length == 0) { + if (PES_packet_length_ == 0) { return payload_unit_start_indicator; } - return payload->length() >= PES_packet_length; + return payload_->length() >= PES_packet_length_; } bool SrsTsMessage::fresh() { // Note that both must be 0. For PS stream, the payload might be empty but PES_packet_length is not, see // PsPacketDecodePrivateStream of KernelPSTest. For TS stream, both should be 0 in the same time. - return PES_packet_length == 0 && payload->length() == 0; + return PES_packet_length_ == 0 && payload_->length() == 0; } bool SrsTsMessage::is_audio() { - return ((sid >> 5) & 0x07) == SrsTsPESStreamIdAudioChecker; + return ((sid_ >> 5) & 0x07) == SrsTsPESStreamIdAudioChecker; } bool SrsTsMessage::is_video() { - return ((sid >> 4) & 0x0f) == SrsTsPESStreamIdVideoChecker; + return ((sid_ >> 4) & 0x0f) == SrsTsPESStreamIdVideoChecker; } int SrsTsMessage::stream_number() { if (is_audio()) { - return sid & 0x1f; + return sid_ & 0x1f; } else if (is_video()) { - return sid & 0x0f; + return sid_ & 0x0f; } return -1; } @@ -285,20 +285,20 @@ int SrsTsMessage::stream_number() SrsTsMessage *SrsTsMessage::detach() { // @remark the packet cannot be used, but channel is ok. - SrsTsMessage *cp = new SrsTsMessage(channel, NULL); + SrsTsMessage *cp = new SrsTsMessage(channel_, NULL); cp->ps_helper_ = ps_helper_; - cp->start_pts = start_pts; - cp->write_pcr = write_pcr; - cp->is_discontinuity = is_discontinuity; - cp->dts = dts; - cp->pts = pts; - cp->sid = sid; - cp->PES_packet_length = PES_packet_length; - cp->continuity_counter = continuity_counter; + cp->start_pts_ = start_pts_; + cp->write_pcr_ = write_pcr_; + cp->is_discontinuity_ = is_discontinuity_; + cp->dts_ = dts_; + cp->pts_ = pts_; + cp->sid_ = sid_; + cp->PES_packet_length_ = PES_packet_length_; + cp->continuity_counter_ = continuity_counter_; - srs_freep(cp->payload); - cp->payload = payload; - payload = NULL; + srs_freep(cp->payload_); + cp->payload_ = payload_; + payload_ = NULL; return cp; } @@ -313,71 +313,71 @@ ISrsTsHandler::~ISrsTsHandler() SrsTsContext::SrsTsContext() { - ready = false; - pure_audio = false; - sync_byte = 0x47; // ts default sync byte. - vcodec = SrsVideoCodecIdReserved; - acodec = SrsAudioCodecIdReserved1; + ready_ = false; + pure_audio_ = false; + sync_byte_ = 0x47; // ts default sync byte. + vcodec_ = SrsVideoCodecIdReserved; + acodec_ = SrsAudioCodecIdReserved1; } SrsTsContext::~SrsTsContext() { std::map::iterator it; - for (it = pids.begin(); it != pids.end(); ++it) { + for (it = pids_.begin(); it != pids_.end(); ++it) { SrsTsChannel *channel = it->second; srs_freep(channel); } - pids.clear(); + pids_.clear(); } bool SrsTsContext::is_pure_audio() { - return pure_audio; + return pure_audio_; } void SrsTsContext::on_pmt_parsed() { - pure_audio = true; + pure_audio_ = true; std::map::iterator it; - for (it = pids.begin(); it != pids.end(); ++it) { + for (it = pids_.begin(); it != pids_.end(); ++it) { SrsTsChannel *channel = it->second; - if (channel->apply == SrsTsPidApplyVideo) { - pure_audio = false; + if (channel->apply_ == SrsTsPidApplyVideo) { + pure_audio_ = false; } } } void SrsTsContext::reset() { - ready = false; - vcodec = SrsVideoCodecIdReserved; - acodec = SrsAudioCodecIdReserved1; + ready_ = false; + vcodec_ = SrsVideoCodecIdReserved; + acodec_ = SrsAudioCodecIdReserved1; } SrsTsChannel *SrsTsContext::get(int pid) { - if (pids.find(pid) == pids.end()) { + if (pids_.find(pid) == pids_.end()) { return NULL; } - return pids[pid]; + return pids_[pid]; } void SrsTsContext::set(int pid, SrsTsPidApply apply_pid, SrsTsStream stream) { SrsTsChannel *channel = NULL; - if (pids.find(pid) == pids.end()) { + if (pids_.find(pid) == pids_.end()) { channel = new SrsTsChannel(); - channel->context = this; - pids[pid] = channel; + channel->context_ = this; + pids_[pid] = channel; } else { - channel = pids[pid]; + channel = pids_[pid]; } - channel->pid = pid; - channel->apply = apply_pid; - channel->stream = stream; + channel->pid_ = pid; + channel->apply_ = apply_pid; + channel->stream_ = stream; } srs_error_t SrsTsContext::decode(SrsBuffer *stream, ISrsTsHandler *handler) @@ -473,12 +473,12 @@ srs_error_t SrsTsContext::encode(ISrsStreamWriter *writer, SrsTsMessage *msg, Sr } // When any codec changed, write PAT/PMT table. - if (vcodec != vc || acodec != ac) { - if (vcodec != SrsVideoCodecIdReserved || acodec != SrsAudioCodecIdReserved1) { - srs_trace("TS: Refresh PMT when vcodec=%d=>%d, acodec=%d=>%d", vcodec, vc, acodec, ac); + if (vcodec_ != vc || acodec_ != ac) { + if (vcodec_ != SrsVideoCodecIdReserved || acodec_ != SrsAudioCodecIdReserved1) { + srs_trace("TS: Refresh PMT when vcodec=%d=>%d, acodec=%d=>%d", vcodec_, vc, acodec_, ac); } - vcodec = vc; - acodec = ac; + vcodec_ = vc; + acodec_ = ac; if ((err = encode_pat_pmt(writer, video_pid, vs, audio_pid, as)) != srs_success) { return srs_error_wrap(err, "ts: encode PAT/PMT"); @@ -508,7 +508,7 @@ srs_error_t SrsTsContext::encode_pat_pmt(ISrsStreamWriter *writer, int16_t vpid, if (true) { SrsUniquePtr pkt(SrsTsPacket::create_pat(this, pmt_number, pmt_pid)); - pkt->sync_byte = sync_byte; + pkt->sync_byte_ = sync_byte_; SrsUniquePtr buf(new char[SRS_TS_PACKET_SIZE]); @@ -528,7 +528,7 @@ srs_error_t SrsTsContext::encode_pat_pmt(ISrsStreamWriter *writer, int16_t vpid, if (true) { SrsUniquePtr pkt(SrsTsPacket::create_pmt(this, pmt_number, pmt_pid, vpid, vs, apid, as)); - pkt->sync_byte = sync_byte; + pkt->sync_byte_ = sync_byte_; SrsUniquePtr buf(new char[SRS_TS_PACKET_SIZE]); @@ -547,7 +547,7 @@ srs_error_t SrsTsContext::encode_pat_pmt(ISrsStreamWriter *writer, int16_t vpid, } // When PAT and PMT are writen, the context is ready now. - ready = true; + ready_ = true; return err; } @@ -557,11 +557,11 @@ srs_error_t SrsTsContext::encode_pes(ISrsStreamWriter *writer, SrsTsMessage *msg srs_error_t err = srs_success; // Sometimes, the context is not ready(PAT/PMT write failed), error in this situation. - if (!ready) { + if (!ready_) { return srs_error_new(ERROR_TS_CONTEXT_NOT_READY, "ts: not ready"); } - if (msg->payload->length() == 0) { + if (msg->payload_->length() == 0) { return err; } @@ -575,15 +575,15 @@ srs_error_t SrsTsContext::encode_pes(ISrsStreamWriter *writer, SrsTsMessage *msg SrsTsChannel *channel = get(pid); srs_assert(channel); - char *start = msg->payload->bytes(); - char *end = start + msg->payload->length(); + char *start = msg->payload_->bytes(); + char *end = start + msg->payload_->length(); char *p = start; while (p < end) { SrsTsPacket *pkt_raw = NULL; if (p == start) { // write pcr according to message. - bool write_pcr = msg->write_pcr; + bool write_pcr = msg->write_pcr_; // for pure audio, always write pcr. // TODO: FIXME: maybe only need to write at begin and end of ts. @@ -601,18 +601,18 @@ srs_error_t SrsTsContext::encode_pes(ISrsStreamWriter *writer, SrsTsMessage *msg // time. To do this, the receiver, i.e. the MPEG decoder, must read out the // "clock time", namely the PCR values, and compare them with its own internal // system clock, that is to say its own 42 bit counter. - int64_t pcr = write_pcr ? msg->dts : -1; + int64_t pcr = write_pcr ? msg->dts_ : -1; // TODO: FIXME: finger it why use discontinuity of msg. pkt_raw = SrsTsPacket::create_pes_first(this, - pid, msg->sid, channel->continuity_counter++, msg->is_discontinuity, - pcr, msg->dts, msg->pts, msg->payload->length()); + pid, msg->sid_, channel->continuity_counter_++, msg->is_discontinuity_, + pcr, msg->dts_, msg->pts_, msg->payload_->length()); } else { - pkt_raw = SrsTsPacket::create_pes_continue(this, pid, msg->sid, channel->continuity_counter++); + pkt_raw = SrsTsPacket::create_pes_continue(this, pid, msg->sid_, channel->continuity_counter_++); } SrsUniquePtr pkt(pkt_raw); - pkt->sync_byte = sync_byte; + pkt->sync_byte_ = sync_byte_; SrsUniquePtr buf(new char[SRS_TS_PACKET_SIZE]); @@ -654,24 +654,24 @@ srs_error_t SrsTsContext::encode_pes(ISrsStreamWriter *writer, SrsTsMessage *msg SrsTsPacket::SrsTsPacket(SrsTsContext *c) { - context = c; + context_ = c; - sync_byte = 0; - transport_error_indicator = 0; - payload_unit_start_indicator = 0; - transport_priority = 0; - pid = SrsTsPidPAT; - transport_scrambling_control = SrsTsScrambledDisabled; - adaption_field_control = SrsTsAdaptationFieldTypeReserved; - continuity_counter = 0; - adaptation_field = NULL; - payload = NULL; + sync_byte_ = 0; + transport_error_indicator_ = 0; + payload_unit_start_indicator_ = 0; + transport_priority_ = 0; + pid_ = SrsTsPidPAT; + transport_scrambling_control_ = SrsTsScrambledDisabled; + adaption_field_control_ = SrsTsAdaptationFieldTypeReserved; + continuity_counter_ = 0; + adaptation_field_ = NULL; + payload_ = NULL; } SrsTsPacket::~SrsTsPacket() { - srs_freep(adaptation_field); - srs_freep(payload); + srs_freep(adaptation_field_); + srs_freep(payload_); } srs_error_t SrsTsPacket::decode(SrsBuffer *stream, SrsTsMessage **ppmsg) @@ -685,21 +685,21 @@ srs_error_t SrsTsPacket::decode(SrsBuffer *stream, SrsTsMessage **ppmsg) return srs_error_new(ERROR_STREAM_CASTER_TS_HEADER, "ts: decode packet"); } - sync_byte = stream->read_1bytes(); - if (sync_byte != 0x47) { - return srs_error_new(ERROR_STREAM_CASTER_TS_SYNC_BYTE, "ts: sync_bytes must be 0x47, actual=%#x", sync_byte); + sync_byte_ = stream->read_1bytes(); + if (sync_byte_ != 0x47) { + return srs_error_new(ERROR_STREAM_CASTER_TS_SYNC_BYTE, "ts: sync_bytes must be 0x47, actual=%#x", sync_byte_); } int16_t pidv = stream->read_2bytes(); - transport_error_indicator = (pidv >> 15) & 0x01; - payload_unit_start_indicator = (pidv >> 14) & 0x01; - transport_priority = (pidv >> 13) & 0x01; - pid = (SrsTsPid)(pidv & 0x1FFF); + transport_error_indicator_ = (pidv >> 15) & 0x01; + payload_unit_start_indicator_ = (pidv >> 14) & 0x01; + transport_priority_ = (pidv >> 13) & 0x01; + pid_ = (SrsTsPid)(pidv & 0x1FFF); int8_t ccv = stream->read_1bytes(); - transport_scrambling_control = (SrsTsScrambled)((ccv >> 6) & 0x03); - adaption_field_control = (SrsTsAdaptationFieldType)((ccv >> 4) & 0x03); - continuity_counter = ccv & 0x0F; + transport_scrambling_control_ = (SrsTsScrambled)((ccv >> 6) & 0x03); + adaption_field_control_ = (SrsTsAdaptationFieldType)((ccv >> 4) & 0x03); + continuity_counter_ = ccv & 0x0F; // TODO: FIXME: create pids map when got new pid. @@ -708,11 +708,11 @@ srs_error_t SrsTsPacket::decode(SrsBuffer *stream, SrsTsMessage **ppmsg) transport_scrambling_control, adaption_field_control, continuity_counter); // optional: adaptation field - if (adaption_field_control == SrsTsAdaptationFieldTypeAdaptionOnly || adaption_field_control == SrsTsAdaptationFieldTypeBoth) { - srs_freep(adaptation_field); - adaptation_field = new SrsTsAdaptationField(this); + if (adaption_field_control_ == SrsTsAdaptationFieldTypeAdaptionOnly || adaption_field_control_ == SrsTsAdaptationFieldTypeBoth) { + srs_freep(adaptation_field_); + adaptation_field_ = new SrsTsAdaptationField(this); - if ((err = adaptation_field->decode(stream)) != srs_success) { + if ((err = adaptation_field_->decode(stream)) != srs_success) { return srs_error_wrap(err, "ts: demux af field"); } srs_verbose("ts: demux af ok."); @@ -722,28 +722,28 @@ srs_error_t SrsTsPacket::decode(SrsBuffer *stream, SrsTsMessage **ppmsg) int nb_payload = SRS_TS_PACKET_SIZE - (stream->pos() - pos); // optional: payload. - if (adaption_field_control == SrsTsAdaptationFieldTypePayloadOnly || adaption_field_control == SrsTsAdaptationFieldTypeBoth) { - if (pid == SrsTsPidPAT) { + if (adaption_field_control_ == SrsTsAdaptationFieldTypePayloadOnly || adaption_field_control_ == SrsTsAdaptationFieldTypeBoth) { + if (pid_ == SrsTsPidPAT) { // 2.4.4.3 Program association Table - srs_freep(payload); - payload = new SrsTsPayloadPAT(this); + srs_freep(payload_); + payload_ = new SrsTsPayloadPAT(this); } else { - SrsTsChannel *channel = context->get(pid); - if (channel && channel->apply == SrsTsPidApplyPMT) { + SrsTsChannel *channel = context_->get(pid_); + if (channel && channel->apply_ == SrsTsPidApplyPMT) { // 2.4.4.8 Program Map Table - srs_freep(payload); - payload = new SrsTsPayloadPMT(this); - } else if (channel && (channel->apply == SrsTsPidApplyVideo || channel->apply == SrsTsPidApplyAudio)) { + srs_freep(payload_); + payload_ = new SrsTsPayloadPMT(this); + } else if (channel && (channel->apply_ == SrsTsPidApplyVideo || channel->apply_ == SrsTsPidApplyAudio)) { // 2.4.3.6 PES packet - srs_freep(payload); - payload = new SrsTsPayloadPES(this); + srs_freep(payload_); + payload_ = new SrsTsPayloadPES(this); } else { // left bytes as reserved. stream->skip(srs_min(stream->left(), nb_payload)); } } - if (payload && (err = payload->decode(stream, ppmsg)) != srs_success) { + if (payload_ && (err = payload_->decode(stream, ppmsg)) != srs_success) { return srs_error_wrap(err, "ts: demux payload"); } } @@ -755,8 +755,8 @@ int SrsTsPacket::size() { int sz = 4; - sz += adaptation_field ? adaptation_field->size() : 0; - sz += payload ? payload->size() : 0; + sz += adaptation_field_ ? adaptation_field_->size() : 0; + sz += payload_ ? payload_->size() : 0; return sz; } @@ -770,17 +770,17 @@ srs_error_t SrsTsPacket::encode(SrsBuffer *stream) return srs_error_new(ERROR_STREAM_CASTER_TS_HEADER, "ts: requires 4+ bytes"); } - stream->write_1bytes(sync_byte); + stream->write_1bytes(sync_byte_); - int16_t pidv = pid & 0x1FFF; - pidv |= (transport_priority << 13) & 0x2000; - pidv |= (transport_error_indicator << 15) & 0x8000; - pidv |= (payload_unit_start_indicator << 14) & 0x4000; + int16_t pidv = pid_ & 0x1FFF; + pidv |= (transport_priority_ << 13) & 0x2000; + pidv |= (transport_error_indicator_ << 15) & 0x8000; + pidv |= (payload_unit_start_indicator_ << 14) & 0x4000; stream->write_2bytes(pidv); - int8_t ccv = continuity_counter & 0x0F; - ccv |= (transport_scrambling_control << 6) & 0xC0; - ccv |= (adaption_field_control << 4) & 0x30; + int8_t ccv = continuity_counter_ & 0x0F; + ccv |= (transport_scrambling_control_ << 6) & 0xC0; + ccv |= (adaption_field_control_ << 4) & 0x30; stream->write_1bytes(ccv); srs_info("ts: header sync=%#x error=%d unit_start=%d priotiry=%d pid=%d scrambling=%d adaption=%d counter=%d", @@ -788,16 +788,16 @@ srs_error_t SrsTsPacket::encode(SrsBuffer *stream) transport_scrambling_control, adaption_field_control, continuity_counter); // optional: adaptation field - if (adaptation_field) { - if ((err = adaptation_field->encode(stream)) != srs_success) { + if (adaptation_field_) { + if ((err = adaptation_field_->encode(stream)) != srs_success) { return srs_error_wrap(err, "ts: mux af field"); } srs_verbose("ts: mux af ok."); } // optional: payload. - if (payload) { - if ((err = payload->encode(stream)) != srs_success) { + if (payload_) { + if ((err = payload_->encode(stream)) != srs_success) { return srs_error_wrap(err, "ts: mux payload"); } srs_verbose("ts: mux payload ok."); @@ -808,46 +808,46 @@ srs_error_t SrsTsPacket::encode(SrsBuffer *stream) void SrsTsPacket::padding(int nb_stuffings) { - if (!adaptation_field) { + if (!adaptation_field_) { SrsTsAdaptationField *af = new SrsTsAdaptationField(this); - adaptation_field = af; + adaptation_field_ = af; - af->adaption_field_length = 0; // calc in size. - af->discontinuity_indicator = 0; - af->random_access_indicator = 0; - af->elementary_stream_priority_indicator = 0; - af->PCR_flag = 0; - af->OPCR_flag = 0; - af->splicing_point_flag = 0; - af->transport_private_data_flag = 0; - af->adaptation_field_extension_flag = 0; + af->adaption_field_length_ = 0; // calc in size. + af->discontinuity_indicator_ = 0; + af->random_access_indicator_ = 0; + af->elementary_stream_priority_indicator_ = 0; + af->PCR_flag_ = 0; + af->OPCR_flag_ = 0; + af->splicing_point_flag_ = 0; + af->transport_private_data_flag_ = 0; + af->adaptation_field_extension_flag_ = 0; // consume the af size if possible. nb_stuffings = srs_max(0, nb_stuffings - af->size()); } - adaptation_field->nb_af_reserved = nb_stuffings; + adaptation_field_->nb_af_reserved_ = nb_stuffings; // set payload with af. - if (adaption_field_control == SrsTsAdaptationFieldTypePayloadOnly) { - adaption_field_control = SrsTsAdaptationFieldTypeBoth; + if (adaption_field_control_ == SrsTsAdaptationFieldTypePayloadOnly) { + adaption_field_control_ = SrsTsAdaptationFieldTypeBoth; } } SrsTsPacket *SrsTsPacket::create_pat(SrsTsContext *context, int16_t pmt_number, int16_t pmt_pid) { SrsTsPacket *pkt = new SrsTsPacket(context); - pkt->sync_byte = 0x47; - pkt->transport_error_indicator = 0; - pkt->payload_unit_start_indicator = 1; - pkt->transport_priority = 0; - pkt->pid = SrsTsPidPAT; - pkt->transport_scrambling_control = SrsTsScrambledDisabled; - pkt->adaption_field_control = SrsTsAdaptationFieldTypePayloadOnly; - pkt->continuity_counter = 0; - pkt->adaptation_field = NULL; + pkt->sync_byte_ = 0x47; + pkt->transport_error_indicator_ = 0; + pkt->payload_unit_start_indicator_ = 1; + pkt->transport_priority_ = 0; + pkt->pid_ = SrsTsPidPAT; + pkt->transport_scrambling_control_ = SrsTsScrambledDisabled; + pkt->adaption_field_control_ = SrsTsAdaptationFieldTypePayloadOnly; + pkt->continuity_counter_ = 0; + pkt->adaptation_field_ = NULL; SrsTsPayloadPAT *pat = new SrsTsPayloadPAT(pkt); - pkt->payload = pat; + pkt->payload_ = pat; pat->pointer_field = 0; pat->table_id = SrsTsPsiIdPas; @@ -867,18 +867,18 @@ SrsTsPacket *SrsTsPacket::create_pmt(SrsTsContext *context, int16_t pmt_number, int16_t pmt_pid, int16_t vpid, SrsTsStream vs, int16_t apid, SrsTsStream as) { SrsTsPacket *pkt = new SrsTsPacket(context); - pkt->sync_byte = 0x47; - pkt->transport_error_indicator = 0; - pkt->payload_unit_start_indicator = 1; - pkt->transport_priority = 0; - pkt->pid = (SrsTsPid)pmt_pid; - pkt->transport_scrambling_control = SrsTsScrambledDisabled; - pkt->adaption_field_control = SrsTsAdaptationFieldTypePayloadOnly; + pkt->sync_byte_ = 0x47; + pkt->transport_error_indicator_ = 0; + pkt->payload_unit_start_indicator_ = 1; + pkt->transport_priority_ = 0; + pkt->pid_ = (SrsTsPid)pmt_pid; + pkt->transport_scrambling_control_ = SrsTsScrambledDisabled; + pkt->adaption_field_control_ = SrsTsAdaptationFieldTypePayloadOnly; // TODO: FIXME: maybe should continuous in channel. - pkt->continuity_counter = 0; - pkt->adaptation_field = NULL; + pkt->continuity_counter_ = 0; + pkt->adaptation_field_ = NULL; SrsTsPayloadPMT *pmt = new SrsTsPayloadPMT(pkt); - pkt->payload = pmt; + pkt->payload_ = pmt; pmt->pointer_field = 0; pmt->table_id = SrsTsPsiIdPms; @@ -920,115 +920,115 @@ SrsTsPacket *SrsTsPacket::create_pes_first(SrsTsContext *context, int64_t pcr, int64_t dts, int64_t pts, int size) { SrsTsPacket *pkt = new SrsTsPacket(context); - pkt->sync_byte = 0x47; - pkt->transport_error_indicator = 0; - pkt->payload_unit_start_indicator = 1; - pkt->transport_priority = 0; - pkt->pid = (SrsTsPid)pid; - pkt->transport_scrambling_control = SrsTsScrambledDisabled; - pkt->adaption_field_control = SrsTsAdaptationFieldTypePayloadOnly; - pkt->continuity_counter = continuity_counter; - pkt->adaptation_field = NULL; + pkt->sync_byte_ = 0x47; + pkt->transport_error_indicator_ = 0; + pkt->payload_unit_start_indicator_ = 1; + pkt->transport_priority_ = 0; + pkt->pid_ = (SrsTsPid)pid; + pkt->transport_scrambling_control_ = SrsTsScrambledDisabled; + pkt->adaption_field_control_ = SrsTsAdaptationFieldTypePayloadOnly; + pkt->continuity_counter_ = continuity_counter; + pkt->adaptation_field_ = NULL; SrsTsPayloadPES *pes = new SrsTsPayloadPES(pkt); - pkt->payload = pes; + pkt->payload_ = pes; if (pcr >= 0) { // Ignore coverage for PCR, we don't use it in HLS. // LCOV_EXCL_START SrsTsAdaptationField *af = new SrsTsAdaptationField(pkt); - pkt->adaptation_field = af; - pkt->adaption_field_control = SrsTsAdaptationFieldTypeBoth; + pkt->adaptation_field_ = af; + pkt->adaption_field_control_ = SrsTsAdaptationFieldTypeBoth; - af->adaption_field_length = 0; // calc in size. - af->discontinuity_indicator = discontinuity; - af->random_access_indicator = 0; - af->elementary_stream_priority_indicator = 0; - af->PCR_flag = 1; - af->OPCR_flag = 0; - af->splicing_point_flag = 0; - af->transport_private_data_flag = 0; - af->adaptation_field_extension_flag = 0; - af->program_clock_reference_base = pcr; - af->program_clock_reference_extension = 0; + af->adaption_field_length_ = 0; // calc in size. + af->discontinuity_indicator_ = discontinuity; + af->random_access_indicator_ = 0; + af->elementary_stream_priority_indicator_ = 0; + af->PCR_flag_ = 1; + af->OPCR_flag_ = 0; + af->splicing_point_flag_ = 0; + af->transport_private_data_flag_ = 0; + af->adaptation_field_extension_flag_ = 0; + af->program_clock_reference_base_ = pcr; + af->program_clock_reference_extension_ = 0; // LCOV_EXCL_STOP } - pes->pes.packet_start_code_prefix = 0x01; - pes->pes.stream_id = (uint8_t)sid; - pes->pes.PES_packet_length = (size > 0xFFFF) ? 0 : size; - pes->pes.PES_scrambling_control = 0; - pes->pes.PES_priority = 0; - pes->pes.data_alignment_indicator = 0; - pes->pes.copyright = 0; - pes->pes.original_or_copy = 0; - pes->pes.PTS_DTS_flags = (dts == pts) ? 0x02 : 0x03; - pes->pes.ESCR_flag = 0; - pes->pes.ES_rate_flag = 0; - pes->pes.DSM_trick_mode_flag = 0; - pes->pes.additional_copy_info_flag = 0; - pes->pes.PES_CRC_flag = 0; - pes->pes.PES_extension_flag = 0; - pes->pes.PES_header_data_length = 0; // calc in size. - pes->pes.pts = pts; - pes->pes.dts = dts; + pes->pes_.packet_start_code_prefix_ = 0x01; + pes->pes_.stream_id_ = (uint8_t)sid; + pes->pes_.PES_packet_length_ = (size > 0xFFFF) ? 0 : size; + pes->pes_.PES_scrambling_control_ = 0; + pes->pes_.PES_priority_ = 0; + pes->pes_.data_alignment_indicator_ = 0; + pes->pes_.copyright_ = 0; + pes->pes_.original_or_copy_ = 0; + pes->pes_.PTS_DTS_flags_ = (dts == pts) ? 0x02 : 0x03; + pes->pes_.ESCR_flag_ = 0; + pes->pes_.ES_rate_flag_ = 0; + pes->pes_.DSM_trick_mode_flag_ = 0; + pes->pes_.additional_copy_info_flag_ = 0; + pes->pes_.PES_CRC_flag_ = 0; + pes->pes_.PES_extension_flag_ = 0; + pes->pes_.PES_header_data_length_ = 0; // calc in size. + pes->pes_.pts_ = pts; + pes->pes_.dts_ = dts; return pkt; } SrsTsPacket *SrsTsPacket::create_pes_continue(SrsTsContext *context, int16_t pid, SrsTsPESStreamId sid, uint8_t continuity_counter) { SrsTsPacket *pkt = new SrsTsPacket(context); - pkt->sync_byte = 0x47; - pkt->transport_error_indicator = 0; - pkt->payload_unit_start_indicator = 0; - pkt->transport_priority = 0; - pkt->pid = (SrsTsPid)pid; - pkt->transport_scrambling_control = SrsTsScrambledDisabled; - pkt->adaption_field_control = SrsTsAdaptationFieldTypePayloadOnly; - pkt->continuity_counter = continuity_counter; - pkt->adaptation_field = NULL; - pkt->payload = NULL; + pkt->sync_byte_ = 0x47; + pkt->transport_error_indicator_ = 0; + pkt->payload_unit_start_indicator_ = 0; + pkt->transport_priority_ = 0; + pkt->pid_ = (SrsTsPid)pid; + pkt->transport_scrambling_control_ = SrsTsScrambledDisabled; + pkt->adaption_field_control_ = SrsTsAdaptationFieldTypePayloadOnly; + pkt->continuity_counter_ = continuity_counter; + pkt->adaptation_field_ = NULL; + pkt->payload_ = NULL; return pkt; } SrsTsAdaptationField::SrsTsAdaptationField(SrsTsPacket *pkt) { - packet = pkt; + packet_ = pkt; - adaption_field_length = 0; - discontinuity_indicator = 0; - random_access_indicator = 0; - elementary_stream_priority_indicator = 0; - PCR_flag = 0; - OPCR_flag = 0; - splicing_point_flag = 0; - transport_private_data_flag = 0; - adaptation_field_extension_flag = 0; - program_clock_reference_base = 0; - program_clock_reference_extension = 0; - original_program_clock_reference_base = 0; - original_program_clock_reference_extension = 0; - splice_countdown = 0; - adaptation_field_extension_length = 0; - ltw_flag = 0; - piecewise_rate_flag = 0; - seamless_splice_flag = 0; - ltw_valid_flag = 0; - ltw_offset = 0; - piecewise_rate = 0; - splice_type = 0; - DTS_next_AU0 = 0; - marker_bit0 = 0; - DTS_next_AU1 = 0; - marker_bit1 = 0; - DTS_next_AU2 = 0; - marker_bit2 = 0; - nb_af_ext_reserved = 0; - nb_af_reserved = 0; + adaption_field_length_ = 0; + discontinuity_indicator_ = 0; + random_access_indicator_ = 0; + elementary_stream_priority_indicator_ = 0; + PCR_flag_ = 0; + OPCR_flag_ = 0; + splicing_point_flag_ = 0; + transport_private_data_flag_ = 0; + adaptation_field_extension_flag_ = 0; + program_clock_reference_base_ = 0; + program_clock_reference_extension_ = 0; + original_program_clock_reference_base_ = 0; + original_program_clock_reference_extension_ = 0; + splice_countdown_ = 0; + adaptation_field_extension_length_ = 0; + ltw_flag_ = 0; + piecewise_rate_flag_ = 0; + seamless_splice_flag_ = 0; + ltw_valid_flag_ = 0; + ltw_offset_ = 0; + piecewise_rate_ = 0; + splice_type_ = 0; + DTS_next_AU0_ = 0; + marker_bit0_ = 0; + DTS_next_AU1_ = 0; + marker_bit1_ = 0; + DTS_next_AU2_ = 0; + marker_bit2_ = 0; + nb_af_ext_reserved_ = 0; + nb_af_reserved_ = 0; - const1_value0 = 0x3F; - const1_value1 = 0x1F; - const1_value2 = 0x3F; + const1_value0_ = 0x3F; + const1_value1_ = 0x1F; + const1_value2_ = 0x3F; } SrsTsAdaptationField::~SrsTsAdaptationField() @@ -1042,21 +1042,21 @@ srs_error_t SrsTsAdaptationField::decode(SrsBuffer *stream) if (!stream->require(2)) { return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: decode af"); } - adaption_field_length = stream->read_1bytes(); + adaption_field_length_ = stream->read_1bytes(); // When the adaptation_field_control value is '11', the value of the adaptation_field_length shall // be in the range 0 to 182. - if (packet->adaption_field_control == SrsTsAdaptationFieldTypeBoth && adaption_field_length > 182) { - return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: demux af length failed, must in [0, 182], actual=%d", adaption_field_length); + if (packet_->adaption_field_control_ == SrsTsAdaptationFieldTypeBoth && adaption_field_length_ > 182) { + return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: demux af length failed, must in [0, 182], actual=%d", adaption_field_length_); } // When the adaptation_field_control value is '10', the value of the adaptation_field_length shall // be 183. - if (packet->adaption_field_control == SrsTsAdaptationFieldTypeAdaptionOnly && adaption_field_length != 183) { - return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: demux af length failed, must be 183, actual=%d", adaption_field_length); + if (packet_->adaption_field_control_ == SrsTsAdaptationFieldTypeAdaptionOnly && adaption_field_length_ != 183) { + return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: demux af length failed, must be 183, actual=%d", adaption_field_length_); } // no adaptation field. - if (adaption_field_length == 0) { + if (adaption_field_length_ == 0) { srs_info("ts: demux af empty."); return err; } @@ -1065,16 +1065,16 @@ srs_error_t SrsTsAdaptationField::decode(SrsBuffer *stream) int pos_af = stream->pos(); int8_t tmpv = stream->read_1bytes(); - discontinuity_indicator = (tmpv >> 7) & 0x01; - random_access_indicator = (tmpv >> 6) & 0x01; - elementary_stream_priority_indicator = (tmpv >> 5) & 0x01; - PCR_flag = (tmpv >> 4) & 0x01; - OPCR_flag = (tmpv >> 3) & 0x01; - splicing_point_flag = (tmpv >> 2) & 0x01; - transport_private_data_flag = (tmpv >> 1) & 0x01; - adaptation_field_extension_flag = tmpv & 0x01; + discontinuity_indicator_ = (tmpv >> 7) & 0x01; + random_access_indicator_ = (tmpv >> 6) & 0x01; + elementary_stream_priority_indicator_ = (tmpv >> 5) & 0x01; + PCR_flag_ = (tmpv >> 4) & 0x01; + OPCR_flag_ = (tmpv >> 3) & 0x01; + splicing_point_flag_ = (tmpv >> 2) & 0x01; + transport_private_data_flag_ = (tmpv >> 1) & 0x01; + adaptation_field_extension_flag_ = tmpv & 0x01; - if (PCR_flag) { + if (PCR_flag_) { if (!stream->require(6)) { return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: demux af PCR_flag"); } @@ -1094,14 +1094,14 @@ srs_error_t SrsTsAdaptationField::decode(SrsBuffer *stream) // @remark, use pcr base and ignore the extension // @see https://github.com/ossrs/srs/issues/250#issuecomment-71349370 - program_clock_reference_extension = pcrv & 0x1ff; - const1_value0 = (pcrv >> 9) & 0x3F; - program_clock_reference_base = (pcrv >> 15) & 0x1ffffffffLL; + program_clock_reference_extension_ = pcrv & 0x1ff; + const1_value0_ = (pcrv >> 9) & 0x3F; + program_clock_reference_base_ = (pcrv >> 15) & 0x1ffffffffLL; } // Ignore coverage for bellow, we don't use it in HLS. // LCOV_EXCL_START - if (OPCR_flag) { + if (OPCR_flag_) { if (!stream->require(6)) { return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: demux af OPCR_flag"); } @@ -1121,19 +1121,19 @@ srs_error_t SrsTsAdaptationField::decode(SrsBuffer *stream) // @remark, use pcr base and ignore the extension // @see https://github.com/ossrs/srs/issues/250#issuecomment-71349370 - original_program_clock_reference_extension = opcrv & 0x1ff; - const1_value2 = (opcrv >> 9) & 0x3F; - original_program_clock_reference_base = (opcrv >> 15) & 0x1ffffffffLL; + original_program_clock_reference_extension_ = opcrv & 0x1ff; + const1_value2_ = (opcrv >> 9) & 0x3F; + original_program_clock_reference_base_ = (opcrv >> 15) & 0x1ffffffffLL; } - if (splicing_point_flag) { + if (splicing_point_flag_) { if (!stream->require(1)) { return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: demux af splicing_point_flag"); } - splice_countdown = stream->read_1bytes(); + splice_countdown_ = stream->read_1bytes(); } - if (transport_private_data_flag) { + if (transport_private_data_flag_) { if (!stream->require(1)) { return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: demux af transport_private_data_flag"); } @@ -1148,70 +1148,70 @@ srs_error_t SrsTsAdaptationField::decode(SrsBuffer *stream) if (!stream->require(transport_private_data_length)) { return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: demux af transport_private_data"); } - transport_private_data.resize(transport_private_data_length); - stream->read_bytes(&transport_private_data[0], transport_private_data_length); + transport_private_data_.resize(transport_private_data_length); + stream->read_bytes(&transport_private_data_[0], transport_private_data_length); } } - if (adaptation_field_extension_flag) { + if (adaptation_field_extension_flag_) { int pos_af_ext = stream->pos(); if (!stream->require(2)) { return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: demux af adaptation_field_extension_flag"); } - adaptation_field_extension_length = (uint8_t)stream->read_1bytes(); + adaptation_field_extension_length_ = (uint8_t)stream->read_1bytes(); int8_t ltwfv = stream->read_1bytes(); - piecewise_rate_flag = (ltwfv >> 6) & 0x01; - seamless_splice_flag = (ltwfv >> 5) & 0x01; - ltw_flag = (ltwfv >> 7) & 0x01; - const1_value1 = ltwfv & 0x1F; + piecewise_rate_flag_ = (ltwfv >> 6) & 0x01; + seamless_splice_flag_ = (ltwfv >> 5) & 0x01; + ltw_flag_ = (ltwfv >> 7) & 0x01; + const1_value1_ = ltwfv & 0x1F; - if (ltw_flag) { + if (ltw_flag_) { if (!stream->require(2)) { return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: demux af ltw_flag"); } - ltw_offset = stream->read_2bytes(); + ltw_offset_ = stream->read_2bytes(); - ltw_valid_flag = (ltw_offset >> 15) & 0x01; - ltw_offset &= 0x7FFF; + ltw_valid_flag_ = (ltw_offset_ >> 15) & 0x01; + ltw_offset_ &= 0x7FFF; } - if (piecewise_rate_flag) { + if (piecewise_rate_flag_) { if (!stream->require(3)) { return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: demux af piecewise_rate_flag"); } - piecewise_rate = stream->read_3bytes(); + piecewise_rate_ = stream->read_3bytes(); - piecewise_rate &= 0x3FFFFF; + piecewise_rate_ &= 0x3FFFFF; } - if (seamless_splice_flag) { + if (seamless_splice_flag_) { if (!stream->require(5)) { return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: demux af seamless_splice_flag"); } - marker_bit0 = stream->read_1bytes(); - DTS_next_AU1 = stream->read_2bytes(); - DTS_next_AU2 = stream->read_2bytes(); + marker_bit0_ = stream->read_1bytes(); + DTS_next_AU1_ = stream->read_2bytes(); + DTS_next_AU2_ = stream->read_2bytes(); - splice_type = (marker_bit0 >> 4) & 0x0F; - DTS_next_AU0 = (marker_bit0 >> 1) & 0x07; - marker_bit0 &= 0x01; + splice_type_ = (marker_bit0_ >> 4) & 0x0F; + DTS_next_AU0_ = (marker_bit0_ >> 1) & 0x07; + marker_bit0_ &= 0x01; - marker_bit1 = DTS_next_AU1 & 0x01; - DTS_next_AU1 = (DTS_next_AU1 >> 1) & 0x7FFF; + marker_bit1_ = DTS_next_AU1_ & 0x01; + DTS_next_AU1_ = (DTS_next_AU1_ >> 1) & 0x7FFF; - marker_bit2 = DTS_next_AU2 & 0x01; - DTS_next_AU2 = (DTS_next_AU2 >> 1) & 0x7FFF; + marker_bit2_ = DTS_next_AU2_ & 0x01; + DTS_next_AU2_ = (DTS_next_AU2_ >> 1) & 0x7FFF; } - nb_af_ext_reserved = adaptation_field_extension_length - (stream->pos() - pos_af_ext); - stream->skip(nb_af_ext_reserved); + nb_af_ext_reserved_ = adaptation_field_extension_length_ - (stream->pos() - pos_af_ext); + stream->skip(nb_af_ext_reserved_); } // LCOV_EXCL_STOP - nb_af_reserved = adaption_field_length - (stream->pos() - pos_af); - stream->skip(nb_af_reserved); + nb_af_reserved_ = adaption_field_length_ - (stream->pos() - pos_af); + stream->skip(nb_af_reserved_); srs_info("ts: af parsed, discontinuity=%d random=%d priority=%d PCR=%d OPCR=%d slicing=%d private=%d extension=%d/%d pcr=%" PRId64 "/%d opcr=%" PRId64 "/%d", discontinuity_indicator, random_access_indicator, elementary_stream_priority_indicator, PCR_flag, OPCR_flag, splicing_point_flag, @@ -1225,15 +1225,15 @@ int SrsTsAdaptationField::size() { int sz = 2; - sz += PCR_flag ? 6 : 0; - sz += OPCR_flag ? 6 : 0; - sz += splicing_point_flag ? 1 : 0; - sz += transport_private_data_flag ? 1 + transport_private_data.size() : 0; - sz += adaptation_field_extension_flag ? 2 + adaptation_field_extension_length : 0; - sz += nb_af_ext_reserved; - sz += nb_af_reserved; + sz += PCR_flag_ ? 6 : 0; + sz += OPCR_flag_ ? 6 : 0; + sz += splicing_point_flag_ ? 1 : 0; + sz += transport_private_data_flag_ ? 1 + transport_private_data_.size() : 0; + sz += adaptation_field_extension_flag_ ? 2 + adaptation_field_extension_length_ : 0; + sz += nb_af_ext_reserved_; + sz += nb_af_reserved_; - adaption_field_length = sz - 1; + adaption_field_length_ = sz - 1; return sz; } @@ -1245,37 +1245,37 @@ srs_error_t SrsTsAdaptationField::encode(SrsBuffer *stream) if (!stream->require(2)) { return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: mux af"); } - stream->write_1bytes(adaption_field_length); + stream->write_1bytes(adaption_field_length_); // When the adaptation_field_control value is '11', the value of the adaptation_field_length shall // be in the range 0 to 182. - if (packet->adaption_field_control == SrsTsAdaptationFieldTypeBoth && adaption_field_length > 182) { - return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: mux af length failed, must in [0, 182], actual=%d", adaption_field_length); + if (packet_->adaption_field_control_ == SrsTsAdaptationFieldTypeBoth && adaption_field_length_ > 182) { + return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: mux af length failed, must in [0, 182], actual=%d", adaption_field_length_); } // When the adaptation_field_control value is '10', the value of the adaptation_field_length shall // be 183. - if (packet->adaption_field_control == SrsTsAdaptationFieldTypeAdaptionOnly && adaption_field_length != 183) { - return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: mux af length failed, must be 183, actual=%d", adaption_field_length); + if (packet_->adaption_field_control_ == SrsTsAdaptationFieldTypeAdaptionOnly && adaption_field_length_ != 183) { + return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: mux af length failed, must be 183, actual=%d", adaption_field_length_); } // no adaptation field. - if (adaption_field_length == 0) { + if (adaption_field_length_ == 0) { srs_info("ts: mux af empty."); return err; } - int8_t tmpv = adaptation_field_extension_flag & 0x01; - tmpv |= (discontinuity_indicator << 7) & 0x80; - tmpv |= (random_access_indicator << 6) & 0x40; - tmpv |= (elementary_stream_priority_indicator << 5) & 0x20; - tmpv |= (PCR_flag << 4) & 0x10; - tmpv |= (OPCR_flag << 3) & 0x08; - tmpv |= (splicing_point_flag << 2) & 0x04; - tmpv |= (transport_private_data_flag << 1) & 0x02; + int8_t tmpv = adaptation_field_extension_flag_ & 0x01; + tmpv |= (discontinuity_indicator_ << 7) & 0x80; + tmpv |= (random_access_indicator_ << 6) & 0x40; + tmpv |= (elementary_stream_priority_indicator_ << 5) & 0x20; + tmpv |= (PCR_flag_ << 4) & 0x10; + tmpv |= (OPCR_flag_ << 3) & 0x08; + tmpv |= (splicing_point_flag_ << 2) & 0x04; + tmpv |= (transport_private_data_flag_ << 1) & 0x02; stream->write_1bytes(tmpv); // Ignore the coverage bellow, for we don't use them in HLS. // LCOV_EXCL_START - if (PCR_flag) { + if (PCR_flag_) { if (!stream->require(6)) { return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: mux af PCR_flag"); } @@ -1286,9 +1286,9 @@ srs_error_t SrsTsAdaptationField::encode(SrsBuffer *stream) // @remark, use pcr base and ignore the extension // @see https://github.com/ossrs/srs/issues/250#issuecomment-71349370 - int64_t pcrv = program_clock_reference_extension & 0x1ff; - pcrv |= (const1_value0 << 9) & 0x7E00; - pcrv |= (program_clock_reference_base << 15) & 0xFFFFFFFF8000LL; + int64_t pcrv = program_clock_reference_extension_ & 0x1ff; + pcrv |= (const1_value0_ << 9) & 0x7E00; + pcrv |= (program_clock_reference_base_ << 15) & 0xFFFFFFFF8000LL; pp = (char *)&pcrv; *p++ = pp[5]; @@ -1299,7 +1299,7 @@ srs_error_t SrsTsAdaptationField::encode(SrsBuffer *stream) *p++ = pp[0]; } - if (OPCR_flag) { + if (OPCR_flag_) { if (!stream->require(6)) { return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: mux af OPCR_flag"); } @@ -1307,39 +1307,39 @@ srs_error_t SrsTsAdaptationField::encode(SrsBuffer *stream) srs_warn("ts: mux af ignore OPCR"); } - if (splicing_point_flag) { + if (splicing_point_flag_) { if (!stream->require(1)) { return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: mux af splicing_point_flag"); } - stream->write_1bytes(splice_countdown); + stream->write_1bytes(splice_countdown_); } - if (transport_private_data_flag) { + if (transport_private_data_flag_) { if (!stream->require(1)) { return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: mux af transport_private_data_flag"); } - stream->write_1bytes(transport_private_data.size()); + stream->write_1bytes(transport_private_data_.size()); - if (!transport_private_data.empty()) { - if (!stream->require((int)transport_private_data.size())) { + if (!transport_private_data_.empty()) { + if (!stream->require((int)transport_private_data_.size())) { return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: mux af transport_private_data"); } - stream->write_bytes(&transport_private_data[0], (int)transport_private_data.size()); + stream->write_bytes(&transport_private_data_[0], (int)transport_private_data_.size()); } } - if (adaptation_field_extension_flag) { + if (adaptation_field_extension_flag_) { if (!stream->require(2)) { return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: mux af adaptation_field_extension_flag"); } - stream->write_1bytes(adaptation_field_extension_length); - int8_t ltwfv = const1_value1 & 0x1F; - ltwfv |= (ltw_flag << 7) & 0x80; - ltwfv |= (piecewise_rate_flag << 6) & 0x40; - ltwfv |= (seamless_splice_flag << 5) & 0x20; + stream->write_1bytes(adaptation_field_extension_length_); + int8_t ltwfv = const1_value1_ & 0x1F; + ltwfv |= (ltw_flag_ << 7) & 0x80; + ltwfv |= (piecewise_rate_flag_ << 6) & 0x40; + ltwfv |= (seamless_splice_flag_ << 5) & 0x20; stream->write_1bytes(ltwfv); - if (ltw_flag) { + if (ltw_flag_) { if (!stream->require(2)) { return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: mux af ltw_flag"); } @@ -1347,7 +1347,7 @@ srs_error_t SrsTsAdaptationField::encode(SrsBuffer *stream) srs_warn("ts: mux af ignore ltw"); } - if (piecewise_rate_flag) { + if (piecewise_rate_flag_) { if (!stream->require(3)) { return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: mux af piecewise_rate_flag"); } @@ -1355,7 +1355,7 @@ srs_error_t SrsTsAdaptationField::encode(SrsBuffer *stream) srs_warn("ts: mux af ignore piecewise_rate"); } - if (seamless_splice_flag) { + if (seamless_splice_flag_) { if (!stream->require(5)) { return srs_error_new(ERROR_STREAM_CASTER_TS_AF, "ts: mux af seamless_splice_flag"); } @@ -1363,14 +1363,14 @@ srs_error_t SrsTsAdaptationField::encode(SrsBuffer *stream) srs_warn("ts: mux af ignore seamless_splice"); } - if (nb_af_ext_reserved) { - stream->skip(nb_af_ext_reserved); + if (nb_af_ext_reserved_) { + stream->skip(nb_af_ext_reserved_); } } // LCOV_EXCL_STOP - if (nb_af_reserved) { - stream->skip(nb_af_reserved); + if (nb_af_reserved_) { + stream->skip(nb_af_reserved_); } srs_info("ts: af parsed, discontinuity=%d random=%d priority=%d PCR=%d OPCR=%d slicing=%d private=%d extension=%d/%d pcr=%" PRId64 "/%d opcr=%" PRId64 "/%d", @@ -1383,7 +1383,7 @@ srs_error_t SrsTsAdaptationField::encode(SrsBuffer *stream) SrsTsPayload::SrsTsPayload(SrsTsPacket *p) { - packet = p; + packet_ = p; } SrsTsPayload::~SrsTsPayload() @@ -1392,46 +1392,46 @@ SrsTsPayload::~SrsTsPayload() SrsMpegPES::SrsMpegPES() { - nb_stuffings = 0; - nb_bytes = 0; - nb_paddings = 0; - const2bits = 0x02; - const1_value0 = 0x07; + nb_stuffings_ = 0; + nb_bytes_ = 0; + nb_paddings_ = 0; + const2bits_ = 0x02; + const1_value0_ = 0x07; - packet_start_code_prefix = 0; - stream_id = 0; - PES_packet_length = 0; - PES_scrambling_control = 0; - PES_priority = 0; - data_alignment_indicator = 0; - copyright = 0; - original_or_copy = 0; - PTS_DTS_flags = 0; - ESCR_flag = 0; - ES_rate_flag = 0; - DSM_trick_mode_flag = 0; - additional_copy_info_flag = 0; - PES_CRC_flag = 0; - PES_extension_flag = 0; - PES_header_data_length = 0; - pts = dts = 0; - ESCR_base = 0; - ESCR_extension = 0; - ES_rate = 0; - trick_mode_control = 0; - trick_mode_value = 0; - additional_copy_info = 0; - previous_PES_packet_CRC = 0; - PES_private_data_flag = 0; - pack_header_field_flag = 0; - program_packet_sequence_counter_flag = 0; - P_STD_buffer_flag = 0; - PES_extension_flag_2 = 0; - program_packet_sequence_counter = 0; - MPEG1_MPEG2_identifier = 0; - original_stuff_length = 0; - P_STD_buffer_scale = 0; - P_STD_buffer_size = 0; + packet_start_code_prefix_ = 0; + stream_id_ = 0; + PES_packet_length_ = 0; + PES_scrambling_control_ = 0; + PES_priority_ = 0; + data_alignment_indicator_ = 0; + copyright_ = 0; + original_or_copy_ = 0; + PTS_DTS_flags_ = 0; + ESCR_flag_ = 0; + ES_rate_flag_ = 0; + DSM_trick_mode_flag_ = 0; + additional_copy_info_flag_ = 0; + PES_CRC_flag_ = 0; + PES_extension_flag_ = 0; + PES_header_data_length_ = 0; + pts_ = dts_ = 0; + ESCR_base_ = 0; + ESCR_extension_ = 0; + ES_rate_ = 0; + trick_mode_control_ = 0; + trick_mode_value_ = 0; + additional_copy_info_ = 0; + previous_PES_packet_CRC_ = 0; + PES_private_data_flag_ = 0; + pack_header_field_flag_ = 0; + program_packet_sequence_counter_flag_ = 0; + P_STD_buffer_flag_ = 0; + PES_extension_flag_2_ = 0; + program_packet_sequence_counter_ = 0; + MPEG1_MPEG2_identifier_ = 0; + original_stuff_length_ = 0; + P_STD_buffer_scale_ = 0; + P_STD_buffer_size_ = 0; has_payload_ = false; nb_payload_ = 0; @@ -1450,22 +1450,22 @@ srs_error_t SrsMpegPES::decode(SrsBuffer *stream) return srs_error_new(ERROR_STREAM_CASTER_TS_PSE, "ts: demux PSE"); } // 3B - packet_start_code_prefix = stream->read_3bytes(); + packet_start_code_prefix_ = stream->read_3bytes(); // 1B - stream_id = stream->read_1bytes(); + stream_id_ = stream->read_1bytes(); // 2B - PES_packet_length = stream->read_2bytes(); + PES_packet_length_ = stream->read_2bytes(); // check the packet start prefix. - packet_start_code_prefix &= 0xFFFFFF; - if (packet_start_code_prefix != 0x01) { - return srs_error_new(ERROR_STREAM_CASTER_TS_PSE, "ts: demux PES start code failed, expect=0x01, actual=%#x", packet_start_code_prefix); + packet_start_code_prefix_ &= 0xFFFFFF; + if (packet_start_code_prefix_ != 0x01) { + return srs_error_new(ERROR_STREAM_CASTER_TS_PSE, "ts: demux PES start code failed, expect=0x01, actual=%#x", packet_start_code_prefix_); } int pos_packet = stream->pos(); // @remark the sid indicates the elementary stream format. // the SrsTsPESStreamIdAudio and SrsTsPESStreamIdVideo is start by 0b110 or 0b1110 - SrsTsPESStreamId sid = (SrsTsPESStreamId)stream_id; + SrsTsPESStreamId sid = (SrsTsPESStreamId)stream_id_; if (sid != SrsTsPESStreamIdProgramStreamMap && sid != SrsTsPESStreamIdPaddingStream && sid != SrsTsPESStreamIdPrivateStream2 && sid != SrsTsPESStreamIdEcmStream && sid != SrsTsPESStreamIdEmmStream && sid != SrsTsPESStreamIdProgramStreamDirectory && sid != SrsTsPESStreamIdDsmccStream && sid != SrsTsPESStreamIdH2221TypeE) { // 3B flags. if (!stream->require(3)) { @@ -1476,59 +1476,59 @@ srs_error_t SrsMpegPES::decode(SrsBuffer *stream) // 1B int8_t pefv = stream->read_1bytes(); // 1B - PES_header_data_length = stream->read_1bytes(); + PES_header_data_length_ = stream->read_1bytes(); // position of header start. int pos_header = stream->pos(); - const2bits = (oocv >> 6) & 0x03; - PES_scrambling_control = (oocv >> 4) & 0x03; - PES_priority = (oocv >> 3) & 0x01; - data_alignment_indicator = (oocv >> 2) & 0x01; - copyright = (oocv >> 1) & 0x01; - original_or_copy = oocv & 0x01; + const2bits_ = (oocv >> 6) & 0x03; + PES_scrambling_control_ = (oocv >> 4) & 0x03; + PES_priority_ = (oocv >> 3) & 0x01; + data_alignment_indicator_ = (oocv >> 2) & 0x01; + copyright_ = (oocv >> 1) & 0x01; + original_or_copy_ = oocv & 0x01; - PTS_DTS_flags = (pefv >> 6) & 0x03; - ESCR_flag = (pefv >> 5) & 0x01; - ES_rate_flag = (pefv >> 4) & 0x01; - DSM_trick_mode_flag = (pefv >> 3) & 0x01; - additional_copy_info_flag = (pefv >> 2) & 0x01; - PES_CRC_flag = (pefv >> 1) & 0x01; - PES_extension_flag = pefv & 0x01; + PTS_DTS_flags_ = (pefv >> 6) & 0x03; + ESCR_flag_ = (pefv >> 5) & 0x01; + ES_rate_flag_ = (pefv >> 4) & 0x01; + DSM_trick_mode_flag_ = (pefv >> 3) & 0x01; + additional_copy_info_flag_ = (pefv >> 2) & 0x01; + PES_CRC_flag_ = (pefv >> 1) & 0x01; + PES_extension_flag_ = pefv & 0x01; // check required together. int nb_required = 0; - nb_required += (PTS_DTS_flags == 0x2) ? 5 : 0; - nb_required += (PTS_DTS_flags == 0x3) ? 10 : 0; - nb_required += ESCR_flag ? 6 : 0; - nb_required += ES_rate_flag ? 3 : 0; - nb_required += DSM_trick_mode_flag ? 1 : 0; - nb_required += additional_copy_info_flag ? 1 : 0; - nb_required += PES_CRC_flag ? 2 : 0; - nb_required += PES_extension_flag ? 1 : 0; + nb_required += (PTS_DTS_flags_ == 0x2) ? 5 : 0; + nb_required += (PTS_DTS_flags_ == 0x3) ? 10 : 0; + nb_required += ESCR_flag_ ? 6 : 0; + nb_required += ES_rate_flag_ ? 3 : 0; + nb_required += DSM_trick_mode_flag_ ? 1 : 0; + nb_required += additional_copy_info_flag_ ? 1 : 0; + nb_required += PES_CRC_flag_ ? 2 : 0; + nb_required += PES_extension_flag_ ? 1 : 0; if (!stream->require(nb_required)) { return srs_error_new(ERROR_STREAM_CASTER_TS_PSE, "ts: demux PSE payload"); } // 5B - if (PTS_DTS_flags == 0x2) { - if ((err = decode_33bits_dts_pts(stream, &pts)) != srs_success) { + if (PTS_DTS_flags_ == 0x2) { + if ((err = decode_33bits_dts_pts(stream, &pts_)) != srs_success) { return srs_error_wrap(err, "dts/pts"); } - dts = pts; + dts_ = pts_; } // 10B - if (PTS_DTS_flags == 0x3) { - if ((err = decode_33bits_dts_pts(stream, &pts)) != srs_success) { + if (PTS_DTS_flags_ == 0x3) { + if ((err = decode_33bits_dts_pts(stream, &pts_)) != srs_success) { return srs_error_wrap(err, "dts/pts"); } - if ((err = decode_33bits_dts_pts(stream, &dts)) != srs_success) { + if ((err = decode_33bits_dts_pts(stream, &dts_)) != srs_success) { return srs_error_wrap(err, "dts/pts"); } // check sync, the diff of dts and pts should never greater than 1s. - if (dts - pts > 90000 || pts - dts > 90000) { - srs_warn("ts: sync dts=%" PRId64 ", pts=%" PRId64, dts, pts); + if (dts_ - pts_ > 90000 || pts_ - dts_ > 90000) { + srs_warn("ts: sync dts=%" PRId64 ", pts=%" PRId64, dts_, pts_); } } @@ -1536,71 +1536,71 @@ srs_error_t SrsMpegPES::decode(SrsBuffer *stream) // LCOV_EXCL_START // 6B - if (ESCR_flag) { - ESCR_extension = 0; - ESCR_base = 0; + if (ESCR_flag_) { + ESCR_extension_ = 0; + ESCR_base_ = 0; stream->skip(6); srs_warn("ts: demux PES, ignore the escr."); } // 3B - if (ES_rate_flag) { - ES_rate = stream->read_3bytes(); + if (ES_rate_flag_) { + ES_rate_ = stream->read_3bytes(); - ES_rate = ES_rate >> 1; - ES_rate &= 0x3FFFFF; + ES_rate_ = ES_rate_ >> 1; + ES_rate_ &= 0x3FFFFF; } // 1B - if (DSM_trick_mode_flag) { - trick_mode_control = stream->read_1bytes(); + if (DSM_trick_mode_flag_) { + trick_mode_control_ = stream->read_1bytes(); - trick_mode_value = trick_mode_control & 0x1f; - trick_mode_control = (trick_mode_control >> 5) & 0x03; + trick_mode_value_ = trick_mode_control_ & 0x1f; + trick_mode_control_ = (trick_mode_control_ >> 5) & 0x03; } // 1B - if (additional_copy_info_flag) { - additional_copy_info = stream->read_1bytes(); + if (additional_copy_info_flag_) { + additional_copy_info_ = stream->read_1bytes(); - additional_copy_info &= 0x7f; + additional_copy_info_ &= 0x7f; } // 2B - if (PES_CRC_flag) { - previous_PES_packet_CRC = stream->read_2bytes(); + if (PES_CRC_flag_) { + previous_PES_packet_CRC_ = stream->read_2bytes(); } // 1B - if (PES_extension_flag) { + if (PES_extension_flag_) { int8_t efv = stream->read_1bytes(); - PES_private_data_flag = (efv >> 7) & 0x01; - pack_header_field_flag = (efv >> 6) & 0x01; - program_packet_sequence_counter_flag = (efv >> 5) & 0x01; - P_STD_buffer_flag = (efv >> 4) & 0x01; - const1_value0 = (efv >> 1) & 0x07; - PES_extension_flag_2 = efv & 0x01; + PES_private_data_flag_ = (efv >> 7) & 0x01; + pack_header_field_flag_ = (efv >> 6) & 0x01; + program_packet_sequence_counter_flag_ = (efv >> 5) & 0x01; + P_STD_buffer_flag_ = (efv >> 4) & 0x01; + const1_value0_ = (efv >> 1) & 0x07; + PES_extension_flag_2_ = efv & 0x01; nb_required = 0; - nb_required += PES_private_data_flag ? 16 : 0; - nb_required += pack_header_field_flag ? 1 : 0; // 1+x bytes. - nb_required += program_packet_sequence_counter_flag ? 2 : 0; - nb_required += P_STD_buffer_flag ? 2 : 0; - nb_required += PES_extension_flag_2 ? 1 : 0; // 1+x bytes. + nb_required += PES_private_data_flag_ ? 16 : 0; + nb_required += pack_header_field_flag_ ? 1 : 0; // 1+x bytes. + nb_required += program_packet_sequence_counter_flag_ ? 2 : 0; + nb_required += P_STD_buffer_flag_ ? 2 : 0; + nb_required += PES_extension_flag_2_ ? 1 : 0; // 1+x bytes. if (!stream->require(nb_required)) { return srs_error_new(ERROR_STREAM_CASTER_TS_PSE, "ts: demux PSE ext payload"); } // 16B - if (PES_private_data_flag) { - PES_private_data.resize(16); - stream->read_bytes(&PES_private_data[0], 16); + if (PES_private_data_flag_) { + PES_private_data_.resize(16); + stream->read_bytes(&PES_private_data_[0], 16); } // (1+x)B - if (pack_header_field_flag) { + if (pack_header_field_flag_) { // This is an 8-bit field which indicates the length, in bytes, of the pack_header_field() uint8_t pack_field_length = stream->read_1bytes(); if (pack_field_length > 0) { @@ -1609,34 +1609,34 @@ srs_error_t SrsMpegPES::decode(SrsBuffer *stream) if (!stream->require(nb_required)) { return srs_error_new(ERROR_STREAM_CASTER_TS_PSE, "ts: demux PSE ext pack"); } - pack_field.resize(pack_field_length); - stream->read_bytes(&pack_field[0], pack_field_length); + pack_field_.resize(pack_field_length); + stream->read_bytes(&pack_field_[0], pack_field_length); } } // 2B - if (program_packet_sequence_counter_flag) { - program_packet_sequence_counter = stream->read_1bytes(); - program_packet_sequence_counter &= 0x7f; + if (program_packet_sequence_counter_flag_) { + program_packet_sequence_counter_ = stream->read_1bytes(); + program_packet_sequence_counter_ &= 0x7f; - original_stuff_length = stream->read_1bytes(); - MPEG1_MPEG2_identifier = (original_stuff_length >> 6) & 0x01; - original_stuff_length &= 0x3f; + original_stuff_length_ = stream->read_1bytes(); + MPEG1_MPEG2_identifier_ = (original_stuff_length_ >> 6) & 0x01; + original_stuff_length_ &= 0x3f; } // 2B - if (P_STD_buffer_flag) { - P_STD_buffer_size = stream->read_2bytes(); + if (P_STD_buffer_flag_) { + P_STD_buffer_size_ = stream->read_2bytes(); // '01' // int8_t const2bits = (P_STD_buffer_scale >>14) & 0x03; - P_STD_buffer_scale = (P_STD_buffer_scale >> 13) & 0x01; - P_STD_buffer_size &= 0x1FFF; + P_STD_buffer_scale_ = (P_STD_buffer_size_ >> 13) & 0x01; + P_STD_buffer_size_ &= 0x1FFF; } // (1+x)B - if (PES_extension_flag_2) { + if (PES_extension_flag_2_) { /** * This is a 7-bit field which specifies the length, in bytes, of the data following this field in * the PES extension field up to and including any reserved bytes. @@ -1648,19 +1648,19 @@ srs_error_t SrsMpegPES::decode(SrsBuffer *stream) if (!stream->require(PES_extension_field_length)) { return srs_error_new(ERROR_STREAM_CASTER_TS_PSE, "ts: demux PSE ext field"); } - PES_extension_field.resize(PES_extension_field_length); - stream->read_bytes(&PES_extension_field[0], PES_extension_field_length); + PES_extension_field_.resize(PES_extension_field_length); + stream->read_bytes(&PES_extension_field_[0], PES_extension_field_length); } } } // stuffing_byte - nb_stuffings = PES_header_data_length - (stream->pos() - pos_header); - if (nb_stuffings > 0) { - if (!stream->require(nb_stuffings)) { + nb_stuffings_ = PES_header_data_length_ - (stream->pos() - pos_header); + if (nb_stuffings_ > 0) { + if (!stream->require(nb_stuffings_)) { return srs_error_new(ERROR_STREAM_CASTER_TS_PSE, "ts: demux PSE stuffings"); } - stream->skip(nb_stuffings); + stream->skip(nb_stuffings_); } // LCOV_EXCL_STOP @@ -1677,10 +1677,10 @@ srs_error_t SrsMpegPES::decode(SrsBuffer *stream) // should dump all left bytes in stream to message util next unit start packet. // Otherwise, the PES_packet_length should greater than 0, which is a specified length, then we also dump // the left bytes in stream, in such case, the nb_payload_ is the actual size of payload. - if (PES_packet_length > 0) { - int nb_packet = PES_packet_length - (stream->pos() - pos_packet); + if (PES_packet_length_ > 0) { + int nb_packet = PES_packet_length_ - (stream->pos() - pos_packet); if (nb_packet < 0) { - return srs_error_new(ERROR_STREAM_CASTER_TS_PSE, "ts: Invalid PES_packet_length=%d, pos_packet=%d, pos=%d", PES_packet_length, pos_packet, stream->pos()); + return srs_error_new(ERROR_STREAM_CASTER_TS_PSE, "ts: Invalid PES_packet_length=%d, pos_packet=%d, pos=%d", PES_packet_length_, pos_packet, stream->pos()); } nb_payload_ = nb_packet; } @@ -1698,26 +1698,26 @@ srs_error_t SrsMpegPES::decode(SrsBuffer *stream) // } // For PS, the PES packet should never be empty, because there is no continuity for PS packet. - if (PES_packet_length <= 0) { - return srs_error_new(ERROR_GB_PS_PSE, "ts: Invalid PES_packet_length=%d for PS", PES_packet_length); + if (PES_packet_length_ <= 0) { + return srs_error_new(ERROR_GB_PS_PSE, "ts: Invalid PES_packet_length=%d for PS", PES_packet_length_); } // The pos_packet equals to stream pos, so the PES_packet_length is actually the payload length. - nb_payload_ = PES_packet_length; + nb_payload_ = PES_packet_length_; has_payload_ = true; } else if (sid == SrsTsPESStreamIdPaddingStream) { // for (i = 0; i < PES_packet_length; i++) { // padding_byte // } - nb_paddings = stream->size() - stream->pos(); - stream->skip(nb_paddings); + nb_paddings_ = stream->size() - stream->pos(); + stream->skip(nb_paddings_); srs_info("ts: drop %dB padding bytes", nb_paddings); // LCOV_EXCL_STOP } else { int nb_drop = stream->size() - stream->pos(); stream->skip(nb_drop); - srs_warn("ts: drop the pes packet %dB for stream_id=%#x", nb_drop, stream_id); + srs_warn("ts: drop the pes packet %dB for stream_id=%#x", nb_drop, stream_id_); } return err; @@ -1727,36 +1727,36 @@ int SrsMpegPES::size() { int sz = 0; - PES_header_data_length = 0; - SrsTsPESStreamId sid = (SrsTsPESStreamId)stream_id; + PES_header_data_length_ = 0; + SrsTsPESStreamId sid = (SrsTsPESStreamId)stream_id_; if (sid != SrsTsPESStreamIdProgramStreamMap && sid != SrsTsPESStreamIdPaddingStream && sid != SrsTsPESStreamIdPrivateStream2 && sid != SrsTsPESStreamIdEcmStream && sid != SrsTsPESStreamIdEmmStream && sid != SrsTsPESStreamIdProgramStreamDirectory && sid != SrsTsPESStreamIdDsmccStream && sid != SrsTsPESStreamIdH2221TypeE) { sz += 6; sz += 3; - PES_header_data_length = sz; + PES_header_data_length_ = sz; - sz += (PTS_DTS_flags == 0x2) ? 5 : 0; - sz += (PTS_DTS_flags == 0x3) ? 10 : 0; - sz += ESCR_flag ? 6 : 0; - sz += ES_rate_flag ? 3 : 0; - sz += DSM_trick_mode_flag ? 1 : 0; - sz += additional_copy_info_flag ? 1 : 0; - sz += PES_CRC_flag ? 2 : 0; - sz += PES_extension_flag ? 1 : 0; + sz += (PTS_DTS_flags_ == 0x2) ? 5 : 0; + sz += (PTS_DTS_flags_ == 0x3) ? 10 : 0; + sz += ESCR_flag_ ? 6 : 0; + sz += ES_rate_flag_ ? 3 : 0; + sz += DSM_trick_mode_flag_ ? 1 : 0; + sz += additional_copy_info_flag_ ? 1 : 0; + sz += PES_CRC_flag_ ? 2 : 0; + sz += PES_extension_flag_ ? 1 : 0; - if (PES_extension_flag) { + if (PES_extension_flag_) { // Ignore coverage bellow, for we don't use them in HLS. // LCOV_EXCL_START - sz += PES_private_data_flag ? 16 : 0; - sz += pack_header_field_flag ? 1 + pack_field.size() : 0; // 1+x bytes. - sz += program_packet_sequence_counter_flag ? 2 : 0; - sz += P_STD_buffer_flag ? 2 : 0; - sz += PES_extension_flag_2 ? 1 + PES_extension_field.size() : 0; // 1+x bytes. + sz += PES_private_data_flag_ ? 16 : 0; + sz += pack_header_field_flag_ ? 1 + pack_field_.size() : 0; // 1+x bytes. + sz += program_packet_sequence_counter_flag_ ? 2 : 0; + sz += P_STD_buffer_flag_ ? 2 : 0; + sz += PES_extension_flag_2_ ? 1 + PES_extension_field_.size() : 0; // 1+x bytes. // LCOV_EXCL_STOP } - PES_header_data_length = sz - PES_header_data_length; + PES_header_data_length_ = sz - PES_header_data_length_; - sz += nb_stuffings; + sz += nb_stuffings_; // packet bytes } else if (sid == SrsTsPESStreamIdProgramStreamMap || sid == SrsTsPESStreamIdPrivateStream2 || sid == SrsTsPESStreamIdEcmStream || sid == SrsTsPESStreamIdEmmStream || sid == SrsTsPESStreamIdProgramStreamDirectory || sid == SrsTsPESStreamIdDsmccStream || sid == SrsTsPESStreamIdH2221TypeE) { @@ -1778,23 +1778,23 @@ srs_error_t SrsMpegPES::encode(SrsBuffer *stream) } // 3B - stream->write_3bytes(packet_start_code_prefix); + stream->write_3bytes(packet_start_code_prefix_); // 1B - stream->write_1bytes(stream_id); + stream->write_1bytes(stream_id_); // 2B // the PES_packet_length is the actual bytes size, the pplv write to ts // is the actual bytes plus the header size. int32_t pplv = 0; - if (PES_packet_length > 0) { - pplv = PES_packet_length + 3 + PES_header_data_length; + if (PES_packet_length_ > 0) { + pplv = PES_packet_length_ + 3 + PES_header_data_length_; pplv = (pplv > 0xFFFF) ? 0 : pplv; } stream->write_2bytes(pplv); // check the packet start prefix. - packet_start_code_prefix &= 0xFFFFFF; - if (packet_start_code_prefix != 0x01) { - return srs_error_new(ERROR_STREAM_CASTER_TS_PSE, "ts: mux PSE start code failed, expect=0x01, actual=%#x", packet_start_code_prefix); + packet_start_code_prefix_ &= 0xFFFFFF; + if (packet_start_code_prefix_ != 0x01) { + return srs_error_new(ERROR_STREAM_CASTER_TS_PSE, "ts: mux PSE start code failed, expect=0x01, actual=%#x", packet_start_code_prefix_); } // 3B flags. @@ -1802,58 +1802,58 @@ srs_error_t SrsMpegPES::encode(SrsBuffer *stream) return srs_error_new(ERROR_STREAM_CASTER_TS_PSE, "ts: mux PSE flags"); } // 1B - int8_t oocv = original_or_copy & 0x01; - oocv |= (const2bits << 6) & 0xC0; - oocv |= (PES_scrambling_control << 4) & 0x30; - oocv |= (PES_priority << 3) & 0x08; - oocv |= (data_alignment_indicator << 2) & 0x04; - oocv |= (copyright << 1) & 0x02; + int8_t oocv = original_or_copy_ & 0x01; + oocv |= (const2bits_ << 6) & 0xC0; + oocv |= (PES_scrambling_control_ << 4) & 0x30; + oocv |= (PES_priority_ << 3) & 0x08; + oocv |= (data_alignment_indicator_ << 2) & 0x04; + oocv |= (copyright_ << 1) & 0x02; stream->write_1bytes(oocv); // 1B - int8_t pefv = PES_extension_flag & 0x01; - pefv |= (PTS_DTS_flags << 6) & 0xC0; - pefv |= (ESCR_flag << 5) & 0x20; - pefv |= (ES_rate_flag << 4) & 0x10; - pefv |= (DSM_trick_mode_flag << 3) & 0x08; - pefv |= (additional_copy_info_flag << 2) & 0x04; - pefv |= (PES_CRC_flag << 1) & 0x02; + int8_t pefv = PES_extension_flag_ & 0x01; + pefv |= (PTS_DTS_flags_ << 6) & 0xC0; + pefv |= (ESCR_flag_ << 5) & 0x20; + pefv |= (ES_rate_flag_ << 4) & 0x10; + pefv |= (DSM_trick_mode_flag_ << 3) & 0x08; + pefv |= (additional_copy_info_flag_ << 2) & 0x04; + pefv |= (PES_CRC_flag_ << 1) & 0x02; stream->write_1bytes(pefv); // 1B - stream->write_1bytes(PES_header_data_length); + stream->write_1bytes(PES_header_data_length_); // check required together. int nb_required = 0; - nb_required += (PTS_DTS_flags == 0x2) ? 5 : 0; - nb_required += (PTS_DTS_flags == 0x3) ? 10 : 0; - nb_required += ESCR_flag ? 6 : 0; - nb_required += ES_rate_flag ? 3 : 0; - nb_required += DSM_trick_mode_flag ? 1 : 0; - nb_required += additional_copy_info_flag ? 1 : 0; - nb_required += PES_CRC_flag ? 2 : 0; - nb_required += PES_extension_flag ? 1 : 0; + nb_required += (PTS_DTS_flags_ == 0x2) ? 5 : 0; + nb_required += (PTS_DTS_flags_ == 0x3) ? 10 : 0; + nb_required += ESCR_flag_ ? 6 : 0; + nb_required += ES_rate_flag_ ? 3 : 0; + nb_required += DSM_trick_mode_flag_ ? 1 : 0; + nb_required += additional_copy_info_flag_ ? 1 : 0; + nb_required += PES_CRC_flag_ ? 2 : 0; + nb_required += PES_extension_flag_ ? 1 : 0; if (!stream->require(nb_required)) { return srs_error_new(ERROR_STREAM_CASTER_TS_PSE, "ts: mux PSE payload"); } // 5B - if (PTS_DTS_flags == 0x2) { - if ((err = encode_33bits_dts_pts(stream, 0x02, pts)) != srs_success) { + if (PTS_DTS_flags_ == 0x2) { + if ((err = encode_33bits_dts_pts(stream, 0x02, pts_)) != srs_success) { return srs_error_wrap(err, "dts/pts"); } } // 10B - if (PTS_DTS_flags == 0x3) { - if ((err = encode_33bits_dts_pts(stream, 0x03, pts)) != srs_success) { + if (PTS_DTS_flags_ == 0x3) { + if ((err = encode_33bits_dts_pts(stream, 0x03, pts_)) != srs_success) { return srs_error_wrap(err, "dts/pts"); } - if ((err = encode_33bits_dts_pts(stream, 0x01, dts)) != srs_success) { + if ((err = encode_33bits_dts_pts(stream, 0x01, dts_)) != srs_success) { return srs_error_wrap(err, "dts/pts"); } // check sync, the diff of dts and pts should never greater than 1s. - if (dts - pts > 90000 || pts - dts > 90000) { - srs_warn("ts: sync dts=%" PRId64 ", pts=%" PRId64, dts, pts); + if (dts_ - pts_ > 90000 || pts_ - dts_ > 90000) { + srs_warn("ts: sync dts=%" PRId64 ", pts=%" PRId64, dts_, pts_); } } @@ -1861,51 +1861,51 @@ srs_error_t SrsMpegPES::encode(SrsBuffer *stream) // LCOV_EXCL_START // 6B - if (ESCR_flag) { + if (ESCR_flag_) { stream->skip(6); srs_warn("ts: demux PES, ignore the escr."); } // 3B - if (ES_rate_flag) { + if (ES_rate_flag_) { stream->skip(3); srs_warn("ts: demux PES, ignore the ES_rate."); } // 1B - if (DSM_trick_mode_flag) { + if (DSM_trick_mode_flag_) { stream->skip(1); srs_warn("ts: demux PES, ignore the DSM_trick_mode."); } // 1B - if (additional_copy_info_flag) { + if (additional_copy_info_flag_) { stream->skip(1); srs_warn("ts: demux PES, ignore the additional_copy_info."); } // 2B - if (PES_CRC_flag) { + if (PES_CRC_flag_) { stream->skip(2); srs_warn("ts: demux PES, ignore the PES_CRC."); } // 1B - if (PES_extension_flag) { - int8_t efv = PES_extension_flag_2 & 0x01; - efv |= (PES_private_data_flag << 7) & 0x80; - efv |= (pack_header_field_flag << 6) & 0x40; - efv |= (program_packet_sequence_counter_flag << 5) & 0x20; - efv |= (P_STD_buffer_flag << 4) & 0x10; - efv |= (const1_value0 << 1) & 0xE0; + if (PES_extension_flag_) { + int8_t efv = PES_extension_flag_2_ & 0x01; + efv |= (PES_private_data_flag_ << 7) & 0x80; + efv |= (pack_header_field_flag_ << 6) & 0x40; + efv |= (program_packet_sequence_counter_flag_ << 5) & 0x20; + efv |= (P_STD_buffer_flag_ << 4) & 0x10; + efv |= (const1_value0_ << 1) & 0xE0; stream->write_1bytes(efv); nb_required = 0; - nb_required += PES_private_data_flag ? 16 : 0; - nb_required += pack_header_field_flag ? 1 + pack_field.size() : 0; // 1+x bytes. - nb_required += program_packet_sequence_counter_flag ? 2 : 0; - nb_required += P_STD_buffer_flag ? 2 : 0; - nb_required += PES_extension_flag_2 ? 1 + PES_extension_field.size() : 0; // 1+x bytes. + nb_required += PES_private_data_flag_ ? 16 : 0; + nb_required += pack_header_field_flag_ ? 1 + pack_field_.size() : 0; // 1+x bytes. + nb_required += program_packet_sequence_counter_flag_ ? 2 : 0; + nb_required += P_STD_buffer_flag_ ? 2 : 0; + nb_required += PES_extension_flag_2_ ? 1 + PES_extension_field_.size() : 0; // 1+x bytes. if (!stream->require(nb_required)) { return srs_error_new(ERROR_STREAM_CASTER_TS_PSE, "ts: mux PSE ext payload"); } @@ -1914,8 +1914,8 @@ srs_error_t SrsMpegPES::encode(SrsBuffer *stream) } // stuffing_byte - if (nb_stuffings) { - stream->skip(nb_stuffings); + if (nb_stuffings_) { + stream->skip(nb_stuffings_); srs_warn("ts: demux PES, ignore the stuffings."); } @@ -2015,16 +2015,16 @@ srs_error_t SrsTsPayloadPES::decode(SrsBuffer *stream, SrsTsMessage **ppmsg) srs_error_t err = srs_success; // find the channel from chunk. - SrsTsChannel *channel = packet->context->get(packet->pid); + SrsTsChannel *channel = packet_->context_->get(packet_->pid_); if (!channel) { - return srs_error_new(ERROR_STREAM_CASTER_TS_PSE, "ts: demux PES no channel for pid=%#x", packet->pid); + return srs_error_new(ERROR_STREAM_CASTER_TS_PSE, "ts: demux PES no channel for pid=%#x", packet_->pid_); } // init msg. - SrsTsMessage *msg = channel->msg; + SrsTsMessage *msg = channel->msg_; if (!msg) { - msg = new SrsTsMessage(channel, packet); - channel->msg = msg; + msg = new SrsTsMessage(channel, packet_); + channel->msg_ = msg; } // we must cache the fresh state of msg, @@ -2034,26 +2034,26 @@ srs_error_t SrsTsPayloadPES::decode(SrsBuffer *stream, SrsTsMessage **ppmsg) // check when fresh, the payload_unit_start_indicator // should be 1 for the fresh msg. - if (is_fresh_msg && !packet->payload_unit_start_indicator) { + if (is_fresh_msg && !packet_->payload_unit_start_indicator_) { srs_warn("ts: PES fresh packet length=%d, us=%d, cc=%d", - msg->PES_packet_length, packet->payload_unit_start_indicator, packet->continuity_counter); + msg->PES_packet_length_, packet_->payload_unit_start_indicator_, packet_->continuity_counter_); stream->skip(stream->size() - stream->pos()); srs_freep(msg); - channel->msg = NULL; + channel->msg_ = NULL; return err; } // check when not fresh and PES_packet_length>0, // the payload_unit_start_indicator should never be 1 when not completed. - if (!is_fresh_msg && msg->PES_packet_length > 0 && !msg->completed(packet->payload_unit_start_indicator) && packet->payload_unit_start_indicator) { + if (!is_fresh_msg && msg->PES_packet_length_ > 0 && !msg->completed(packet_->payload_unit_start_indicator_) && packet_->payload_unit_start_indicator_) { srs_warn("ts: ignore PES packet length=%d, payload=%d, us=%d, cc=%d", - msg->PES_packet_length, msg->payload->length(), packet->payload_unit_start_indicator, packet->continuity_counter); + msg->PES_packet_length_, msg->payload_->length(), packet_->payload_unit_start_indicator_, packet_->continuity_counter_); // reparse current msg. stream->skip(stream->pos() * -1); srs_freep(msg); - channel->msg = NULL; + channel->msg_ = NULL; return err; } @@ -2061,30 +2061,30 @@ srs_error_t SrsTsPayloadPES::decode(SrsBuffer *stream, SrsTsMessage **ppmsg) if (!is_fresh_msg) { // late-incoming or duplicated continuity, drop message. // @remark check overflow, the counter plus 1 should greater when invalid. - if (msg->continuity_counter >= packet->continuity_counter && ((msg->continuity_counter + 1) & 0x0f) > packet->continuity_counter) { - srs_warn("ts: drop PES %dB for duplicated cc=%#x", msg->continuity_counter); + if (msg->continuity_counter_ >= packet_->continuity_counter_ && ((msg->continuity_counter_ + 1) & 0x0f) > packet_->continuity_counter_) { + srs_warn("ts: drop PES %dB for duplicated cc=%#x", msg->continuity_counter_); stream->skip(stream->size() - stream->pos()); return err; } // when got partially message, the continous count must be continuous, or drop it. - if (((msg->continuity_counter + 1) & 0x0f) != packet->continuity_counter) { - srs_warn("ts: ignore continuity must be continous, msg=%#x, packet=%#x", msg->continuity_counter, packet->continuity_counter); + if (((msg->continuity_counter_ + 1) & 0x0f) != packet_->continuity_counter_) { + srs_warn("ts: ignore continuity must be continous, msg=%#x, packet=%#x", msg->continuity_counter_, packet_->continuity_counter_); // reparse current msg. stream->skip(stream->pos() * -1); srs_freep(msg); - channel->msg = NULL; + channel->msg_ = NULL; return err; } } - msg->continuity_counter = packet->continuity_counter; + msg->continuity_counter_ = packet_->continuity_counter_; // for the PES_packet_length(0), reap when completed. - if (!is_fresh_msg && msg->completed(packet->payload_unit_start_indicator)) { + if (!is_fresh_msg && msg->completed(packet_->payload_unit_start_indicator_)) { // reap previous PES packet. *ppmsg = msg; - channel->msg = NULL; + channel->msg_ = NULL; // reparse current msg. stream->skip(stream->pos() * -1); @@ -2092,30 +2092,30 @@ srs_error_t SrsTsPayloadPES::decode(SrsBuffer *stream, SrsTsMessage **ppmsg) } // contious packet, append bytes for unit start is 0 - if (!packet->payload_unit_start_indicator) { - if ((err = msg->dump(stream, &pes.nb_bytes)) != srs_success) { + if (!packet_->payload_unit_start_indicator_) { + if ((err = msg->dump(stream, &pes_.nb_bytes_)) != srs_success) { return srs_error_wrap(err, "ts: pes dump"); } } // when unit start, parse the fresh msg. - if (packet->payload_unit_start_indicator) { - if ((err = pes.decode(stream)) != srs_success) { + if (packet_->payload_unit_start_indicator_) { + if ((err = pes_.decode(stream)) != srs_success) { return srs_error_wrap(err, "header"); } // Update message when decode the first PES packet. - msg->sid = (SrsTsPESStreamId)pes.stream_id; - if (pes.PTS_DTS_flags == 0x02 || pes.PTS_DTS_flags == 0x03) { - msg->dts = pes.dts; - msg->pts = pes.pts; + msg->sid_ = (SrsTsPESStreamId)pes_.stream_id_; + if (pes_.PTS_DTS_flags_ == 0x02 || pes_.PTS_DTS_flags_ == 0x03) { + msg->dts_ = pes_.dts_; + msg->pts_ = pes_.pts_; } - if (pes.has_payload_) { + if (pes_.has_payload_) { // The size of message, might be 0 or a positive value. - msg->PES_packet_length = pes.nb_payload_; + msg->PES_packet_length_ = pes_.nb_payload_; // xB - if ((err = msg->dump(stream, &pes.nb_bytes)) != srs_success) { + if ((err = msg->dump(stream, &pes_.nb_bytes_)) != srs_success) { return srs_error_wrap(err, "dump pes"); } } @@ -2124,14 +2124,14 @@ srs_error_t SrsTsPayloadPES::decode(SrsBuffer *stream, SrsTsMessage **ppmsg) // when fresh and the PES_packet_length is 0, // the payload_unit_start_indicator always be 1, // the message should never EOF for the first packet. - if (is_fresh_msg && msg->PES_packet_length == 0) { + if (is_fresh_msg && msg->PES_packet_length_ == 0) { return err; } // check msg, reap when completed. - if (msg->completed(packet->payload_unit_start_indicator)) { + if (msg->completed(packet_->payload_unit_start_indicator_)) { *ppmsg = msg; - channel->msg = NULL; + channel->msg_ = NULL; srs_info("ts: reap msg for completed."); } @@ -2140,12 +2140,12 @@ srs_error_t SrsTsPayloadPES::decode(SrsBuffer *stream, SrsTsMessage **ppmsg) int SrsTsPayloadPES::size() { - return pes.size(); + return pes_.size(); } srs_error_t SrsTsPayloadPES::encode(SrsBuffer *stream) { - return pes.encode(stream); + return pes_.encode(stream); } SrsTsPayloadPSI::SrsTsPayloadPSI(SrsTsPacket *p) : SrsTsPayload(p) @@ -2175,7 +2175,7 @@ srs_error_t SrsTsPayloadPSI::decode(SrsBuffer *stream, SrsTsMessage ** /*ppmsg*/ * indicating that there is no pointer_field in the payload. Refer to 2.4.4.1 and 2.4.4.2. This also applies to private streams of * stream_type 5 (refer to Table 2-29). */ - if (packet->payload_unit_start_indicator) { + if (packet_->payload_unit_start_indicator_) { if (!stream->require(1)) { return srs_error_new(ERROR_STREAM_CASTER_TS_PSI, "ts: demux PSI"); } @@ -2255,7 +2255,7 @@ int SrsTsPayloadPSI::size() // section size is the sl plus the crc32 section_length = psi_size() + 4; - sz += packet->payload_unit_start_indicator ? 1 : 0; + sz += packet_->payload_unit_start_indicator_ ? 1 : 0; sz += 3; sz += section_length; @@ -2266,7 +2266,7 @@ srs_error_t SrsTsPayloadPSI::encode(SrsBuffer *stream) { srs_error_t err = srs_success; - if (packet->payload_unit_start_indicator) { + if (packet_->payload_unit_start_indicator_) { if (!stream->require(1)) { return srs_error_new(ERROR_STREAM_CASTER_TS_PSI, "ts: mux PSI"); } @@ -2424,14 +2424,14 @@ srs_error_t SrsTsPayloadPAT::psi_decode(SrsBuffer *stream) } // update the apply pid table. - packet->context->set(program->pid, SrsTsPidApplyPMT); + packet_->context_->set(program->pid, SrsTsPidApplyPMT); programs.push_back(program); } // update the apply pid table. - packet->context->set(packet->pid, SrsTsPidApplyPAT); - packet->context->on_pmt_parsed(); + packet_->context_->set(packet_->pid_, SrsTsPidApplyPAT); + packet_->context_->on_pmt_parsed(); return err; } @@ -2477,11 +2477,11 @@ srs_error_t SrsTsPayloadPAT::psi_encode(SrsBuffer *stream) } // update the apply pid table. - packet->context->set(program->pid, SrsTsPidApplyPMT); + packet_->context_->set(program->pid, SrsTsPidApplyPMT); } // update the apply pid table. - packet->context->set(packet->pid, SrsTsPidApplyPAT); + packet_->context_->set(packet_->pid_, SrsTsPidApplyPAT); return err; } @@ -2653,13 +2653,13 @@ srs_error_t SrsTsPayloadPMT::psi_decode(SrsBuffer *stream) case SrsTsStreamVideoH264: case SrsTsStreamVideoHEVC: case SrsTsStreamVideoMpeg4: - packet->context->set(info->elementary_PID, SrsTsPidApplyVideo, info->stream_type); + packet_->context_->set(info->elementary_PID, SrsTsPidApplyVideo, info->stream_type); break; case SrsTsStreamAudioAAC: case SrsTsStreamAudioAC3: case SrsTsStreamAudioDTS: case SrsTsStreamAudioMp3: - packet->context->set(info->elementary_PID, SrsTsPidApplyAudio, info->stream_type); + packet_->context_->set(info->elementary_PID, SrsTsPidApplyAudio, info->stream_type); break; default: srs_warn("ts: drop pid=%#x, stream=%#x", info->elementary_PID, info->stream_type); @@ -2668,7 +2668,7 @@ srs_error_t SrsTsPayloadPMT::psi_decode(SrsBuffer *stream) } // update the apply pid table. - packet->context->set(packet->pid, SrsTsPidApplyPMT); + packet_->context_->set(packet_->pid_, SrsTsPidApplyPMT); return err; } @@ -2737,13 +2737,13 @@ srs_error_t SrsTsPayloadPMT::psi_encode(SrsBuffer *stream) case SrsTsStreamVideoH264: case SrsTsStreamVideoHEVC: case SrsTsStreamVideoMpeg4: - packet->context->set(info->elementary_PID, SrsTsPidApplyVideo, info->stream_type); + packet_->context_->set(info->elementary_PID, SrsTsPidApplyVideo, info->stream_type); break; case SrsTsStreamAudioAAC: case SrsTsStreamAudioAC3: case SrsTsStreamAudioDTS: case SrsTsStreamAudioMp3: - packet->context->set(info->elementary_PID, SrsTsPidApplyAudio, info->stream_type); + packet_->context_->set(info->elementary_PID, SrsTsPidApplyAudio, info->stream_type); break; default: srs_warn("ts: drop pid=%#x, stream=%#x", info->elementary_PID, info->stream_type); @@ -2752,15 +2752,15 @@ srs_error_t SrsTsPayloadPMT::psi_encode(SrsBuffer *stream) } // update the apply pid table. - packet->context->set(packet->pid, SrsTsPidApplyPMT); + packet_->context_->set(packet_->pid_, SrsTsPidApplyPMT); return err; } SrsTsContextWriter::SrsTsContextWriter(ISrsStreamWriter *w, SrsTsContext *c, SrsAudioCodecId ac, SrsVideoCodecId vc) { - writer = w; - context = c; + writer_ = w; + context_ = c; acodec_ = ac; vcodec_ = vc; @@ -2777,7 +2777,7 @@ srs_error_t SrsTsContextWriter::write_audio(SrsTsMessage *audio) srs_info("hls: write audio codec=%d/%d, pts=%" PRId64 ", dts=%" PRId64 ", size=%d", acodec_, vcodec_, audio->pts, audio->dts, audio->PES_packet_length); - if ((err = context->encode(writer, audio, vcodec_, acodec_)) != srs_success) { + if ((err = context_->encode(writer_, audio, vcodec_, acodec_)) != srs_success) { return srs_error_wrap(err, "ts: write audio"); } srs_info("hls encode audio ok"); @@ -2792,7 +2792,7 @@ srs_error_t SrsTsContextWriter::write_video(SrsTsMessage *video) srs_info("hls: write video codec=%d/%d, pts=%" PRId64 ", dts=%" PRId64 ", size=%d", acodec_, vcodec_, video->pts, video->dts, video->PES_packet_length); - if ((err = context->encode(writer, video, vcodec_, acodec_)) != srs_success) { + if ((err = context_->encode(writer_, video, vcodec_, acodec_)) != srs_success) { return srs_error_wrap(err, "ts: write video"); } srs_info("hls encode video ok"); @@ -2907,14 +2907,14 @@ void SrsEncFileWriter::close() SrsTsMessageCache::SrsTsMessageCache() { - audio = NULL; - video = NULL; + audio_ = NULL; + video_ = NULL; } SrsTsMessageCache::~SrsTsMessageCache() { - srs_freep(audio); - srs_freep(video); + srs_freep(audio_); + srs_freep(video_); } srs_error_t SrsTsMessageCache::cache_audio(SrsParsedAudioPacket *frame, int64_t dts) @@ -2922,23 +2922,23 @@ srs_error_t SrsTsMessageCache::cache_audio(SrsParsedAudioPacket *frame, int64_t srs_error_t err = srs_success; // create the ts audio message. - if (!audio) { - audio = new SrsTsMessage(); - audio->write_pcr = false; - audio->dts = audio->pts = audio->start_pts = dts; + if (!audio_) { + audio_ = new SrsTsMessage(); + audio_->write_pcr_ = false; + audio_->dts_ = audio_->pts_ = audio_->start_pts_ = dts; } // TODO: FIXME: refine code. // audio->dts = dts; // audio->pts = audio->dts; - audio->sid = SrsTsPESStreamIdAudioCommon; + audio_->sid_ = SrsTsPESStreamIdAudioCommon; // must be aac or mp3 SrsAudioCodecConfig *acodec = frame->acodec(); - srs_assert(acodec->id == SrsAudioCodecIdAAC || acodec->id == SrsAudioCodecIdMP3); + srs_assert(acodec->id_ == SrsAudioCodecIdAAC || acodec->id_ == SrsAudioCodecIdMP3); // write video to cache. - if (acodec->id == SrsAudioCodecIdAAC) { + if (acodec->id_ == SrsAudioCodecIdAAC) { if ((err = do_cache_aac(frame)) != srs_success) { return srs_error_wrap(err, "ts: cache aac"); } @@ -2956,18 +2956,18 @@ srs_error_t SrsTsMessageCache::cache_video(SrsParsedVideoPacket *frame, int64_t srs_error_t err = srs_success; // create the ts video message. - if (!video) { - video = new SrsTsMessage(); - video->write_pcr = (frame->frame_type == SrsVideoAvcFrameTypeKeyFrame); - video->start_pts = dts; + if (!video_) { + video_ = new SrsTsMessage(); + video_->write_pcr_ = (frame->frame_type_ == SrsVideoAvcFrameTypeKeyFrame); + video_->start_pts_ = dts; } - video->dts = dts; - video->pts = video->dts + frame->cts * 90; - video->sid = SrsTsPESStreamIdVideoCommon; + video_->dts_ = dts; + video_->pts_ = video_->dts_ + frame->cts_ * 90; + video_->sid_ = SrsTsPESStreamIdVideoCommon; // Write H.265 video frame to cache. - if (frame && frame->vcodec()->id == SrsVideoCodecIdHEVC) { + if (frame && frame->vcodec()->id_ == SrsVideoCodecIdHEVC) { return do_cache_hevc(frame); } @@ -2985,9 +2985,9 @@ srs_error_t SrsTsMessageCache::do_cache_mp3(SrsParsedAudioPacket *frame) // for mp3, directly write to cache. // TODO: FIXME: implements the ts jitter. - for (int i = 0; i < frame->nb_samples; i++) { - SrsNaluSample *sample = &frame->samples[i]; - audio->payload->append(sample->bytes, sample->size); + for (int i = 0; i < frame->nb_samples_; i++) { + SrsNaluSample *sample = &frame->samples_[i]; + audio_->payload_->append(sample->bytes_, sample->size_); } return err; @@ -3000,11 +3000,11 @@ srs_error_t SrsTsMessageCache::do_cache_aac(SrsParsedAudioPacket *frame) SrsAudioCodecConfig *codec = frame->acodec(); srs_assert(codec); - for (int i = 0; i < frame->nb_samples; i++) { - SrsNaluSample *sample = &frame->samples[i]; - int32_t size = sample->size; + for (int i = 0; i < frame->nb_samples_; i++) { + SrsNaluSample *sample = &frame->samples_[i]; + int32_t size = sample->size_; - if (!sample->bytes || size <= 0 || size > 0x1fff) { + if (!sample->bytes_ || size <= 0 || size > 0x1fff) { return srs_error_new(ERROR_HLS_AAC_FRAME_LENGTH, "ts: invalid aac frame length=%d", size); } @@ -3040,13 +3040,13 @@ srs_error_t SrsTsMessageCache::do_cache_aac(SrsParsedAudioPacket *frame) int8_t number_of_raw_data_blocks_in_frame; //2bits, 0 indicating 1 raw_data_block() */ // profile, 2bits - SrsAacProfile aac_profile = srs_aac_rtmp2ts(codec->aac_object); + SrsAacProfile aac_profile = srs_aac_rtmp2ts(codec->aac_object_); adts_header[2] = (aac_profile << 6) & 0xc0; // sampling_frequency_index 4bits - adts_header[2] |= (codec->aac_sample_rate << 2) & 0x3c; + adts_header[2] |= (codec->aac_sample_rate_ << 2) & 0x3c; // channel_configuration 3bits - adts_header[2] |= (codec->aac_channels >> 2) & 0x01; - adts_header[3] = (codec->aac_channels << 6) & 0xc0; + adts_header[2] |= (codec->aac_channels_ >> 2) & 0x01; + adts_header[3] = (codec->aac_channels_ << 6) & 0xc0; // frame_length 13bits adts_header[3] |= (frame_length >> 11) & 0x03; adts_header[4] = (frame_length >> 3) & 0xff; @@ -3055,8 +3055,8 @@ srs_error_t SrsTsMessageCache::do_cache_aac(SrsParsedAudioPacket *frame) adts_header[5] |= 0x1f; // copy to audio buffer - audio->payload->append((const char *)adts_header, sizeof(adts_header)); - audio->payload->append(sample->bytes, sample->size); + audio_->payload_->append((const char *)adts_header, sizeof(adts_header)); + audio_->payload_->append(sample->bytes_, sample->size_); } return err; @@ -3126,7 +3126,7 @@ srs_error_t SrsTsMessageCache::do_cache_avc(SrsParsedVideoPacket *frame) bool aud_inserted = false; // Insert a default AUD NALU when no AUD in samples. - if (!frame->has_aud) { + if (!frame->has_aud_) { // the aud(access unit delimiter) before each frame. // 7.3.2.4 Access unit delimiter RBSP syntax // ISO_IEC_14496-10-AVC-2012.pdf, page 66. @@ -3158,8 +3158,8 @@ srs_error_t SrsTsMessageCache::do_cache_avc(SrsParsedVideoPacket *frame) // 9, SI (SI slice) // ISO_IEC_14496-10-AVC-2012.pdf, page 105. static uint8_t default_aud_nalu[] = {0x09, 0xf0}; - srs_avc_insert_aud(video->payload, aud_inserted); - video->payload->append((const char *)default_aud_nalu, 2); + srs_avc_insert_aud(video_->payload_, aud_inserted); + video_->payload_->append((const char *)default_aud_nalu, 2); } SrsVideoCodecConfig *codec = frame->vcodec(); @@ -3168,35 +3168,35 @@ srs_error_t SrsTsMessageCache::do_cache_avc(SrsParsedVideoPacket *frame) bool is_sps_pps_appended = false; // all sample use cont nalu header, except the sps-pps before IDR frame. - for (int i = 0; i < frame->nb_samples; i++) { - SrsNaluSample *sample = &frame->samples[i]; - int32_t size = sample->size; + for (int i = 0; i < frame->nb_samples_; i++) { + SrsNaluSample *sample = &frame->samples_[i]; + int32_t size = sample->size_; - if (!sample->bytes || size <= 0) { + if (!sample->bytes_ || size <= 0) { return srs_error_new(ERROR_HLS_AVC_SAMPLE_SIZE, "ts: invalid avc sample length=%d", size); } // 5bits, 7.3.1 NAL unit syntax, // ISO_IEC_14496-10-AVC-2012.pdf, page 83. - SrsAvcNaluType nal_unit_type = (SrsAvcNaluType)(sample->bytes[0] & 0x1f); + SrsAvcNaluType nal_unit_type = (SrsAvcNaluType)(sample->bytes_[0] & 0x1f); // Insert sps/pps before IDR when there is no sps/pps in samples. // The sps/pps is parsed from sequence header(generally the first flv packet). - if (nal_unit_type == SrsAvcNaluTypeIDR && !frame->has_sps_pps && !is_sps_pps_appended) { - if (!codec->sequenceParameterSetNALUnit.empty()) { - srs_avc_insert_aud(video->payload, aud_inserted); - video->payload->append(&codec->sequenceParameterSetNALUnit[0], (int)codec->sequenceParameterSetNALUnit.size()); + if (nal_unit_type == SrsAvcNaluTypeIDR && !frame->has_sps_pps_ && !is_sps_pps_appended) { + if (!codec->sequenceParameterSetNALUnit_.empty()) { + srs_avc_insert_aud(video_->payload_, aud_inserted); + video_->payload_->append(&codec->sequenceParameterSetNALUnit_[0], (int)codec->sequenceParameterSetNALUnit_.size()); } - if (!codec->pictureParameterSetNALUnit.empty()) { - srs_avc_insert_aud(video->payload, aud_inserted); - video->payload->append(&codec->pictureParameterSetNALUnit[0], (int)codec->pictureParameterSetNALUnit.size()); + if (!codec->pictureParameterSetNALUnit_.empty()) { + srs_avc_insert_aud(video_->payload_, aud_inserted); + video_->payload_->append(&codec->pictureParameterSetNALUnit_[0], (int)codec->pictureParameterSetNALUnit_.size()); } is_sps_pps_appended = true; } // Insert the NALU to video in annexb. - srs_avc_insert_aud(video->payload, aud_inserted); - video->payload->append(sample->bytes, sample->size); + srs_avc_insert_aud(video_->payload_, aud_inserted); + video_->payload_->append(sample->bytes_, sample->size_); } return err; @@ -3215,32 +3215,32 @@ srs_error_t SrsTsMessageCache::do_cache_hevc(SrsParsedVideoPacket *frame) bool is_sps_pps_appended = false; // all sample use cont nalu header, except the sps-pps before IDR frame. - for (int i = 0; i < frame->nb_samples; i++) { - SrsNaluSample *sample = &frame->samples[i]; - int32_t size = sample->size; + for (int i = 0; i < frame->nb_samples_; i++) { + SrsNaluSample *sample = &frame->samples_[i]; + int32_t size = sample->size_; - if (!sample->bytes || size <= 0) { + if (!sample->bytes_ || size <= 0) { return srs_error_new(ERROR_HLS_AVC_SAMPLE_SIZE, "ts: invalid avc sample length=%d", size); } // Insert aud before NALU for HEVC. - SrsHevcNaluType nalu_type = (SrsHevcNaluType)SrsHevcNaluTypeParse(sample->bytes[0]); - if (SrsIsIRAP(nalu_type) && !frame->has_sps_pps && !is_sps_pps_appended) { - for (size_t i = 0; i < codec->hevc_dec_conf_record_.nalu_vec.size(); i++) { - const SrsHevcHvccNalu &nalu = codec->hevc_dec_conf_record_.nalu_vec[i]; - if (nalu.num_nalus <= 0 || nalu.nal_data_vec.empty()) + SrsHevcNaluType nalu_type = (SrsHevcNaluType)SrsHevcNaluTypeParse(sample->bytes_[0]); + if (SrsIsIRAP(nalu_type) && !frame->has_sps_pps_ && !is_sps_pps_appended) { + for (size_t i = 0; i < codec->hevc_dec_conf_record_.nalu_vec_.size(); i++) { + const SrsHevcHvccNalu &nalu = codec->hevc_dec_conf_record_.nalu_vec_[i]; + if (nalu.num_nalus_ <= 0 || nalu.nal_data_vec_.empty()) continue; - srs_avc_insert_aud(video->payload, aud_inserted); - const SrsHevcNalData &data = nalu.nal_data_vec.at(0); - video->payload->append((char *)&data.nal_unit_data[0], (int)data.nal_unit_data.size()); + srs_avc_insert_aud(video_->payload_, aud_inserted); + const SrsHevcNalData &data = nalu.nal_data_vec_.at(0); + video_->payload_->append((char *)&data.nal_unit_data_[0], (int)data.nal_unit_data_.size()); is_sps_pps_appended = true; } } // Insert the NALU to video in annexb. - srs_avc_insert_aud(video->payload, aud_inserted); - video->payload->append(sample->bytes, sample->size); + srs_avc_insert_aud(video_->payload_, aud_inserted); + video_->payload_->append(sample->bytes_, sample->size_); } return err; @@ -3326,26 +3326,26 @@ srs_error_t SrsTsTransmuxer::write_audio(int64_t timestamp, char *data, int size return srs_error_wrap(err, "ts: format on audio"); } - if (!format->acodec) { + if (!format->acodec_) { return err; } // ts support audio codec: aac/mp3 - srs_assert(format->acodec && format->audio); - if (format->acodec->id != SrsAudioCodecIdAAC && format->acodec->id != SrsAudioCodecIdMP3) { + srs_assert(format->acodec_ && format->audio_); + if (format->acodec_->id_ != SrsAudioCodecIdAAC && format->acodec_->id_ != SrsAudioCodecIdMP3) { return err; } // for aac: ignore sequence header - if (format->acodec->id == SrsAudioCodecIdAAC && format->audio->aac_packet_type == SrsAudioAacFrameTraitSequenceHeader) { + if (format->acodec_->id_ == SrsAudioCodecIdAAC && format->audio_->aac_packet_type_ == SrsAudioAacFrameTraitSequenceHeader) { return err; } // Switch audio codec if not AAC. - if (tscw->acodec() != format->acodec->id) { + if (tscw->acodec() != format->acodec_->id_) { srs_trace("TS: Switch audio codec %d(%s) to %d(%s)", tscw->acodec(), srs_audio_codec_id2str(tscw->acodec()).c_str(), - format->acodec->id, srs_audio_codec_id2str(format->acodec->id).c_str()); - tscw->set_acodec(format->acodec->id); + format->acodec_->id_, srs_audio_codec_id2str(format->acodec_->id_).c_str()); + tscw->set_acodec(format->acodec_->id_); } // the dts calc from rtmp/flv header. @@ -3354,7 +3354,7 @@ srs_error_t SrsTsTransmuxer::write_audio(int64_t timestamp, char *data, int size int64_t dts = timestamp * 90; // write audio to cache. - if ((err = tsmc->cache_audio(format->audio, dts)) != srs_success) { + if ((err = tsmc->cache_audio(format->audio_, dts)) != srs_success) { return srs_error_wrap(err, "ts: cache audio"); } @@ -3373,35 +3373,35 @@ srs_error_t SrsTsTransmuxer::write_video(int64_t timestamp, char *data, int size return srs_error_wrap(err, "ts: on video"); } - if (!format->vcodec) { + if (!format->vcodec_) { return err; } // ignore info frame, // @see https://github.com/ossrs/srs/issues/288#issuecomment-69863909 - srs_assert(format->video && format->vcodec); - if (format->video->frame_type == SrsVideoAvcFrameTypeVideoInfoFrame) { + srs_assert(format->video_ && format->vcodec_); + if (format->video_->frame_type_ == SrsVideoAvcFrameTypeVideoInfoFrame) { return err; } - bool codec_ok = (format->vcodec->id == SrsVideoCodecIdAVC); - codec_ok = codec_ok ? true : (format->vcodec->id == SrsVideoCodecIdHEVC); + bool codec_ok = (format->vcodec_->id_ == SrsVideoCodecIdAVC); + codec_ok = codec_ok ? true : (format->vcodec_->id_ == SrsVideoCodecIdHEVC); if (!codec_ok) { return err; } // The video codec might change during streaming. - tscw->set_vcodec(format->vcodec->id); + tscw->set_vcodec(format->vcodec_->id_); // ignore sequence header - if (format->video->frame_type == SrsVideoAvcFrameTypeKeyFrame && format->video->avc_packet_type == SrsVideoAvcFrameTraitSequenceHeader) { + if (format->video_->frame_type_ == SrsVideoAvcFrameTypeKeyFrame && format->video_->avc_packet_type_ == SrsVideoAvcFrameTraitSequenceHeader) { return err; } int64_t dts = timestamp * 90; // write video to cache. - if ((err = tsmc->cache_video(format->video, dts)) != srs_success) { + if ((err = tsmc->cache_video(format->video_, dts)) != srs_success) { return srs_error_wrap(err, "ts: cache video"); } @@ -3412,12 +3412,12 @@ srs_error_t SrsTsTransmuxer::flush_audio() { srs_error_t err = srs_success; - if ((err = tscw->write_audio(tsmc->audio)) != srs_success) { + if ((err = tscw->write_audio(tsmc->audio_)) != srs_success) { return srs_error_wrap(err, "ts: write audio"); } // write success, clear and free the ts message. - srs_freep(tsmc->audio); + srs_freep(tsmc->audio_); return err; } @@ -3426,12 +3426,12 @@ srs_error_t SrsTsTransmuxer::flush_video() { srs_error_t err = srs_success; - if ((err = tscw->write_video(tsmc->video)) != srs_success) { + if ((err = tscw->write_video(tsmc->video_)) != srs_success) { return srs_error_wrap(err, "ts: write video"); } // write success, clear and free the ts message. - srs_freep(tsmc->video); + srs_freep(tsmc->video_); return err; } diff --git a/trunk/src/kernel/srs_kernel_ts.hpp b/trunk/src/kernel/srs_kernel_ts.hpp index 28328b031..295364033 100644 --- a/trunk/src/kernel/srs_kernel_ts.hpp +++ b/trunk/src/kernel/srs_kernel_ts.hpp @@ -138,13 +138,13 @@ std::string srs_ts_stream2string(SrsTsStream stream); // The ts channel. struct SrsTsChannel { - int pid; - SrsTsPidApply apply; - SrsTsStream stream; - SrsTsMessage *msg; - SrsTsContext *context; + int pid_; + SrsTsPidApply apply_; + SrsTsStream stream_; + SrsTsMessage *msg_; + SrsTsContext *context_; // for encoder. - uint8_t continuity_counter; + uint8_t continuity_counter_; SrsTsChannel(); virtual ~SrsTsChannel(); @@ -213,36 +213,36 @@ class SrsTsMessage { public: // For decoder only, the ts message does not use them, for user to get the channel and packet. - SrsTsChannel *channel; - SrsTsPacket *packet; + SrsTsChannel *channel_; + SrsTsPacket *packet_; // For decoder only, the ts message does not use them, to get the RTP packet source. void *ps_helper_; public: // The audio cache buffer start pts, to flush audio if full. // @remark the pts is not the adjust one, it's the orignal pts. - int64_t start_pts; + int64_t start_pts_; // Whether this message with pcr info, // generally, the video IDR(I frame, the keyframe of h.264) carray the pcr info. - bool write_pcr; + bool write_pcr_; // Whether got discontinuity ts, for example, sequence header changed. - bool is_discontinuity; + bool is_discontinuity_; public: // The chunk id of TS packet. - uint8_t continuity_counter; + uint8_t continuity_counter_; public: // The timestamp in 90khz - int64_t dts; - int64_t pts; + int64_t dts_; + int64_t pts_; // The id of pes stream to indicates the payload codec. // @remark use is_audio() and is_video() to check it, and stream_number() to finger it out. - SrsTsPESStreamId sid; + SrsTsPESStreamId sid_; // The size of payload, 0 indicates the length() of payload. - uint16_t PES_packet_length; + uint16_t PES_packet_length_; // The payload bytes. - SrsSimpleStream *payload; + SrsSimpleStream *payload_; public: SrsTsMessage(SrsTsChannel *c = NULL, SrsTsPacket *p = NULL); @@ -298,17 +298,17 @@ private: // Whether context is ready, failed if try to write data when not ready. // When PAT and PMT writen, the context is ready. // @see https://github.com/ossrs/srs/issues/834 - bool ready; + bool ready_; private: - std::map pids; - bool pure_audio; - int8_t sync_byte; + std::map pids_; + bool pure_audio_; + int8_t sync_byte_; private: // when any codec changed, write the PAT/PMT. - SrsVideoCodecId vcodec; - SrsAudioCodecId acodec; + SrsVideoCodecId vcodec_; + SrsAudioCodecId acodec_; public: SrsTsContext(); @@ -361,13 +361,13 @@ public: // 1B // The sync_byte is a fixed 8-bit field whose value is '0100 0111' (0x47). Sync_byte emulation in the choice of // values for other regularly occurring fields, such as PID, should be avoided. - int8_t sync_byte; // 8bits + int8_t sync_byte_; // 8bits // 2B // The transport_error_indicator is a 1-bit flag. When set to '1' it indicates that at least // 1 uncorrectable bit error exists in the associated Transport Stream packet. This bit may be set to '1' by entities external to // the transport layer. When set to '1' this bit shall not be reset to '0' unless the bit value(s) in error have been corrected. - int8_t transport_error_indicator; // 1bit + int8_t transport_error_indicator_; // 1bit // The payload_unit_start_indicator is a 1-bit flag which has normative meaning for // Transport Stream packets that carry PES packets (refer to 2.4.3.6) or PSI data (refer to 2.4.4). // @@ -387,31 +387,31 @@ public: // For null packets the payload_unit_start_indicator shall be set to '0'. // // The meaning of this bit for Transport Stream packets carrying only private data is not defined in this Specification. - int8_t payload_unit_start_indicator; // 1bit + int8_t payload_unit_start_indicator_; // 1bit // The transport_priority is a 1-bit indicator. When set to '1' it indicates that the associated packet is // of greater priority than other packets having the same PID which do not have the bit set to '1'. The transport mechanism // can use this to prioritize its data within an elementary stream. Depending on the application the transport_priority field // may be coded regardless of the PID or within one PID only. This field may be changed by channel specific encoders or // decoders. - int8_t transport_priority; // 1bit + int8_t transport_priority_; // 1bit // The PID is a 13-bit field, indicating the type of the data stored in the packet payload. PID value 0x0000 is // reserved for the Program Association Table (see Table 2-25). PID value 0x0001 is reserved for the Conditional Access // Table (see Table 2-27). PID values 0x0002 - 0x000F are reserved. PID value 0x1FFF is reserved for null packets (see // Table 2-3). - SrsTsPid pid; // 13bits + SrsTsPid pid_; // 13bits // 1B // This 2-bit field indicates the scrambling mode of the Transport Stream packet payload. // The Transport Stream packet header, and the adaptation field when present, shall not be scrambled. In the case of a null // packet the value of the transport_scrambling_control field shall be set to '00' (see Table 2-4). - SrsTsScrambled transport_scrambling_control; // 2bits + SrsTsScrambled transport_scrambling_control_; // 2bits // This 2-bit field indicates whether this Transport Stream packet header is followed by an // adaptation field and/or payload (see Table 2-5). // // ITU-T Rec. H.222.0 | ISO/IEC 13818-1 decoders shall discard Transport Stream packets with the // adaptation_field_control field set to a value of '00'. In the case of a null packet the value of the adaptation_field_control // shall be set to '01'. - SrsTsAdaptationFieldType adaption_field_control; // 2bits + SrsTsAdaptationFieldType adaption_field_control_; // 2bits // The continuity_counter is a 4-bit field incrementing with each Transport Stream packet with the // same PID. The continuity_counter wraps around to 0 after its maximum value. The continuity_counter shall not be // incremented when the adaptation_field_control of the packet equals '00'(reseverd) or '10'(adaptation field only). @@ -426,13 +426,13 @@ public: // conditions (adaptation_field_control set to '00' or '10', or duplicate packets as described above) are met. // The continuity counter may be discontinuous when the discontinuity_indicator is set to '1' (refer to 2.4.3.4). In the case of // a null packet the value of the continuity_counter is undefined. - uint8_t continuity_counter; // 4bits + uint8_t continuity_counter_; // 4bits private: - SrsTsAdaptationField *adaptation_field; - SrsTsPayload *payload; + SrsTsAdaptationField *adaptation_field_; + SrsTsPayload *payload_; public: - SrsTsContext *context; + SrsTsContext *context_; public: SrsTsPacket(SrsTsContext *c); @@ -474,7 +474,7 @@ public: // // This is the only method of stuffing allowed for Transport Stream packets carrying PES packets. For Transport Stream // packets carrying PSI, an alternative stuffing method is described in 2.4.4. - uint8_t adaption_field_length; // 8bits + uint8_t adaption_field_length_; // 8bits // 1B // This is a 1-bit field which when set to '1' indicates that the discontinuity state is true for the // current Transport Stream packet. When the discontinuity_indicator is set to '0' or is not present, the discontinuity state is @@ -535,7 +535,7 @@ public: // then be followed by a version of the TS_program_map_section for each affected program with the version_number // incremented by one and the current_next_indicator = = 1, containing a complete program definition. This indicates a // version change in PSI data. - int8_t discontinuity_indicator; // 1bit + int8_t discontinuity_indicator_; // 1bit // The random_access_indicator is a 1-bit field that indicates that the current Transport // Stream packet, and possibly subsequent Transport Stream packets with the same PID, contain some information to aid // random access at this point. Specifically, when the bit is set to '1', the next PES packet to start in the payload of Transport @@ -545,31 +545,31 @@ public: // sequence header. In the case of audio, the presentation timestamp shall be present in the PES packet containing the first // byte of the audio frame. In the PCR_PID the random_access_indicator may only be set to '1' in Transport Stream packet // containing the PCR fields. - int8_t random_access_indicator; // 1bit + int8_t random_access_indicator_; // 1bit // The elementary_stream_priority_indicator is a 1-bit field. It indicates, among // packets with the same PID, the priority of the elementary stream data carried within the payload of this Transport Stream // packet. A '1' indicates that the payload has a higher priority than the payloads of other Transport Stream packets. In the // case of video, this field may be set to '1' only if the payload contains one or more bytes from an intra-coded slice. A // value of '0' indicates that the payload has the same priority as all other packets which do not have this bit set to '1'. - int8_t elementary_stream_priority_indicator; // 1bit + int8_t elementary_stream_priority_indicator_; // 1bit // The PCR_flag is a 1-bit flag. A value of '1' indicates that the adaptation_field contains a PCR field coded in // two parts. A value of '0' indicates that the adaptation field does not contain any PCR field. - int8_t PCR_flag; // 1bit + int8_t PCR_flag_; // 1bit // The OPCR_flag is a 1-bit flag. A value of '1' indicates that the adaptation_field contains an OPCR field // coded in two parts. A value of '0' indicates that the adaptation field does not contain any OPCR field. - int8_t OPCR_flag; // 1bit + int8_t OPCR_flag_; // 1bit // The splicing_point_flag is a 1-bit flag. When set to '1', it indicates that a splice_countdown field // shall be present in the associated adaptation field, specifying the occurrence of a splicing point. A value of '0' indicates // that a splice_countdown field is not present in the adaptation field. - int8_t splicing_point_flag; // 1bit + int8_t splicing_point_flag_; // 1bit // The transport_private_data_flag is a 1-bit flag. A value of '1' indicates that the // adaptation field contains one or more private_data bytes. A value of '0' indicates the adaptation field does not contain any // private_data bytes. - int8_t transport_private_data_flag; // 1bit + int8_t transport_private_data_flag_; // 1bit // The adaptation_field_extension_flag is a 1-bit field which when set to '1' indicates // the presence of an adaptation field extension. A value of '0' indicates that an adaptation field extension is not present in // the adaptation field. - int8_t adaptation_field_extension_flag; // 1bit + int8_t adaptation_field_extension_flag_; // 1bit // If PCR_flag, 6B // The program_clock_reference (PCR) is a @@ -577,10 +577,10 @@ public: // PCR_base(i), as given in equation 2-2. The second part, program_clock_reference_extension, is a 9-bit field whose value // is given by PCR_ext(i), as given in equation 2-3. The PCR indicates the intended time of arrival of the byte containing // the last bit of the program_clock_reference_base at the input of the system target decoder. - int64_t program_clock_reference_base; // 33bits + int64_t program_clock_reference_base_; // 33bits // 6bits reserved, must be '1' - int8_t const1_value0; // 6bits - int16_t program_clock_reference_extension; // 9bits + int8_t const1_value0_; // 6bits + int16_t program_clock_reference_extension_; // 9bits // If OPCR_flag, 6B // The optional original @@ -595,10 +595,10 @@ public: // would include at least any PSI and private data packets which were present in the original Transport Stream and would // possibly require other private arrangements. It also means that the OPCR must be an identical copy of its associated PCR // in the original single program Transport Stream. - int64_t original_program_clock_reference_base; // 33bits + int64_t original_program_clock_reference_base_; // 33bits // 6bits reserved, must be '1' - int8_t const1_value2; // 6bits - int16_t original_program_clock_reference_extension; // 9bits + int8_t const1_value2_; // 6bits + int16_t original_program_clock_reference_extension_; // 9bits // If splicing_point_flag, 1B // The splice_countdown is an 8-bit field, representing a value which may be positive or negative. A @@ -623,20 +623,20 @@ public: // For the purposes of this subclause, an access point is defined as follows: // Video - The first byte of a video_sequence_header. // Audio - The first byte of an audio frame. - int8_t splice_countdown; // 8bits + int8_t splice_countdown_; // 8bits // If transport_private_data_flag, 1+p[0] B - std::vector transport_private_data; //[transport_private_data_length]bytes + std::vector transport_private_data_; //[transport_private_data_length]bytes // If adaptation_field_extension_flag, 2+x B // The adaptation_field_extension_length is an 8-bit field. It indicates the number of // bytes of the extended adaptation field data immediately following this field, including reserved bytes if present. - uint8_t adaptation_field_extension_length; // 8bits + uint8_t adaptation_field_extension_length_; // 8bits // This is a 1-bit field which when set to '1' indicates the presence of the ltw_offset // field. - int8_t ltw_flag; // 1bit + int8_t ltw_flag_; // 1bit // This is a 1-bit field which when set to '1' indicates the presence of the piecewise_rate field. - int8_t piecewise_rate_flag; // 1bit + int8_t piecewise_rate_flag_; // 1bit // This is a 1-bit flag which when set to '1' indicates that the splice_type and DTS_next_AU fields // are present. A value of '0' indicates that neither splice_type nor DTS_next_AU fields are present. This field shall not be // set to '1' in Transport Stream packets in which the splicing_point_flag is not set to '1'. Once it is set to '1' in a Transport @@ -645,13 +645,13 @@ public: // reaches zero (including this packet). When this flag is set, if the elementary stream carried in this PID is an audio stream, // the splice_type field shall be set to '0000'. If the elementary stream carried in this PID is a video stream, it shall fulfil the // constraints indicated by the splice_type value. - int8_t seamless_splice_flag; // 1bit + int8_t seamless_splice_flag_; // 1bit // reserved 5bits, must be '1' - int8_t const1_value1; // 5bits + int8_t const1_value1_; // 5bits // if ltw_flag, 2B // (legal time window_valid_flag) - This is a 1-bit field which when set to '1' indicates that the value of the // ltw_offset shall be valid. A value of '0' indicates that the value in the ltw_offset field is undefined. - int8_t ltw_valid_flag; // 1bit + int8_t ltw_valid_flag_; // 1bit // (legal time window offset) - This is a 15-bit field, the value of which is defined only if the ltw_valid flag has // a value of '1'. When defined, the legal time window offset is in units of (300/fs) seconds, where fs is the system clock // frequency of the program that this PID belongs to, and fulfils: @@ -660,14 +660,14 @@ public: // where i is the index of the first byte of this Transport Stream packet, offset is the value encoded in this field, t(i) is the // arrival time of byte i in the T-STD, and t1(i) is the upper bound in time of a time interval called the Legal Time Window // which is associated with this Transport Stream packet. - int16_t ltw_offset; // 15bits + int16_t ltw_offset_; // 15bits // if piecewise_rate_flag, 3B // 2bits reserved // The meaning of this 22-bit field is only defined when both the ltw_flag and the ltw_valid_flag are set // to '1'. When defined, it is a positive integer specifying a hypothetical bitrate R which is used to define the end times of // the Legal Time Windows of Transport Stream packets of the same PID that follow this packet but do not include the // legal_time_window_offset field. - int32_t piecewise_rate; // 22bits + int32_t piecewise_rate_; // 22bits // if seamless_splice_flag, 5B // This is a 4-bit field. From the first occurrence of this field onwards, it shall have the same value in all the // subsequent Transport Stream packets of the same PID in which it is present, until the packet in which the @@ -675,31 +675,31 @@ public: // this field shall have the value '0000'. If the elementary stream carried in that PID is a video stream, this field indicates the // conditions that shall be respected by this elementary stream for splicing purposes. These conditions are defined as a // function of profile, level and splice_type in Table 2-7 through Table 2-16. - int8_t splice_type; // 4bits + int8_t splice_type_; // 4bits // (decoding time stamp next access unit) - This is a 33-bit field, coded in three parts. In the case of // continuous and periodic decoding through this splicing point it indicates the decoding time of the first access unit // following the splicing point. This decoding time is expressed in the time base which is valid in the Transport Stream // packet in which the splice_countdown reaches zero. From the first occurrence of this field onwards, it shall have the // same value in all the subsequent Transport Stream packets of the same PID in which it is present, until the packet in // which the splice_countdown reaches zero (including this packet). - int8_t DTS_next_AU0; // 3bits - int8_t marker_bit0; // 1bit - int16_t DTS_next_AU1; // 15bits - int8_t marker_bit1; // 1bit - int16_t DTS_next_AU2; // 15bits - int8_t marker_bit2; // 1bit + int8_t DTS_next_AU0_; // 3bits + int8_t marker_bit0_; // 1bit + int16_t DTS_next_AU1_; // 15bits + int8_t marker_bit1_; // 1bit + int16_t DTS_next_AU2_; // 15bits + int8_t marker_bit2_; // 1bit // left bytes. // This is a fixed 8-bit value equal to '1111 1111' that can be inserted by the encoder. It is discarded by the // decoder. - int nb_af_ext_reserved; + int nb_af_ext_reserved_; // left bytes. // This is a fixed 8-bit value equal to '1111 1111' that can be inserted by the encoder. It is discarded by the // decoder. - int nb_af_reserved; + int nb_af_reserved_; private: - SrsTsPacket *packet; + SrsTsPacket *packet_; public: SrsTsAdaptationField(SrsTsPacket *pkt); @@ -745,7 +745,7 @@ enum SrsTsPsiId { class SrsTsPayload { protected: - SrsTsPacket *packet; + SrsTsPacket *packet_; public: SrsTsPayload(SrsTsPacket *p); @@ -767,77 +767,77 @@ public: // The packet_start_code_prefix is a 24-bit code. Together with the stream_id that follows it // constitutes a packet start code that identifies the beginning of a packet. The packet_start_code_prefix is the bit string // '0000 0000 0000 0000 0000 0001' (0x000001). - int32_t packet_start_code_prefix; // 24bits + int32_t packet_start_code_prefix_; // 24bits // 1B // In Program Streams, the stream_id specifies the type and number of the elementary stream as defined by the // stream_id Table 2-18. In Transport Streams, the stream_id may be set to any valid value which correctly describes the // elementary stream type as defined in Table 2-18. In Transport Streams, the elementary stream type is specified in the // Program Specific Information as specified in 2.4.4. // @see SrsTsPESStreamId, value can be SrsTsPESStreamIdAudioCommon or SrsTsPESStreamIdVideoCommon. - uint8_t stream_id; // 8bits + uint8_t stream_id_; // 8bits // 2B // A 16-bit field specifying the number of bytes in the PES packet following the last byte of the // field. A value of 0 indicates that the PES packet length is neither specified nor bounded and is allowed only in // PES packets whose payload consists of bytes from a video elementary stream contained in Transport Stream packets. - uint16_t PES_packet_length; // 16bits + uint16_t PES_packet_length_; // 16bits // 1B // 2bits const '10' - int8_t const2bits; // 2bits + int8_t const2bits_; // 2bits // The 2-bit PES_scrambling_control field indicates the scrambling mode of the PES packet // payload. When scrambling is performed at the PES level, the PES packet header, including the optional fields when // present, shall not be scrambled (see Table 2-19). - int8_t PES_scrambling_control; // 2bits + int8_t PES_scrambling_control_; // 2bits // This is a 1-bit field indicating the priority of the payload in this PES packet. A '1' indicates a higher // priority of the payload of the PES packet payload than a PES packet payload with this field set to '0'. A multiplexor can // use the PES_priority bit to prioritize its data within an elementary stream. This field shall not be changed by the transport // mechanism. - int8_t PES_priority; // 1bit + int8_t PES_priority_; // 1bit // This is a 1-bit flag. When set to a value of '1' it indicates that the PES packet header is // immediately followed by the video start code or audio syncword indicated in the data_stream_alignment_descriptor // in 2.6.10 if this descriptor is present. If set to a value of '1' and the descriptor is not present, alignment as indicated in // alignment_type '01' in Table 2-47 and Table 2-48 is required. When set to a value of '0' it is not defined whether any such // alignment occurs or not. - int8_t data_alignment_indicator; // 1bit + int8_t data_alignment_indicator_; // 1bit // This is a 1-bit field. When set to '1' it indicates that the material of the associated PES packet payload is // protected by copyright. When set to '0' it is not defined whether the material is protected by copyright. A copyright // descriptor described in 2.6.24 is associated with the elementary stream which contains this PES packet and the copyright // flag is set to '1' if the descriptor applies to the material contained in this PES packet - int8_t copyright; // 1bit + int8_t copyright_; // 1bit // This is a 1-bit field. When set to '1' the contents of the associated PES packet payload is an original. // When set to '0' it indicates that the contents of the associated PES packet payload is a copy. - int8_t original_or_copy; // 1bit + int8_t original_or_copy_; // 1bit // 1B // This is a 2-bit field. When the PTS_DTS_flags field is set to '10', the PTS fields shall be present in // the PES packet header. When the PTS_DTS_flags field is set to '11', both the PTS fields and DTS fields shall be present // in the PES packet header. When the PTS_DTS_flags field is set to '00' no PTS or DTS fields shall be present in the PES // packet header. The value '01' is forbidden. - int8_t PTS_DTS_flags; // 2bits + int8_t PTS_DTS_flags_; // 2bits // A 1-bit flag, which when set to '1' indicates that ESCR base and extension fields are present in the PES // packet header. When set to '0' it indicates that no ESCR fields are present. - int8_t ESCR_flag; // 1bit + int8_t ESCR_flag_; // 1bit // A 1-bit flag, which when set to '1' indicates that the ES_rate field is present in the PES packet header. // When set to '0' it indicates that no ES_rate field is present. - int8_t ES_rate_flag; // 1bit + int8_t ES_rate_flag_; // 1bit // A 1-bit flag, which when set to '1' it indicates the presence of an 8-bit trick mode field. When // set to '0' it indicates that this field is not present. - int8_t DSM_trick_mode_flag; // 1bit + int8_t DSM_trick_mode_flag_; // 1bit // A 1-bit flag, which when set to '1' indicates the presence of the additional_copy_info field. // When set to '0' it indicates that this field is not present. - int8_t additional_copy_info_flag; // 1bit + int8_t additional_copy_info_flag_; // 1bit // A 1-bit flag, which when set to '1' indicates that a CRC field is present in the PES packet. When set to // '0' it indicates that this field is not present. - int8_t PES_CRC_flag; // 1bit + int8_t PES_CRC_flag_; // 1bit // A 1-bit flag, which when set to '1' indicates that an extension field exists in this PES packet // header. When set to '0' it indicates that this field is not present. - int8_t PES_extension_flag; // 1bit + int8_t PES_extension_flag_; // 1bit // 1B // An 8-bit field specifying the total number of bytes occupied by the optional fields and any // stuffing bytes contained in this PES packet header. The presence of optional fields is indicated in the byte that precedes // the PES_header_data_length field. - uint8_t PES_header_data_length; // 8bits + uint8_t PES_header_data_length_; // 8bits // 5B // Presentation times shall be related to decoding times as follows: The PTS is a 33-bit @@ -855,7 +855,7 @@ public: // --------------2B // 15bits PTS [14..0] // 1bit const '1' - int64_t pts; // 33bits + int64_t pts_; // 33bits // 5B // The DTS is a 33-bit number coded in three separate fields. It indicates the decoding time, @@ -871,7 +871,7 @@ public: // --------------2B // 15bits DTS [14..0] // 1bit const '1' - int64_t dts; // 33bits + int64_t dts_; // 33bits // 6B // The elementary stream clock reference is a 42-bit field coded in two parts. The first @@ -888,8 +888,8 @@ public: // 1bit const '1' // 9bits ESCR_extension // 1bit const '1' - int64_t ESCR_base; // 33bits - int16_t ESCR_extension; // 9bits + int64_t ESCR_base_; // 33bits + int16_t ESCR_extension_; // 9bits // 3B // The ES_rate field is a 22-bit unsigned integer specifying the rate at which the @@ -901,56 +901,56 @@ public: // 1bit const '1' // 22bits ES_rate // 1bit const '1' - int32_t ES_rate; // 22bits + int32_t ES_rate_; // 22bits // 1B // A 3-bit field that indicates which trick mode is applied to the associated video stream. In cases of // other types of elementary streams, the meanings of this field and those defined by the following five bits are undefined. // For the definition of trick_mode status, refer to the trick mode section of 2.4.2.3. - int8_t trick_mode_control; // 3bits - int8_t trick_mode_value; // 5bits + int8_t trick_mode_control_; // 3bits + int8_t trick_mode_value_; // 5bits // 1B // 1bit const '1' // This 7-bit field contains private data relating to copyright information. - int8_t additional_copy_info; // 7bits + int8_t additional_copy_info_; // 7bits // 2B // The previous_PES_packet_CRC is a 16-bit field that contains the CRC value that yields // a zero output of the 16 registers in the decoder similar to the one defined in Annex A, - int16_t previous_PES_packet_CRC; // 16bits + int16_t previous_PES_packet_CRC_; // 16bits // 1B // A 1-bit flag which when set to '1' indicates that the PES packet header contains private data. // When set to a value of '0' it indicates that private data is not present in the PES header. - int8_t PES_private_data_flag; // 1bit + int8_t PES_private_data_flag_; // 1bit // A 1-bit flag which when set to '1' indicates that an ISO/IEC 11172-1 pack header or a // Program Stream pack header is stored in this PES packet header. If this field is in a PES packet that is contained in a // Program Stream, then this field shall be set to '0'. In a Transport Stream, when set to the value '0' it indicates that no pack // header is present in the PES header. - int8_t pack_header_field_flag; // 1bit + int8_t pack_header_field_flag_; // 1bit // A 1-bit flag which when set to '1' indicates that the // program_packet_sequence_counter, MPEG1_MPEG2_identifier, and original_stuff_length fields are present in this // PES packet. When set to a value of '0' it indicates that these fields are not present in the PES header. - int8_t program_packet_sequence_counter_flag; // 1bit + int8_t program_packet_sequence_counter_flag_; // 1bit // A 1-bit flag which when set to '1' indicates that the P-STD_buffer_scale and P-STD_buffer_size // are present in the PES packet header. When set to a value of '0' it indicates that these fields are not present in the // PES header. - int8_t P_STD_buffer_flag; // 1bit + int8_t P_STD_buffer_flag_; // 1bit // reverved value, must be '1' - int8_t const1_value0; // 3bits + int8_t const1_value0_; // 3bits // A 1-bit field which when set to '1' indicates the presence of the PES_extension_field_length // field and associated fields. When set to a value of '0' this indicates that the PES_extension_field_length field and any // associated fields are not present. - int8_t PES_extension_flag_2; // 1bit + int8_t PES_extension_flag_2_; // 1bit // 16B // This is a 16-byte field which contains private data. This data, combined with the fields before and // after, shall not emulate the packet_start_code_prefix (0x000001). - std::vector PES_private_data; // 128bits + std::vector PES_private_data_; // 128bits // (1+x)B - std::vector pack_field; //[pack_field_length] bytes + std::vector pack_field_; //[pack_field_length] bytes // 2B // 1bit const '1' @@ -961,14 +961,14 @@ public: // Stream or the original packet sequence of the original ISO/IEC 11172-1 stream. The counter will wrap around to 0 after // its maximum value. Repetition of PES packets shall not occur. Consequently, no two consecutive PES packets in the // program multiplex shall have identical program_packet_sequence_counter values. - int8_t program_packet_sequence_counter; // 7bits + int8_t program_packet_sequence_counter_; // 7bits // 1bit const '1' // A 1-bit flag which when set to '1' indicates that this PES packet carries information from // an ISO/IEC 11172-1 stream. When set to '0' it indicates that this PES packet carries information from a Program Stream. - int8_t MPEG1_MPEG2_identifier; // 1bit + int8_t MPEG1_MPEG2_identifier_; // 1bit // This 6-bit field specifies the number of stuffing bytes used in the original ITU-T // Rec. H.222.0 | ISO/IEC 13818-1 PES packet header or in the original ISO/IEC 11172-1 packet header. - int8_t original_stuff_length; // 6bits + int8_t original_stuff_length_; // 6bits // 2B // 2bits const '01' @@ -977,22 +977,22 @@ public: // If the preceding stream_id indicates an audio stream, P-STD_buffer_scale shall have the value '0'. If the preceding // stream_id indicates a video stream, P-STD_buffer_scale shall have the value '1'. For all other stream types, the value // may be either '1' or '0'. - int8_t P_STD_buffer_scale; // 1bit + int8_t P_STD_buffer_scale_; // 1bit // The P-STD_buffer_size is a 13-bit unsigned integer, the meaning of which is only defined if this // PES packet is contained in a Program Stream. It defines the size of the input buffer, BS n , in the P-STD. If // P-STD_buffer_scale has the value '0', then the P-STD_buffer_size measures the buffer size in units of 128 bytes. If // P-STD_buffer_scale has the value '1', then the P-STD_buffer_size measures the buffer size in units of 1024 bytes. - int16_t P_STD_buffer_size; // 13bits + int16_t P_STD_buffer_size_; // 13bits // (1+x)B // 1bit const '1' - std::vector PES_extension_field; //[PES_extension_field_length] bytes + std::vector PES_extension_field_; //[PES_extension_field_length] bytes // NB // This is a fixed 8-bit value equal to '1111 1111' that can be inserted by the encoder, for example to meet // the requirements of the channel. It is discarded by the decoder. No more than 32 stuffing bytes shall be present in one // PES packet header. - int nb_stuffings; + int nb_stuffings_; // NB // PES_packet_data_bytes shall be contiguous bytes of data from the elementary stream @@ -1005,11 +1005,11 @@ public: // // In the case of a private_stream_1, private_stream_2, ECM_stream, or EMM_stream, the contents of the // PES_packet_data_byte field are user definable and will not be specified by ITU-T | ISO/IEC in the future. - int nb_bytes; + int nb_bytes_; // NB // This is a fixed 8-bit value equal to '1111 1111'. It is discarded by the decoder. - int nb_paddings; + int nb_paddings_; public: // Whether contains payload to dump to message. @@ -1037,7 +1037,7 @@ private: class SrsTsPayloadPES : public SrsTsPayload { public: - SrsMpegPES pes; + SrsMpegPES pes_; public: SrsTsPayloadPES(SrsTsPacket *p); @@ -1304,9 +1304,9 @@ private: SrsAudioCodecId acodec_; private: - SrsTsContext *context; - ISrsStreamWriter *writer; - std::string path; + SrsTsContext *context_; + ISrsStreamWriter *writer_; + std::string path_; public: SrsTsContextWriter(ISrsStreamWriter *w, SrsTsContext *c, SrsAudioCodecId ac, SrsVideoCodecId vc); @@ -1358,8 +1358,8 @@ class SrsTsMessageCache { public: // The current ts message. - SrsTsMessage *audio; - SrsTsMessage *video; + SrsTsMessage *audio_; + SrsTsMessage *video_; public: SrsTsMessageCache(); diff --git a/trunk/src/protocol/srs_protocol_format.cpp b/trunk/src/protocol/srs_protocol_format.cpp index c9739fd8a..5905eae5b 100644 --- a/trunk/src/protocol/srs_protocol_format.cpp +++ b/trunk/src/protocol/srs_protocol_format.cpp @@ -33,7 +33,7 @@ srs_error_t SrsRtmpFormat::on_audio(SrsMediaPacket *shared_audio) char *data = msg->payload(); int size = msg->size(); - return SrsFormat::on_audio(msg->timestamp, data, size); + return SrsFormat::on_audio(msg->timestamp_, data, size); } srs_error_t SrsRtmpFormat::on_audio(int64_t timestamp, char *data, int size) @@ -47,7 +47,7 @@ srs_error_t SrsRtmpFormat::on_video(SrsMediaPacket *shared_video) char *data = msg->payload(); int size = msg->size(); - return SrsFormat::on_video(msg->timestamp, data, size); + return SrsFormat::on_video(msg->timestamp_, data, size); } srs_error_t SrsRtmpFormat::on_video(int64_t timestamp, char *data, int size) diff --git a/trunk/src/protocol/srs_protocol_kbps.cpp b/trunk/src/protocol/srs_protocol_kbps.cpp index f7082e75d..d83f0a577 100644 --- a/trunk/src/protocol/srs_protocol_kbps.cpp +++ b/trunk/src/protocol/srs_protocol_kbps.cpp @@ -23,33 +23,33 @@ void SrsKbpsSlice::sample() { srs_utime_t now = clk->now(); - if (sample_30s.time < 0) { + if (sample_30s.time_ < 0) { sample_30s.update(bytes, now, 0); } - if (sample_1m.time < 0) { + if (sample_1m.time_ < 0) { sample_1m.update(bytes, now, 0); } - if (sample_5m.time < 0) { + if (sample_5m.time_ < 0) { sample_5m.update(bytes, now, 0); } - if (sample_60m.time < 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)); + 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)); + 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)); + 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)); + 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); } } @@ -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) diff --git a/trunk/src/protocol/srs_protocol_log.cpp b/trunk/src/protocol/srs_protocol_log.cpp index 30a998541..d1fe5c0ae 100644 --- a/trunk/src/protocol/srs_protocol_log.cpp +++ b/trunk/src/protocol/srs_protocol_log.cpp @@ -47,7 +47,7 @@ void _srs_context_destructor(void *arg) const SrsContextId &SrsThreadContext::get_id() { - ++_srs_pps_cids_get->sugar; + ++_srs_pps_cids_get->sugar_; if (!srs_thread_self()) { return _srs_context_default; @@ -72,7 +72,7 @@ void SrsThreadContext::clear_cid() const SrsContextId &srs_context_set_cid_of(srs_thread_t trd, const SrsContextId &v) { - ++_srs_pps_cids_set->sugar; + ++_srs_pps_cids_set->sugar_; if (!trd) { _srs_context_default = v; diff --git a/trunk/src/protocol/srs_protocol_raw_avc.cpp b/trunk/src/protocol/srs_protocol_raw_avc.cpp index f22ca09e7..77dfc0fef 100644 --- a/trunk/src/protocol/srs_protocol_raw_avc.cpp +++ b/trunk/src/protocol/srs_protocol_raw_avc.cpp @@ -435,7 +435,7 @@ srs_error_t SrsRawHEVCStream::mux_sequence_header(std::string vps, std::string s return srs_error_wrap(err, "format failed"); } // hevc_dec_conf_record - SrsHevcDecoderConfigurationRecord *hevc_info = &format.vcodec->hevc_dec_conf_record_; + SrsHevcDecoderConfigurationRecord *hevc_info = &format.vcodec_->hevc_dec_conf_record_; if (true) { // H265 VPS (video_parameter_set_rbsp()) NAL Unit. @@ -460,31 +460,31 @@ srs_error_t SrsRawHEVCStream::mux_sequence_header(std::string vps, std::string s uint8_t temp8bits = 0; // general_profile_space(2bits), general_tier_flag(1bit), general_profile_idc(5bits) - temp8bits |= ((hevc_info->general_profile_space & 0x03) << 6); - temp8bits |= ((hevc_info->general_tier_flag & 0x01) << 5); - temp8bits |= (hevc_info->general_profile_idc & 0x1f); + temp8bits |= ((hevc_info->general_profile_space_ & 0x03) << 6); + temp8bits |= ((hevc_info->general_tier_flag_ & 0x01) << 5); + temp8bits |= (hevc_info->general_profile_idc_ & 0x1f); stream.write_1bytes(temp8bits); - stream.write_4bytes(hevc_info->general_profile_compatibility_flags); - stream.write_2bytes((hevc_info->general_constraint_indicator_flags >> 32) & 0xffff); - stream.write_4bytes(hevc_info->general_constraint_indicator_flags & 0xffffffff); - stream.write_1bytes(hevc_info->general_level_idc); - stream.write_2bytes(0xf000 | (hevc_info->min_spatial_segmentation_idc & 0x0fff)); - stream.write_1bytes(0xfc | (hevc_info->parallelism_type & 0x03)); - stream.write_1bytes(0xfc | (hevc_info->chroma_format & 0x03)); - stream.write_1bytes(0xf8 | (hevc_info->bit_depth_luma_minus8 & 0x07)); - stream.write_1bytes(0xf8 | (hevc_info->bit_depth_chroma_minus8 & 0x07)); - stream.write_2bytes(hevc_info->avg_frame_rate); + stream.write_4bytes(hevc_info->general_profile_compatibility_flags_); + stream.write_2bytes((hevc_info->general_constraint_indicator_flags_ >> 32) & 0xffff); + stream.write_4bytes(hevc_info->general_constraint_indicator_flags_ & 0xffffffff); + stream.write_1bytes(hevc_info->general_level_idc_); + stream.write_2bytes(0xf000 | (hevc_info->min_spatial_segmentation_idc_ & 0x0fff)); + stream.write_1bytes(0xfc | (hevc_info->parallelism_type_ & 0x03)); + stream.write_1bytes(0xfc | (hevc_info->chroma_format_ & 0x03)); + stream.write_1bytes(0xf8 | (hevc_info->bit_depth_luma_minus8_ & 0x07)); + stream.write_1bytes(0xf8 | (hevc_info->bit_depth_chroma_minus8_ & 0x07)); + stream.write_2bytes(hevc_info->avg_frame_rate_); - hevc_info->length_size_minus_one = 3; + hevc_info->length_size_minus_one_ = 3; temp8bits = 0; // 8bits: constant_frame_rate(2bits), num_temporal_layers(3bits), // temporal_id_nested(1bit), length_size_minus_one(2bits) - temp8bits |= (hevc_info->constant_frame_rate << 6) | 0xc0; - temp8bits |= (hevc_info->num_temporal_layers << 3) | 0x38; - temp8bits |= (hevc_info->temporal_id_nested << 2) | 0x04; - temp8bits |= (hevc_info->length_size_minus_one & 0x03); + temp8bits |= (hevc_info->constant_frame_rate_ << 6) | 0xc0; + temp8bits |= (hevc_info->num_temporal_layers_ << 3) | 0x38; + temp8bits |= (hevc_info->temporal_id_nested_ << 2) | 0x04; + temp8bits |= (hevc_info->length_size_minus_one_ & 0x03); stream.write_1bytes(temp8bits); // numOfArrays, default 3 diff --git a/trunk/src/protocol/srs_protocol_rtmp_stack.cpp b/trunk/src/protocol/srs_protocol_rtmp_stack.cpp index 5c993c666..805939d52 100644 --- a/trunk/src/protocol/srs_protocol_rtmp_stack.cpp +++ b/trunk/src/protocol/srs_protocol_rtmp_stack.cpp @@ -105,9 +105,9 @@ srs_error_t SrsRtmpCommand::to_msg(SrsRtmpCommonMessage *msg, int stream_id) // to message SrsMessageHeader header; - header.payload_length = size; - header.message_type = get_message_type(); - header.stream_id = stream_id; + header.payload_length_ = size; + header.message_type_ = get_message_type(); + header.stream_id_ = stream_id; if ((err = msg->create(&header, payload, size)) != srs_success) { return srs_error_wrap(err, "create %dB message", size); @@ -331,10 +331,10 @@ srs_error_t SrsProtocol::recv_message(SrsRtmpCommonMessage **pmsg) continue; } - if (msg->size() <= 0 || msg->header.payload_length <= 0) { + if (msg->size() <= 0 || msg->header_.payload_length_ <= 0) { srs_trace("ignore empty message(type=%d, size=%d, time=%" PRId64 ", sid=%d).", - msg->header.message_type, msg->header.payload_length, - msg->header.timestamp, msg->header.stream_id); + msg->header_.message_type_, msg->header_.payload_length_, + msg->header_.timestamp_, msg->header_.stream_id_); srs_freep(msg); continue; } @@ -365,7 +365,7 @@ srs_error_t SrsProtocol::decode_message(SrsRtmpCommonMessage *msg, SrsRtmpComman // decode the packet. SrsRtmpCommand *packet = NULL; - if ((err = do_decode_message(msg->header, &stream, &packet)) != srs_success) { + if ((err = do_decode_message(msg->header_, &stream, &packet)) != srs_success) { srs_freep(packet); return srs_error_wrap(err, "decode message"); } @@ -561,7 +561,7 @@ srs_error_t SrsProtocol::do_send_and_free_packet(SrsRtmpCommand *packet_raw, int return srs_error_wrap(err, "send packet"); } - if ((err = on_send_packet(&msg->header, packet.get())) != srs_success) { + if ((err = on_send_packet(&msg->header_, packet.get())) != srs_success) { return srs_error_wrap(err, "on send packet"); } @@ -695,7 +695,7 @@ srs_error_t SrsProtocol::do_decode_message(SrsMessageHeader &header, SrsBuffer * return packet->decode(stream); } else { if (!header.is_set_peer_bandwidth() && !header.is_ackledgement()) { - srs_trace("drop unknown message, type=%d", header.message_type); + srs_trace("drop unknown message, type=%d", header.message_type_); } } @@ -996,7 +996,7 @@ srs_error_t SrsProtocol::read_message_header(SrsChunkStream *chunk, char fmt) if (fmt <= RTMP_FMT_TYPE2) { 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++; @@ -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,14 +1159,14 @@ 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++; @@ -1179,9 +1179,9 @@ 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; @@ -1190,16 +1190,16 @@ srs_error_t SrsProtocol::read_message_payload(SrsChunkStream *chunk, SrsRtmpComm 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 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->msg->create_payload(chunk->header.payload_length_); chunk->writing_pos_ = chunk->msg->payload(); } @@ -1212,7 +1212,7 @@ srs_error_t SrsProtocol::read_message_payload(SrsChunkStream *chunk, SrsRtmpComm // got entire RTMP message? nn_written = (int)(chunk->writing_pos_ - chunk->msg->payload()); - if (nn_written == chunk->header.payload_length) { + if (nn_written == chunk->header.payload_length_) { *pmsg = chunk->msg; chunk->msg = NULL; @@ -1235,7 +1235,7 @@ srs_error_t SrsProtocol::on_recv_message(SrsRtmpCommonMessage *msg) } SrsRtmpCommand *packet_raw = NULL; - switch (msg->header.message_type) { + switch (msg->header_.message_type_) { case RTMP_MSG_SetChunkSize: case RTMP_MSG_UserControlMessage: case RTMP_MSG_WindowAcknowledgementSize: @@ -1254,7 +1254,7 @@ srs_error_t SrsProtocol::on_recv_message(SrsRtmpCommonMessage *msg) srs_assert(packet_raw); SrsUniquePtr packet(packet_raw); - switch (msg->header.message_type) { + switch (msg->header_.message_type_) { case RTMP_MSG_WindowAcknowledgementSize: { SrsSetWindowAckSizePacket *pkt = dynamic_cast(packet.get()); srs_assert(pkt != NULL); @@ -1317,7 +1317,7 @@ srs_error_t SrsProtocol::on_send_packet(SrsMessageHeader *mh, SrsRtmpCommand *pa return err; } - switch (mh->message_type) { + switch (mh->message_type_) { case RTMP_MSG_SetChunkSize: { SrsSetChunkSizePacket *pkt = dynamic_cast(packet); out_chunk_size = pkt->chunk_size; @@ -2469,14 +2469,14 @@ srs_error_t SrsRtmpServer::identify_client(int stream_id, SrsRtmpConnType &type, } SrsUniquePtr msg(msg_raw); - SrsMessageHeader &h = msg->header; + SrsMessageHeader &h = msg->header_; if (h.is_ackledgement() || h.is_set_chunk_size() || h.is_window_ackledgement_size() || h.is_user_control_message()) { continue; } if (!h.is_amf0_command() && !h.is_amf3_command()) { - srs_trace("ignore message type=%#x", h.message_type); + srs_trace("ignore message type=%#x", h.message_type_); continue; } @@ -2860,14 +2860,14 @@ srs_error_t SrsRtmpServer::identify_create_stream_client(SrsCreateStreamPacket * } SrsUniquePtr msg(msg_raw); - SrsMessageHeader &h = msg->header; + SrsMessageHeader &h = msg->header_; if (h.is_ackledgement() || h.is_set_chunk_size() || h.is_window_ackledgement_size() || h.is_user_control_message()) { continue; } if (!h.is_amf0_command() && !h.is_amf3_command()) { - srs_trace("ignore message type=%#x", h.message_type); + srs_trace("ignore message type=%#x", h.message_type_); continue; } diff --git a/trunk/src/protocol/srs_protocol_rtp.cpp b/trunk/src/protocol/srs_protocol_rtp.cpp index 5d82c7491..8742fafc4 100644 --- a/trunk/src/protocol/srs_protocol_rtp.cpp +++ b/trunk/src/protocol/srs_protocol_rtp.cpp @@ -41,42 +41,42 @@ srs_error_t SrsRtpVideoBuilder::package_stap_a(SrsMediaPacket *msg, SrsRtpPacket srs_error_t err = srs_success; SrsFormat *format = format_; - if (!format || !format->vcodec) { + if (!format || !format->vcodec_) { return err; } pkt->header.set_payload_type(video_payload_type_); pkt->header.set_ssrc(video_ssrc_); - pkt->frame_type = SrsFrameTypeVideo; + pkt->frame_type_ = SrsFrameTypeVideo; pkt->header.set_marker(false); pkt->header.set_sequence(video_sequence_++); - pkt->header.set_timestamp(msg->timestamp * 90); + pkt->header.set_timestamp(msg->timestamp_ * 90); ISrsRtpPayloader *stap = NULL; vector *> params; int size = 0; - if (format->vcodec->id == SrsVideoCodecIdHEVC) { - for (size_t i = 0; i < format->vcodec->hevc_dec_conf_record_.nalu_vec.size(); i++) { - const SrsHevcHvccNalu &nalu = format->vcodec->hevc_dec_conf_record_.nalu_vec[i]; - if (nalu.nal_unit_type == SrsHevcNaluType_VPS || nalu.nal_unit_type == SrsHevcNaluType_SPS || nalu.nal_unit_type == SrsHevcNaluType_PPS) { - const SrsHevcNalData &nal_data = nalu.nal_data_vec[0]; - params.push_back(&(vector &)nal_data.nal_unit_data); - size += nal_data.nal_unit_length; + if (format->vcodec_->id_ == SrsVideoCodecIdHEVC) { + for (size_t i = 0; i < format->vcodec_->hevc_dec_conf_record_.nalu_vec_.size(); i++) { + const SrsHevcHvccNalu &nalu = format->vcodec_->hevc_dec_conf_record_.nalu_vec_[i]; + if (nalu.nal_unit_type_ == SrsHevcNaluType_VPS || nalu.nal_unit_type_ == SrsHevcNaluType_SPS || nalu.nal_unit_type_ == SrsHevcNaluType_PPS) { + const SrsHevcNalData &nal_data = nalu.nal_data_vec_[0]; + params.push_back(&(vector &)nal_data.nal_unit_data_); + size += nal_data.nal_unit_length_; } } stap = new SrsRtpSTAPPayloadHevc(); pkt->set_payload(stap, SrsRtpPacketPayloadTypeSTAPHevc); - pkt->nalu_type = kStapHevc; - } else if (format->vcodec->id == SrsVideoCodecIdAVC) { - params.push_back(&format->vcodec->sequenceParameterSetNALUnit); - params.push_back(&format->vcodec->pictureParameterSetNALUnit); - size = format->vcodec->sequenceParameterSetNALUnit.size() + format->vcodec->pictureParameterSetNALUnit.size(); + pkt->nalu_type_ = kStapHevc; + } else if (format->vcodec_->id_ == SrsVideoCodecIdAVC) { + params.push_back(&format->vcodec_->sequenceParameterSetNALUnit_); + params.push_back(&format->vcodec_->pictureParameterSetNALUnit_); + size = format->vcodec_->sequenceParameterSetNALUnit_.size() + format->vcodec_->pictureParameterSetNALUnit_.size(); stap = new SrsRtpSTAPPayload(); pkt->set_payload(stap, SrsRtpPacketPayloadTypeSTAP); - pkt->nalu_type = kStapA; + pkt->nalu_type_ = kStapA; } if (size == 0) { @@ -87,12 +87,12 @@ srs_error_t SrsRtpVideoBuilder::package_stap_a(SrsMediaPacket *msg, SrsRtpPacket for (vector *>::iterator it = params.begin(); it != params.end(); ++it) { vector *param = *it; SrsNaluSample *sample = new SrsNaluSample(); - sample->bytes = payload; - sample->size = param->size(); - if (format->vcodec->id == SrsVideoCodecIdHEVC) { - static_cast(stap)->nalus.push_back(sample); + sample->bytes_ = payload; + sample->size_ = param->size(); + if (format->vcodec_->id_ == SrsVideoCodecIdHEVC) { + static_cast(stap)->nalus_.push_back(sample); } else { - static_cast(stap)->nalus.push_back(sample); + static_cast(stap)->nalus_.push_back(sample); } memcpy(payload, (char *)param->data(), param->size()); @@ -107,10 +107,10 @@ srs_error_t SrsRtpVideoBuilder::package_nalus(SrsMediaPacket *msg, const vector< srs_error_t err = srs_success; SrsFormat *format = format_; - if (!format || !format->vcodec) { + if (!format || !format->vcodec_) { return err; } - bool is_hevc = format->vcodec->id == SrsVideoCodecIdHEVC; + bool is_hevc = format->vcodec_->id_ == SrsVideoCodecIdHEVC; SrsRtpRawNALUs *raw_raw = new SrsRtpRawNALUs(); uint8_t first_nalu_type = 0; @@ -118,12 +118,12 @@ srs_error_t SrsRtpVideoBuilder::package_nalus(SrsMediaPacket *msg, const vector< for (int i = 0; i < (int)samples.size(); i++) { SrsNaluSample *sample = samples[i]; - if (!sample->size) { + if (!sample->size_) { continue; } if (first_nalu_type == 0) { - first_nalu_type = is_hevc ? uint8_t(SrsHevcNaluTypeParse(sample->bytes[0])) : uint8_t(SrsAvcNaluTypeParse(sample->bytes[0])); + first_nalu_type = is_hevc ? uint8_t(SrsHevcNaluTypeParse(sample->bytes_[0])) : uint8_t(SrsAvcNaluTypeParse(sample->bytes_[0])); } raw_raw->push_back(sample->copy()); @@ -143,10 +143,10 @@ srs_error_t SrsRtpVideoBuilder::package_nalus(SrsMediaPacket *msg, const vector< pkt->header.set_payload_type(video_payload_type_); pkt->header.set_ssrc(video_ssrc_); - pkt->frame_type = SrsFrameTypeVideo; - pkt->nalu_type = first_nalu_type; + pkt->frame_type_ = SrsFrameTypeVideo; + pkt->nalu_type_ = first_nalu_type; pkt->header.set_sequence(video_sequence_++); - pkt->header.set_timestamp(msg->timestamp * 90); + pkt->header.set_timestamp(msg->timestamp_ * 90); pkt->set_payload(raw_raw, SrsRtpPacketPayloadTypeNALU); pkt->wrap(msg->payload_); } else { @@ -173,31 +173,31 @@ srs_error_t SrsRtpVideoBuilder::package_nalus(SrsMediaPacket *msg, const vector< pkt->header.set_payload_type(video_payload_type_); pkt->header.set_ssrc(video_ssrc_); - pkt->frame_type = SrsFrameTypeVideo; - pkt->nalu_type = kFuA; + pkt->frame_type_ = SrsFrameTypeVideo; + pkt->nalu_type_ = kFuA; pkt->header.set_sequence(video_sequence_++); - pkt->header.set_timestamp(msg->timestamp * 90); + pkt->header.set_timestamp(msg->timestamp_ * 90); if (is_hevc) { SrsRtpFUAPayloadHevc *fua = new SrsRtpFUAPayloadHevc(); - if ((err = raw->read_samples(fua->nalus, packet_size)) != srs_success) { + if ((err = raw->read_samples(fua->nalus_, packet_size)) != srs_success) { srs_freep(fua); return srs_error_wrap(err, "read hevc samples %d bytes, left %d, total %d", packet_size, nb_left, nn_bytes); } - fua->nalu_type = SrsHevcNaluTypeParse(header); - fua->start = bool(i == 0); - fua->end = bool(i == num_of_packet - 1); + fua->nalu_type_ = SrsHevcNaluTypeParse(header); + fua->start_ = bool(i == 0); + fua->end_ = bool(i == num_of_packet - 1); pkt->set_payload(fua, SrsRtpPacketPayloadTypeFUAHevc); } else { SrsRtpFUAPayload *fua = new SrsRtpFUAPayload(); - if ((err = raw->read_samples(fua->nalus, packet_size)) != srs_success) { + if ((err = raw->read_samples(fua->nalus_, packet_size)) != srs_success) { srs_freep(fua); return srs_error_wrap(err, "read samples %d bytes, left %d, total %d", packet_size, nb_left, nn_bytes); } - fua->nalu_type = SrsAvcNaluTypeParse(header); - fua->start = bool(i == 0); - fua->end = bool(i == num_of_packet - 1); + fua->nalu_type_ = SrsAvcNaluTypeParse(header); + fua->start_ = bool(i == 0); + fua->end_ = bool(i == num_of_packet - 1); pkt->set_payload(fua, SrsRtpPacketPayloadTypeFUA); } @@ -221,15 +221,15 @@ srs_error_t SrsRtpVideoBuilder::package_single_nalu(SrsMediaPacket *msg, SrsNalu pkt->header.set_payload_type(video_payload_type_); pkt->header.set_ssrc(video_ssrc_); - pkt->frame_type = SrsFrameTypeVideo; + pkt->frame_type_ = SrsFrameTypeVideo; pkt->header.set_sequence(video_sequence_++); - pkt->header.set_timestamp(msg->timestamp * 90); + pkt->header.set_timestamp(msg->timestamp_ * 90); SrsRtpRawPayload *raw = new SrsRtpRawPayload(); pkt->set_payload(raw, SrsRtpPacketPayloadTypeRaw); - raw->payload = sample->bytes; - raw->nn_payload = sample->size; + raw->payload_ = sample->bytes_; + raw->nn_payload_ = sample->size_; pkt->wrap(msg->payload_); @@ -241,17 +241,17 @@ srs_error_t SrsRtpVideoBuilder::package_fu_a(SrsMediaPacket *msg, SrsNaluSample srs_error_t err = srs_success; SrsFormat *format = format_; - if (!format || !format->vcodec) { + if (!format || !format->vcodec_) { return err; } - bool is_hevc = format->vcodec->id == SrsVideoCodecIdHEVC; + bool is_hevc = format->vcodec_->id_ == SrsVideoCodecIdHEVC; int header_size = is_hevc ? SrsHevcNaluHeaderSize : SrsAvcNaluHeaderSize; - srs_assert(sample->size >= header_size); + srs_assert(sample->size_ >= header_size); - char *p = sample->bytes + header_size; - int nb_left = sample->size - header_size; - uint8_t header = sample->bytes[0]; + char *p = sample->bytes_ + header_size; + int nb_left = sample->size_ - header_size; + uint8_t header = sample->bytes_[0]; int num_of_packet = 1 + (nb_left - 1) / fu_payload_size; for (int i = 0; i < num_of_packet; ++i) { @@ -262,34 +262,34 @@ srs_error_t SrsRtpVideoBuilder::package_fu_a(SrsMediaPacket *msg, SrsNaluSample pkt->header.set_payload_type(video_payload_type_); pkt->header.set_ssrc(video_ssrc_); - pkt->frame_type = SrsFrameTypeVideo; + pkt->frame_type_ = SrsFrameTypeVideo; pkt->header.set_sequence(video_sequence_++); - pkt->header.set_timestamp(msg->timestamp * 90); - pkt->nalu_type = is_hevc ? kFuHevc : kFuA; + pkt->header.set_timestamp(msg->timestamp_ * 90); + pkt->nalu_type_ = is_hevc ? kFuHevc : kFuA; if (is_hevc) { // H265 FU-A header SrsRtpFUAPayloadHevc2 *fua = new SrsRtpFUAPayloadHevc2(); pkt->set_payload(fua, SrsRtpPacketPayloadTypeFUAHevc2); - fua->nalu_type = SrsHevcNaluTypeParse(header); - fua->start = bool(i == 0); - fua->end = bool(i == num_of_packet - 1); + fua->nalu_type_ = SrsHevcNaluTypeParse(header); + fua->start_ = bool(i == 0); + fua->end_ = bool(i == num_of_packet - 1); - fua->payload = p; - fua->size = packet_size; + fua->payload_ = p; + fua->size_ = packet_size; } else { // H264 FU-A header SrsRtpFUAPayload2 *fua = new SrsRtpFUAPayload2(); pkt->set_payload(fua, SrsRtpPacketPayloadTypeFUA2); - fua->nri = (SrsAvcNaluType)header; - fua->nalu_type = SrsAvcNaluTypeParse(header); - fua->start = bool(i == 0); - fua->end = bool(i == num_of_packet - 1); + fua->nri_ = (SrsAvcNaluType)header; + fua->nalu_type_ = SrsAvcNaluTypeParse(header); + fua->start_ = bool(i == 0); + fua->end_ = bool(i == num_of_packet - 1); - fua->payload = p; - fua->size = packet_size; + fua->payload_ = p; + fua->size_ = packet_size; } pkt->wrap(msg->payload_); diff --git a/trunk/src/utest/srs_utest_fmp4.cpp b/trunk/src/utest/srs_utest_fmp4.cpp index 8c25253cd..71580c329 100644 --- a/trunk/src/utest/srs_utest_fmp4.cpp +++ b/trunk/src/utest/srs_utest_fmp4.cpp @@ -59,7 +59,7 @@ class MockSrsMediaPacket : public SrsMediaPacket public: MockSrsMediaPacket(bool is_video_msg, uint32_t ts) { - timestamp = ts; + timestamp_ = ts; // Create sample payload char *payload = new char[1024]; @@ -67,9 +67,9 @@ public: SrsMediaPacket::wrap(payload, 1024); if (is_video_msg) { - message_type = SrsFrameTypeVideo; + message_type_ = SrsFrameTypeVideo; } else { - message_type = SrsFrameTypeAudio; + message_type_ = SrsFrameTypeAudio; } } virtual ~MockSrsMediaPacket() {} @@ -411,17 +411,17 @@ VOID TEST(Fmp4Test, SrsMp4TrackEncryptionBox_CBCS) SrsMp4TrackEncryptionBox tenc; // Configure for CBCS video encryption (1:9 pattern) - tenc.version = 1; - tenc.default_crypt_byte_block = 1; // Encrypt 1 block - tenc.default_skip_byte_block = 9; // Skip 9 blocks - tenc.default_is_protected = 1; - tenc.default_per_sample_IV_size = 0; // Use constant IV - tenc.default_constant_IV_size = 16; + tenc.version_ = 1; + tenc.default_crypt_byte_block_ = 1; // Encrypt 1 block + tenc.default_skip_byte_block_ = 9; // Skip 9 blocks + tenc.default_is_protected_ = 1; + tenc.default_per_sample_IV_size_ = 0; // Use constant IV + tenc.default_constant_IV_size_ = 16; // Set Key ID unsigned char kid[16] = {0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70}; - memcpy(tenc.default_KID, kid, 16); + memcpy(tenc.default_KID_, kid, 16); // Set constant IV unsigned char iv[16] = {0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, @@ -429,16 +429,16 @@ VOID TEST(Fmp4Test, SrsMp4TrackEncryptionBox_CBCS) tenc.set_default_constant_IV(iv, 16); // Verify configuration - EXPECT_EQ(1, tenc.version); - EXPECT_EQ(1, tenc.default_crypt_byte_block); - EXPECT_EQ(9, tenc.default_skip_byte_block); - EXPECT_EQ(1, tenc.default_is_protected); - EXPECT_EQ(0, tenc.default_per_sample_IV_size); - EXPECT_EQ(16, tenc.default_constant_IV_size); - EXPECT_EQ(0x61, tenc.default_KID[0]); - EXPECT_EQ(0x70, tenc.default_KID[15]); - EXPECT_EQ(0x71, tenc.default_constant_IV[0]); - EXPECT_EQ(0x80, tenc.default_constant_IV[15]); + EXPECT_EQ(1, tenc.version_); + EXPECT_EQ(1, tenc.default_crypt_byte_block_); + EXPECT_EQ(9, tenc.default_skip_byte_block_); + EXPECT_EQ(1, tenc.default_is_protected_); + EXPECT_EQ(0, tenc.default_per_sample_IV_size_); + EXPECT_EQ(16, tenc.default_constant_IV_size_); + EXPECT_EQ(0x61, tenc.default_KID_[0]); + EXPECT_EQ(0x70, tenc.default_KID_[15]); + EXPECT_EQ(0x71, tenc.default_constant_IV_[0]); + EXPECT_EQ(0x80, tenc.default_constant_IV_[15]); // Test encoding/decoding char buffer_data[1024]; @@ -459,17 +459,17 @@ VOID TEST(Fmp4Test, SrsMp4TrackEncryptionBox_AudioFullSample) SrsMp4TrackEncryptionBox tenc; // Configure for audio full-sample encryption - tenc.version = 1; - tenc.default_crypt_byte_block = 0; // No pattern (full encryption) - tenc.default_skip_byte_block = 0; // No skip - tenc.default_is_protected = 1; - tenc.default_per_sample_IV_size = 0; // Use constant IV - tenc.default_constant_IV_size = 16; + tenc.version_ = 1; + tenc.default_crypt_byte_block_ = 0; // No pattern (full encryption) + tenc.default_skip_byte_block_ = 0; // No skip + tenc.default_is_protected_ = 1; + tenc.default_per_sample_IV_size_ = 0; // Use constant IV + tenc.default_constant_IV_size_ = 16; // Verify audio encryption configuration - EXPECT_EQ(0, tenc.default_crypt_byte_block); - EXPECT_EQ(0, tenc.default_skip_byte_block); - EXPECT_EQ(1, tenc.default_is_protected); + EXPECT_EQ(0, tenc.default_crypt_byte_block_); + EXPECT_EQ(0, tenc.default_skip_byte_block_); + EXPECT_EQ(1, tenc.default_is_protected_); } VOID TEST(Fmp4Test, SrsMp4SampleEncryptionBox_Basic) @@ -479,8 +479,8 @@ VOID TEST(Fmp4Test, SrsMp4SampleEncryptionBox_Basic) SrsMp4SampleEncryptionBox senc(16); // 16-byte IV size // Test basic properties - flags may be set by constructor - EXPECT_EQ(0, senc.version); - EXPECT_EQ(0, (int)senc.entries.size()); + EXPECT_EQ(0, senc.version_); + EXPECT_EQ(0, (int)senc.entries_.size()); // Test encoding empty box char buffer_data[1024]; @@ -503,10 +503,10 @@ VOID TEST(Fmp4Test, SrsMp4SampleAuxiliaryInfoSizeBox_Basic) SrsMp4SampleAuxiliaryInfoSizeBox saiz; // Configure SAIZ box - saiz.version = 0; - saiz.flags = 0; - saiz.default_sample_info_size = 16; // 16-byte IV - saiz.sample_count = 0; + saiz.version_ = 0; + saiz.flags_ = 0; + saiz.default_sample_info_size_ = 16; // 16-byte IV + saiz.sample_count_ = 0; // Test encoding char buffer_data[1024]; @@ -529,9 +529,9 @@ VOID TEST(Fmp4Test, SrsMp4SampleAuxiliaryInfoOffsetBox_Basic) SrsMp4SampleAuxiliaryInfoOffsetBox saio; // Configure SAIO box - saio.version = 0; - saio.flags = 0; - saio.offsets.push_back(100); // Offset to SENC box + saio.version_ = 0; + saio.flags_ = 0; + saio.offsets_.push_back(100); // Offset to SENC box // Test encoding char buffer_data[1024]; @@ -763,10 +763,10 @@ VOID TEST(Fmp4Test, CodecDetection_AudioCodecUpdate) // Create mock format with AAC audio codec MockSrsFormat fmt; - fmt.acodec = new SrsAudioCodecConfig(); - fmt.acodec->id = SrsAudioCodecIdAAC; - fmt.audio = new SrsParsedAudioPacket(); - fmt.audio->codec = fmt.acodec; + fmt.acodec_ = new SrsAudioCodecConfig(); + fmt.acodec_->id_ = SrsAudioCodecIdAAC; + fmt.audio_ = new SrsParsedAudioPacket(); + fmt.audio_->codec_ = fmt.acodec_; // Initial codec should be forbidden (not set) EXPECT_EQ(SrsAudioCodecIdForbidden, controller.muxer_->latest_acodec()); @@ -779,15 +779,15 @@ VOID TEST(Fmp4Test, CodecDetection_AudioCodecUpdate) EXPECT_EQ(SrsAudioCodecIdAAC, controller.muxer_->latest_acodec()); // Test codec change from AAC to MP3 - fmt.acodec->id = SrsAudioCodecIdMP3; + fmt.acodec_->id_ = SrsAudioCodecIdMP3; HELPER_ASSERT_SUCCESS(controller.write_audio(&audio_msg, &fmt)); // Codec should now be updated to MP3 EXPECT_EQ(SrsAudioCodecIdMP3, controller.muxer_->latest_acodec()); controller.dispose(); - srs_freep(fmt.acodec); - srs_freep(fmt.audio); + srs_freep(fmt.acodec_); + srs_freep(fmt.audio_); } VOID TEST(Fmp4Test, CodecDetection_VideoCodecUpdate) @@ -802,10 +802,10 @@ VOID TEST(Fmp4Test, CodecDetection_VideoCodecUpdate) // Create mock format with H.264 video codec MockSrsFormat fmt; - fmt.vcodec = new SrsVideoCodecConfig(); - fmt.vcodec->id = SrsVideoCodecIdAVC; - fmt.video = new SrsParsedVideoPacket(); - fmt.video->codec = fmt.vcodec; + fmt.vcodec_ = new SrsVideoCodecConfig(); + fmt.vcodec_->id_ = SrsVideoCodecIdAVC; + fmt.video_ = new SrsParsedVideoPacket(); + fmt.video_->codec_ = fmt.vcodec_; // Initial codec should be forbidden (not set) EXPECT_EQ(SrsVideoCodecIdForbidden, controller.muxer_->latest_vcodec()); @@ -818,15 +818,15 @@ VOID TEST(Fmp4Test, CodecDetection_VideoCodecUpdate) EXPECT_EQ(SrsVideoCodecIdAVC, controller.muxer_->latest_vcodec()); // Test codec change from H.264 to HEVC - fmt.vcodec->id = SrsVideoCodecIdHEVC; + fmt.vcodec_->id_ = SrsVideoCodecIdHEVC; HELPER_ASSERT_SUCCESS(controller.write_video(&video_msg, &fmt)); // Codec should now be updated to HEVC EXPECT_EQ(SrsVideoCodecIdHEVC, controller.muxer_->latest_vcodec()); controller.dispose(); - srs_freep(fmt.vcodec); - srs_freep(fmt.video); + srs_freep(fmt.vcodec_); + srs_freep(fmt.video_); } VOID TEST(Fmp4Test, Performance_MultipleSegments) diff --git a/trunk/src/utest/srs_utest_gb28181.cpp b/trunk/src/utest/srs_utest_gb28181.cpp index ac0eaf5f8..37c15e6ca 100644 --- a/trunk/src/utest/srs_utest_gb28181.cpp +++ b/trunk/src/utest/srs_utest_gb28181.cpp @@ -327,7 +327,7 @@ VOID TEST(KernelPSTest, PsPacketDecodeRegularMessage) HELPER_ASSERT_SUCCESS(rtp.decode(&b2)); SrsRtpRawPayload *rtp_raw = dynamic_cast(rtp.payload()); - SrsBuffer b((char *)rtp_raw->payload, rtp_raw->nn_payload); + SrsBuffer b((char *)rtp_raw->payload_, rtp_raw->nn_payload_); // Should be success, for recover mode. HELPER_ASSERT_SUCCESS(context.decode(&b, &handler)); @@ -335,8 +335,8 @@ VOID TEST(KernelPSTest, PsPacketDecodeRegularMessage) EXPECT_EQ(0, context.recover_); SrsTsMessage *m = handler.msgs_.front(); - EXPECT_EQ(SrsTsPESStreamIdAudioCommon, m->sid); - EXPECT_EQ(100, m->PES_packet_length); + EXPECT_EQ(SrsTsPESStreamIdAudioCommon, m->sid_); + EXPECT_EQ(100, m->PES_packet_length_); } VOID TEST(KernelPSTest, PsPacketDecodeRegularMessage2) @@ -366,8 +366,8 @@ VOID TEST(KernelPSTest, PsPacketDecodeRegularMessage2) EXPECT_EQ(0, context.recover_); SrsTsMessage *m = handler.msgs_.front(); - EXPECT_EQ(SrsTsPESStreamIdAudioCommon, m->sid); - EXPECT_EQ(100, m->PES_packet_length); + EXPECT_EQ(SrsTsPESStreamIdAudioCommon, m->sid_); + EXPECT_EQ(100, m->PES_packet_length_); } VOID TEST(KernelPSTest, PsPacketDecodeRegularMessage3) @@ -397,8 +397,8 @@ VOID TEST(KernelPSTest, PsPacketDecodeRegularMessage3) EXPECT_EQ(0, context.recover_); SrsTsMessage *m = handler.msgs_.front(); - EXPECT_EQ(SrsTsPESStreamIdAudioCommon, m->sid); - EXPECT_EQ(100, m->PES_packet_length); + EXPECT_EQ(SrsTsPESStreamIdAudioCommon, m->sid_); + EXPECT_EQ(100, m->PES_packet_length_); } VOID TEST(KernelPSTest, PsPacketDecodeInvalidStartCode) @@ -446,8 +446,8 @@ VOID TEST(KernelPSTest, PsPacketDecodeInvalidStartCode) EXPECT_EQ(0, context.recover_); SrsTsMessage *last = context.ctx_.last_; - ASSERT_EQ(65472, last->PES_packet_length); - ASSERT_EQ(1156, last->payload->length()); + ASSERT_EQ(65472, last->PES_packet_length_); + ASSERT_EQ(1156, last->payload_->length()); } // Seq 31814 to 31858, 45*1400=63000, left is 65472-1156-63000=1316 bytes in next packet(seq=31859). @@ -460,13 +460,13 @@ VOID TEST(KernelPSTest, PsPacketDecodeInvalidStartCode) EXPECT_EQ(0, context.recover_); SrsTsMessage *last = context.ctx_.last_; - ASSERT_EQ(65472, last->PES_packet_length); - ASSERT_EQ(1156 + 1400 * (i + 1), last->payload->length()); + ASSERT_EQ(65472, last->PES_packet_length_); + ASSERT_EQ(1156 + 1400 * (i + 1), last->payload_->length()); } if (true) { SrsTsMessage *last = context.ctx_.last_; - ASSERT_EQ(65472, last->PES_packet_length); - ASSERT_EQ(64156, last->payload->length()); + ASSERT_EQ(65472, last->PES_packet_length_); + ASSERT_EQ(64156, last->payload_->length()); } // PT=DynamicRTP-Type-96, SSRC=0xBEBD135, Seq=31859, Time=95648400 [TCP segment of a reassembled PDU] @@ -488,8 +488,8 @@ VOID TEST(KernelPSTest, PsPacketDecodeInvalidStartCode) EXPECT_EQ(0, context.recover_); SrsTsMessage *last = context.ctx_.last_; - ASSERT_EQ(65472, last->PES_packet_length); - ASSERT_EQ(72, last->payload->length()); + ASSERT_EQ(65472, last->PES_packet_length_); + ASSERT_EQ(72, last->payload_->length()); } // Seq 31860 to 31905, 46*1400=64400, left is 65472-72-64400=1000 bytes in next packet(seq=31906). @@ -502,13 +502,13 @@ VOID TEST(KernelPSTest, PsPacketDecodeInvalidStartCode) EXPECT_EQ(0, context.recover_); SrsTsMessage *last = context.ctx_.last_; - ASSERT_EQ(65472, last->PES_packet_length); - ASSERT_EQ(72 + 1400 * (i + 1), last->payload->length()); + ASSERT_EQ(65472, last->PES_packet_length_); + ASSERT_EQ(72 + 1400 * (i + 1), last->payload_->length()); } if (true) { SrsTsMessage *last = context.ctx_.last_; - ASSERT_EQ(65472, last->PES_packet_length); - ASSERT_EQ(64472, last->payload->length()); + ASSERT_EQ(65472, last->PES_packet_length_); + ASSERT_EQ(64472, last->payload_->length()); } // PT=DynamicRTP-Type-96, SSRC=0xBEBD135, Seq=31906, Time=95648400 [TCP segment of a reassembled PDU] @@ -527,8 +527,8 @@ VOID TEST(KernelPSTest, PsPacketDecodeInvalidStartCode) EXPECT_EQ(0, context.recover_); SrsTsMessage *last = context.ctx_.last_; - ASSERT_EQ(10172, last->PES_packet_length); - ASSERT_EQ(388, last->payload->length()); + ASSERT_EQ(10172, last->PES_packet_length_); + ASSERT_EQ(388, last->payload_->length()); } // Seq 31907 to 31912, 6*1400=8400, left is 10172-388-8400=1384 bytes in next packet(seq=31913). @@ -541,13 +541,13 @@ VOID TEST(KernelPSTest, PsPacketDecodeInvalidStartCode) EXPECT_EQ(0, context.recover_); SrsTsMessage *last = context.ctx_.last_; - ASSERT_EQ(10172, last->PES_packet_length); - ASSERT_EQ(388 + 1400 * (i + 1), last->payload->length()); + ASSERT_EQ(10172, last->PES_packet_length_); + ASSERT_EQ(388 + 1400 * (i + 1), last->payload_->length()); } if (true) { SrsTsMessage *last = context.ctx_.last_; - ASSERT_EQ(10172, last->PES_packet_length); - ASSERT_EQ(8788, last->payload->length()); + ASSERT_EQ(10172, last->PES_packet_length_); + ASSERT_EQ(8788, last->payload_->length()); } // PT=DynamicRTP-Type-96, SSRC=0xBEBD135, Seq=31913, Time=95648400 @@ -565,8 +565,8 @@ VOID TEST(KernelPSTest, PsPacketDecodeInvalidStartCode) EXPECT_EQ(0, context.recover_); SrsTsMessage *last = context.ctx_.last_; - ASSERT_EQ(96, last->PES_packet_length); - ASSERT_EQ(0, last->payload->length()); + ASSERT_EQ(96, last->PES_packet_length_); + ASSERT_EQ(0, last->payload_->length()); } // Seq 31914, 96 bytes diff --git a/trunk/src/utest/srs_utest_hevc_structs.cpp b/trunk/src/utest/srs_utest_hevc_structs.cpp new file mode 100644 index 000000000..e8d09be3b --- /dev/null +++ b/trunk/src/utest/srs_utest_hevc_structs.cpp @@ -0,0 +1,101 @@ +#include + +#include + +VOID TEST(HevcStructsTest, SrsHevcProfileTierLevel_FieldNaming) +{ + // Test that all fields follow SRS naming convention (ending with underscore) + SrsHevcProfileTierLevel ptl; + + // Test basic field access - these should compile without errors + ptl.general_profile_space_ = 1; + ptl.general_tier_flag_ = 0; + ptl.general_profile_idc_ = 2; + ptl.general_profile_compatibility_flag_[0] = 1; + ptl.general_progressive_source_flag_ = 1; + ptl.general_interlaced_source_flag_ = 0; + ptl.general_non_packed_constraint_flag_ = 1; + ptl.general_frame_only_constraint_flag_ = 0; + ptl.general_max_12bit_constraint_flag_ = 1; + ptl.general_max_10bit_constraint_flag_ = 0; + ptl.general_max_8bit_constraint_flag_ = 1; + ptl.general_max_422chroma_constraint_flag_ = 0; + ptl.general_max_420chroma_constraint_flag_ = 1; + ptl.general_max_monochrome_constraint_flag_ = 0; + ptl.general_intra_constraint_flag_ = 1; + ptl.general_one_picture_only_constraint_flag_ = 0; + ptl.general_lower_bit_rate_constraint_flag_ = 1; + ptl.general_max_14bit_constraint_flag_ = 0; + ptl.general_reserved_zero_7bits_ = 0; + ptl.general_reserved_zero_33bits_ = 0; + ptl.general_reserved_zero_34bits_ = 0; + ptl.general_reserved_zero_35bits_ = 0; + ptl.general_reserved_zero_43bits_ = 0; + ptl.general_inbld_flag_ = 1; + ptl.general_reserved_zero_bit_ = 0; + ptl.general_level_idc_ = 93; + ptl.reserved_zero_2bits_[0] = 0; + + // Test vector fields + ptl.sub_layer_profile_present_flag_.resize(1); + ptl.sub_layer_level_present_flag_.resize(1); + ptl.sub_layer_profile_space_.resize(1); + ptl.sub_layer_tier_flag_.resize(1); + ptl.sub_layer_profile_idc_.resize(1); + ptl.sub_layer_profile_compatibility_flag_.resize(1); + ptl.sub_layer_progressive_source_flag_.resize(1); + ptl.sub_layer_interlaced_source_flag_.resize(1); + ptl.sub_layer_non_packed_constraint_flag_.resize(1); + ptl.sub_layer_frame_only_constraint_flag_.resize(1); + ptl.sub_layer_max_12bit_constraint_flag_.resize(1); + ptl.sub_layer_max_10bit_constraint_flag_.resize(1); + ptl.sub_layer_max_8bit_constraint_flag_.resize(1); + ptl.sub_layer_max_422chroma_constraint_flag_.resize(1); + ptl.sub_layer_max_420chroma_constraint_flag_.resize(1); + ptl.sub_layer_max_monochrome_constraint_flag_.resize(1); + ptl.sub_layer_intra_constraint_flag_.resize(1); + ptl.sub_layer_one_picture_only_constraint_flag_.resize(1); + ptl.sub_layer_lower_bit_rate_constraint_flag_.resize(1); + ptl.sub_layer_reserved_zero_7bits_.resize(1); + ptl.sub_layer_reserved_zero_33bits_.resize(1); + ptl.sub_layer_reserved_zero_34bits_.resize(1); + ptl.sub_layer_reserved_zero_35bits_.resize(1); + ptl.sub_layer_reserved_zero_43bits_.resize(1); + ptl.sub_layer_inbld_flag_.resize(1); + ptl.sub_layer_reserved_zero_bit_.resize(1); + ptl.sub_layer_level_idc_.resize(1); + + // Verify values were set correctly + EXPECT_EQ(1, ptl.general_profile_space_); + EXPECT_EQ(0, ptl.general_tier_flag_); + EXPECT_EQ(2, ptl.general_profile_idc_); + EXPECT_EQ(1, ptl.general_profile_compatibility_flag_[0]); + EXPECT_EQ(93, ptl.general_level_idc_); + EXPECT_EQ(1, ptl.sub_layer_profile_present_flag_.size()); +} + +VOID TEST(HevcStructsTest, SrsHevcSubLayerHrdParameters_FieldNaming) +{ + // Test that SrsHevcSubLayerHrdParameters already has correct naming + SrsHevcSubLayerHrdParameters params; + + // Test field access - these should compile without errors + params.bit_rate_value_minus1_.resize(1); + params.cpb_size_value_minus1_.resize(1); + params.cpb_size_du_value_minus1_.resize(1); + params.bit_rate_du_value_minus1_.resize(1); + params.cbr_flag_.resize(1); + + params.bit_rate_value_minus1_[0] = 1000; + params.cpb_size_value_minus1_[0] = 2000; + params.cpb_size_du_value_minus1_[0] = 3000; + params.bit_rate_du_value_minus1_[0] = 4000; + params.cbr_flag_[0] = 1; + + // Verify values were set correctly + EXPECT_EQ(1000, params.bit_rate_value_minus1_[0]); + EXPECT_EQ(2000, params.cpb_size_value_minus1_[0]); + EXPECT_EQ(3000, params.cpb_size_du_value_minus1_[0]); + EXPECT_EQ(4000, params.bit_rate_du_value_minus1_[0]); + EXPECT_EQ(1, params.cbr_flag_[0]); +} diff --git a/trunk/src/utest/srs_utest_hevc_structs.hpp b/trunk/src/utest/srs_utest_hevc_structs.hpp new file mode 100644 index 000000000..04d3106c0 --- /dev/null +++ b/trunk/src/utest/srs_utest_hevc_structs.hpp @@ -0,0 +1,9 @@ +#ifndef SRS_UTEST_HEVC_STRUCTS_HPP +#define SRS_UTEST_HEVC_STRUCTS_HPP + +/* +#include +*/ +#include + +#endif diff --git a/trunk/src/utest/srs_utest_kernel.cpp b/trunk/src/utest/srs_utest_kernel.cpp index 5a81d6c43..c8a974c80 100644 --- a/trunk/src/utest/srs_utest_kernel.cpp +++ b/trunk/src/utest/srs_utest_kernel.cpp @@ -16,6 +16,7 @@ using namespace std; #include #include #include +#include #include #include #include @@ -469,8 +470,8 @@ void mock_print_mp4(string data) } SrsMp4DumpContext ctx; - ctx.level = 1; - ctx.summary = true; + ctx.level_ = 1; + ctx.summary_ = true; stringstream ss; fprintf(stderr, "%s", box->dumps(ss, ctx).str().c_str()); @@ -3177,6 +3178,59 @@ VOID TEST(KernelErrorTest, CoverAll) } } +VOID TEST(KernelErrorTest, FieldNamingConvention) +{ + srs_error_t err; + + // Test that SrsCplxError fields follow the naming convention (ending with underscore) + // This test verifies that the field renaming was successful + if (true) { + err = srs_error_new(ERROR_SOCKET_READ, "test error message"); + EXPECT_TRUE(err != NULL); + + // Test error code access + EXPECT_EQ(ERROR_SOCKET_READ, srs_error_code(err)); + + // Test error description contains expected information + std::string desc = srs_error_desc(err); + EXPECT_TRUE(desc.find("test error message") != std::string::npos); + EXPECT_TRUE(desc.find("code=") != std::string::npos); + + srs_freep(err); + } + + // Test error wrapping functionality + if (true) { + srs_error_t inner_err = srs_error_new(ERROR_SOCKET_WRITE, "inner error"); + err = srs_error_wrap(inner_err, "wrapped error"); + + EXPECT_TRUE(err != NULL); + EXPECT_EQ(ERROR_SOCKET_WRITE, srs_error_code(err)); + + std::string desc = srs_error_desc(err); + EXPECT_TRUE(desc.find("wrapped error") != std::string::npos); + EXPECT_TRUE(desc.find("inner error") != std::string::npos); + + srs_freep(err); + } + + // Test error copy functionality + if (true) { + srs_error_t original = srs_error_new(ERROR_SOCKET_TIMEOUT, "timeout error"); + srs_error_t copied = srs_error_copy(original); + + EXPECT_TRUE(original != copied); + EXPECT_EQ(srs_error_code(original), srs_error_code(copied)); + + std::string original_desc = srs_error_desc(original); + std::string copied_desc = srs_error_desc(copied); + EXPECT_EQ(original_desc, copied_desc); + + srs_freep(original); + srs_freep(copied); + } +} + VOID TEST(KernelAACTest, TransmaxRTMP2AAC) { srs_error_t err; @@ -3208,7 +3262,7 @@ VOID TEST(KernelAACTest, TransmaxRTMP2AAC) EXPECT_TRUE(ERROR_AAC_DECODE_ERROR == srs_error_code(err)); srs_freep(err); - EXPECT_TRUE(!m.got_sequence_header); + EXPECT_TRUE(!m.got_sequence_header_); } if (true) { @@ -3223,9 +3277,9 @@ VOID TEST(KernelAACTest, TransmaxRTMP2AAC) err = m.write_audio(0, (char *)"\xaf\x00\x12\x10", 4); HELPER_EXPECT_SUCCESS(err); - EXPECT_TRUE(m.got_sequence_header); - EXPECT_EQ(44100, srs_aac_srates[m.aac_sample_rate]); - EXPECT_EQ(2, m.aac_channels); + EXPECT_TRUE(m.got_sequence_header_); + EXPECT_EQ(44100, srs_aac_srates[m.aac_sample_rate_]); + EXPECT_EQ(2, m.aac_channels_); err = m.write_audio(0, (char *)"\xaf\x01\xcb", 3); HELPER_EXPECT_SUCCESS(err); @@ -3253,9 +3307,9 @@ VOID TEST(KernelAACTest, TransmaxRTMP2AAC) err = m.write_audio(0, (char *)"\xaf\x00\x12\x10", 4); HELPER_EXPECT_SUCCESS(err); - EXPECT_TRUE(m.got_sequence_header); - EXPECT_EQ(44100, srs_aac_srates[m.aac_sample_rate]); - EXPECT_EQ(2, m.aac_channels); + EXPECT_TRUE(m.got_sequence_header_); + EXPECT_EQ(44100, srs_aac_srates[m.aac_sample_rate_]); + EXPECT_EQ(2, m.aac_channels_); f.error_offset = 6; @@ -3275,9 +3329,9 @@ VOID TEST(KernelAACTest, TransmaxRTMP2AAC) err = m.write_audio(0, (char *)"\xaf\x00\x12\x10", 4); HELPER_EXPECT_SUCCESS(err); - EXPECT_TRUE(m.got_sequence_header); - EXPECT_EQ(44100, srs_aac_srates[m.aac_sample_rate]); - EXPECT_EQ(2, m.aac_channels); + EXPECT_TRUE(m.got_sequence_header_); + EXPECT_EQ(44100, srs_aac_srates[m.aac_sample_rate_]); + EXPECT_EQ(2, m.aac_channels_); f.error_offset = 7; @@ -3290,8 +3344,8 @@ VOID TEST(KernelLBRRTest, CoverAll) { if (true) { SrsLbRoundRobin lb; - EXPECT_EQ(0, (int)lb.count); - EXPECT_EQ(-1, lb.index); + EXPECT_EQ(0, (int)lb.count_); + EXPECT_EQ(-1, lb.index_); EXPECT_EQ(-1, (int)lb.current()); EXPECT_TRUE("" == lb.selected()); } @@ -3794,13 +3848,13 @@ VOID TEST(KernelCodecTest, CoverAll) SrsAudioCodecConfig acc; EXPECT_TRUE(!acc.is_aac_codec_ok()); - acc.aac_extra_data.push_back('\xff'); + acc.aac_extra_data_.push_back('\xff'); EXPECT_TRUE(acc.is_aac_codec_ok()); SrsVideoCodecConfig vcc; EXPECT_TRUE(!vcc.is_avc_codec_ok()); - vcc.avc_extra_data.push_back('\xff'); + vcc.avc_extra_data_.push_back('\xff'); EXPECT_TRUE(vcc.is_avc_codec_ok()); } } @@ -3817,25 +3871,25 @@ VOID TEST(KernelCodecTest, AVFrame) EXPECT_TRUE(f.acodec() != NULL); HELPER_EXPECT_SUCCESS(f.add_sample((char *)1, 10)); - EXPECT_TRUE((char *)1 == f.samples[0].bytes); - EXPECT_TRUE(10 == f.samples[0].size); - EXPECT_TRUE(1 == f.nb_samples); + EXPECT_TRUE((char *)1 == f.samples_[0].bytes_); + EXPECT_TRUE(10 == f.samples_[0].size_); + EXPECT_TRUE(1 == f.nb_samples_); HELPER_EXPECT_SUCCESS(f.add_sample((char *)2, 20)); - EXPECT_TRUE((char *)2 == f.samples[1].bytes); - EXPECT_TRUE(20 == f.samples[1].size); - EXPECT_TRUE(2 == f.nb_samples); + EXPECT_TRUE((char *)2 == f.samples_[1].bytes_); + EXPECT_TRUE(20 == f.samples_[1].size_); + EXPECT_TRUE(2 == f.nb_samples_); } if (true) { SrsParsedAudioPacket f; - EXPECT_TRUE(0 == f.nb_samples); + EXPECT_TRUE(0 == f.nb_samples_); HELPER_EXPECT_SUCCESS(f.add_sample((char *)1, 0)); - EXPECT_TRUE(0 == f.nb_samples); + EXPECT_TRUE(0 == f.nb_samples_); HELPER_EXPECT_SUCCESS(f.add_sample(NULL, 1)); - EXPECT_TRUE(0 == f.nb_samples); + EXPECT_TRUE(0 == f.nb_samples_); } if (true) { @@ -3856,8 +3910,8 @@ VOID TEST(KernelCodecTest, AVFrame) EXPECT_TRUE(f.vcodec() != NULL); HELPER_EXPECT_SUCCESS(f.add_sample((char *)"\x05", 1)); - EXPECT_TRUE(f.has_idr == true); - EXPECT_TRUE(f.first_nalu_type == SrsAvcNaluTypeIDR); + EXPECT_TRUE(f.has_idr_ == true); + EXPECT_TRUE(f.first_nalu_type_ == SrsAvcNaluTypeIDR); } if (true) { @@ -3868,7 +3922,7 @@ VOID TEST(KernelCodecTest, AVFrame) EXPECT_TRUE(f.vcodec() != NULL); HELPER_EXPECT_SUCCESS(f.add_sample((char *)"\x07", 1)); - EXPECT_TRUE(f.has_sps_pps == true); + EXPECT_TRUE(f.has_sps_pps_ == true); } if (true) { @@ -3879,7 +3933,7 @@ VOID TEST(KernelCodecTest, AVFrame) EXPECT_TRUE(f.vcodec() != NULL); HELPER_EXPECT_SUCCESS(f.add_sample((char *)"\x08", 1)); - EXPECT_TRUE(f.has_sps_pps == true); + EXPECT_TRUE(f.has_sps_pps_ == true); } if (true) { @@ -3890,7 +3944,7 @@ VOID TEST(KernelCodecTest, AVFrame) EXPECT_TRUE(f.vcodec() != NULL); HELPER_EXPECT_SUCCESS(f.add_sample((char *)"\x09", 1)); - EXPECT_TRUE(f.has_aud == true); + EXPECT_TRUE(f.has_aud_ == true); } if (true) { @@ -4376,14 +4430,14 @@ VOID TEST(KernelCodecTest, IsSequenceHeaderSpecial) SrsFormat f; EXPECT_FALSE(f.is_avc_sequence_header()); - f.vcodec = new SrsVideoCodecConfig(); - f.video = new SrsParsedVideoPacket(); + f.vcodec_ = new SrsVideoCodecConfig(); + f.video_ = new SrsParsedVideoPacket(); EXPECT_FALSE(f.is_avc_sequence_header()); - f.vcodec->id = SrsVideoCodecIdAVC; + f.vcodec_->id_ = SrsVideoCodecIdAVC; EXPECT_FALSE(f.is_avc_sequence_header()); - f.video->avc_packet_type = SrsVideoAvcFrameTraitSequenceHeader; + f.video_->avc_packet_type_ = SrsVideoAvcFrameTraitSequenceHeader; EXPECT_TRUE(f.is_avc_sequence_header()); } @@ -4391,17 +4445,17 @@ VOID TEST(KernelCodecTest, IsSequenceHeaderSpecial) SrsFormat f; EXPECT_FALSE(f.is_avc_sequence_header()); - f.vcodec = new SrsVideoCodecConfig(); - f.video = new SrsParsedVideoPacket(); + f.vcodec_ = new SrsVideoCodecConfig(); + f.video_ = new SrsParsedVideoPacket(); EXPECT_FALSE(f.is_avc_sequence_header()); - f.vcodec->id = SrsVideoCodecIdHEVC; + f.vcodec_->id_ = SrsVideoCodecIdHEVC; EXPECT_FALSE(f.is_avc_sequence_header()); - f.vcodec->id = SrsVideoCodecIdAV1; + f.vcodec_->id_ = SrsVideoCodecIdAV1; EXPECT_FALSE(f.is_avc_sequence_header()); - f.video->avc_packet_type = SrsVideoAvcFrameTraitSequenceHeader; + f.video_->avc_packet_type_ = SrsVideoAvcFrameTraitSequenceHeader; EXPECT_TRUE(f.is_avc_sequence_header()); } } @@ -4424,16 +4478,16 @@ VOID TEST(KernelCodecTest, AudioFormat) SrsFormat f; HELPER_EXPECT_SUCCESS(f.initialize()); HELPER_EXPECT_SUCCESS(f.on_audio(0, (char *)"\x20", 1)); - EXPECT_TRUE(0 == f.nb_raw); - EXPECT_TRUE(0 == f.audio->nb_samples); + EXPECT_TRUE(0 == f.nb_raw_); + EXPECT_TRUE(0 == f.audio_->nb_samples_); HELPER_EXPECT_SUCCESS(f.on_audio(0, (char *)"\x20\x00", 2)); - EXPECT_TRUE(1 == f.nb_raw); - EXPECT_TRUE(1 == f.audio->nb_samples); + EXPECT_TRUE(1 == f.nb_raw_); + EXPECT_TRUE(1 == f.audio_->nb_samples_); HELPER_EXPECT_SUCCESS(f.on_audio(0, (char *)"\x20\x00\x00", 3)); - EXPECT_TRUE(2 == f.nb_raw); - EXPECT_TRUE(1 == f.audio->nb_samples); + EXPECT_TRUE(2 == f.nb_raw_); + EXPECT_TRUE(1 == f.audio_->nb_samples_); } // For AAC @@ -4444,46 +4498,46 @@ VOID TEST(KernelCodecTest, AudioFormat) HELPER_EXPECT_SUCCESS(f.on_audio(0, (char *)"\xaf\x00\x12\x10", 4)); HELPER_EXPECT_SUCCESS(f.on_audio(0, (char *)"\xa0\x01", 2)); - EXPECT_TRUE(0 == f.nb_raw); - EXPECT_TRUE(0 == f.audio->nb_samples); + EXPECT_TRUE(0 == f.nb_raw_); + EXPECT_TRUE(0 == f.audio_->nb_samples_); HELPER_EXPECT_SUCCESS(f.on_audio(0, (char *)"\xa0\x01\x00", 3)); - EXPECT_TRUE(1 == f.nb_raw); - EXPECT_TRUE(1 == f.audio->nb_samples); + EXPECT_TRUE(1 == f.nb_raw_); + EXPECT_TRUE(1 == f.audio_->nb_samples_); } if (true) { SrsFormat f; HELPER_EXPECT_SUCCESS(f.initialize()); HELPER_EXPECT_SUCCESS(f.on_audio(0, (char *)"\xaf\x00\x12\x10", 4)); - EXPECT_EQ(SrsAudioAacFrameTraitSequenceHeader, f.audio->aac_packet_type); - EXPECT_EQ(2, f.acodec->aac_channels); - EXPECT_EQ(4, f.acodec->aac_sample_rate); - EXPECT_EQ(2, f.acodec->aac_object); + EXPECT_EQ(SrsAudioAacFrameTraitSequenceHeader, f.audio_->aac_packet_type_); + EXPECT_EQ(2, f.acodec_->aac_channels_); + EXPECT_EQ(4, f.acodec_->aac_sample_rate_); + EXPECT_EQ(2, f.acodec_->aac_object_); - EXPECT_EQ(SrsAudioChannelsStereo, f.acodec->sound_type); - EXPECT_EQ(SrsAudioSampleRate44100, f.acodec->sound_rate); - EXPECT_EQ(SrsAudioSampleBits16bit, f.acodec->sound_size); + EXPECT_EQ(SrsAudioChannelsStereo, f.acodec_->sound_type_); + EXPECT_EQ(SrsAudioSampleRate44100, f.acodec_->sound_rate_); + EXPECT_EQ(SrsAudioSampleBits16bit, f.acodec_->sound_size_); HELPER_EXPECT_SUCCESS(f.on_audio(0, (char *)"\xaf\x01\x00", 3)); - EXPECT_EQ(SrsAudioAacFrameTraitRawData, f.audio->aac_packet_type); - EXPECT_EQ(1, f.audio->nb_samples); + EXPECT_EQ(SrsAudioAacFrameTraitRawData, f.audio_->aac_packet_type_); + EXPECT_EQ(1, f.audio_->nb_samples_); } if (true) { SrsFormat f; HELPER_EXPECT_SUCCESS(f.initialize()); HELPER_EXPECT_SUCCESS(f.on_audio(0, (char *)"\xaf\x00\x13\x90", 4)); - EXPECT_EQ(SrsAudioAacFrameTraitSequenceHeader, f.audio->aac_packet_type); - EXPECT_EQ(7, f.acodec->aac_sample_rate); + EXPECT_EQ(SrsAudioAacFrameTraitSequenceHeader, f.audio_->aac_packet_type_); + EXPECT_EQ(7, f.acodec_->aac_sample_rate_); } if (true) { SrsFormat f; HELPER_EXPECT_SUCCESS(f.initialize()); HELPER_EXPECT_SUCCESS(f.on_audio(0, (char *)"\xaf\x00\x15\x10", 4)); - EXPECT_EQ(SrsAudioAacFrameTraitSequenceHeader, f.audio->aac_packet_type); - EXPECT_EQ(10, f.acodec->aac_sample_rate); + EXPECT_EQ(SrsAudioAacFrameTraitSequenceHeader, f.audio_->aac_packet_type_); + EXPECT_EQ(10, f.acodec_->aac_sample_rate_); } if (true) { @@ -4525,16 +4579,16 @@ VOID TEST(KernelCodecTest, AudioFormat) if (true) { SrsFormat f; HELPER_EXPECT_SUCCESS(f.on_aac_sequence_header((char *)"\x12\x10", 2)); - EXPECT_EQ(2, f.acodec->aac_channels); - EXPECT_EQ(4, f.acodec->aac_sample_rate); - EXPECT_EQ(2, f.acodec->aac_object); + EXPECT_EQ(2, f.acodec_->aac_channels_); + EXPECT_EQ(4, f.acodec_->aac_sample_rate_); + EXPECT_EQ(2, f.acodec_->aac_object_); } if (true) { SrsFormat f; HELPER_EXPECT_SUCCESS(f.initialize()); HELPER_EXPECT_SUCCESS(f.on_audio(0, (char *)"\xaf\x00\x12\x10", 4)); - EXPECT_EQ(SrsAudioAacFrameTraitSequenceHeader, f.audio->aac_packet_type); + EXPECT_EQ(SrsAudioAacFrameTraitSequenceHeader, f.audio_->aac_packet_type_); EXPECT_TRUE(f.is_aac_sequence_header()); EXPECT_TRUE(!f.is_avc_sequence_header()); } @@ -4808,17 +4862,17 @@ VOID TEST(KernelCodecTest, VideoFormat) HELPER_EXPECT_SUCCESS(f.initialize()); HELPER_EXPECT_SUCCESS(f.on_video(0, (char *)spspps, sizeof(spspps))); - EXPECT_EQ(1, f.video->frame_type); - EXPECT_EQ(0, f.video->avc_packet_type); + EXPECT_EQ(1, f.video_->frame_type_); + EXPECT_EQ(0, f.video_->avc_packet_type_); - EXPECT_EQ(768, f.vcodec->width); - EXPECT_EQ(320, f.vcodec->height); + EXPECT_EQ(768, f.vcodec_->width_); + EXPECT_EQ(320, f.vcodec_->height_); HELPER_EXPECT_SUCCESS(f.on_video(0, (char *)rawIBMF, sizeof(rawIBMF))); - EXPECT_EQ(1, f.video->nb_samples); + EXPECT_EQ(1, f.video_->nb_samples_); HELPER_EXPECT_SUCCESS(f.on_video(0, (char *)rawIBMF, sizeof(rawIBMF))); - EXPECT_EQ(1, f.video->nb_samples); + EXPECT_EQ(1, f.video_->nb_samples_); } if (true) { @@ -4826,18 +4880,18 @@ VOID TEST(KernelCodecTest, VideoFormat) HELPER_EXPECT_SUCCESS(f.initialize()); HELPER_EXPECT_SUCCESS(f.on_video(0, (char *)spspps, sizeof(spspps))); - EXPECT_EQ(1, f.video->frame_type); - EXPECT_EQ(0, f.video->avc_packet_type); + EXPECT_EQ(1, f.video_->frame_type_); + EXPECT_EQ(0, f.video_->avc_packet_type_); HELPER_EXPECT_SUCCESS(f.on_video(0, (char *)rawAnnexb, sizeof(rawAnnexb))); - EXPECT_EQ(1, f.video->nb_samples); + EXPECT_EQ(1, f.video_->nb_samples_); HELPER_EXPECT_SUCCESS(f.on_video(0, (char *)rawAnnexb, sizeof(rawAnnexb))); - EXPECT_EQ(1, f.video->nb_samples); + EXPECT_EQ(1, f.video_->nb_samples_); - f.vcodec->payload_format = SrsAvcPayloadFormatAnnexb; + f.vcodec_->payload_format_ = SrsAvcPayloadFormatAnnexb; HELPER_EXPECT_SUCCESS(f.on_video(0, (char *)rawAnnexb, sizeof(rawAnnexb))); - EXPECT_EQ(1, f.video->nb_samples); + EXPECT_EQ(1, f.video_->nb_samples_); } if (true) { @@ -4845,20 +4899,20 @@ VOID TEST(KernelCodecTest, VideoFormat) HELPER_EXPECT_SUCCESS(f.initialize()); HELPER_EXPECT_SUCCESS(f.on_video(0, (char *)spspps, sizeof(spspps))); - EXPECT_EQ(1, f.video->frame_type); - EXPECT_EQ(0, f.video->avc_packet_type); + EXPECT_EQ(1, f.video_->frame_type_); + EXPECT_EQ(0, f.video_->avc_packet_type_); // If force to ANNEXB, other format is failed to parse. - f.vcodec->payload_format = SrsAvcPayloadFormatAnnexb; + f.vcodec_->payload_format_ = SrsAvcPayloadFormatAnnexb; HELPER_EXPECT_FAILED(f.on_video(0, (char *)rawIBMF, sizeof(rawIBMF))); - EXPECT_EQ(0, f.video->nb_samples); + EXPECT_EQ(0, f.video_->nb_samples_); HELPER_EXPECT_SUCCESS(f.on_video(0, (char *)rawAnnexb, sizeof(rawAnnexb))); - EXPECT_EQ(1, f.video->nb_samples); + EXPECT_EQ(1, f.video_->nb_samples_); HELPER_EXPECT_FAILED(f.on_video(0, (char *)rawIBMF, sizeof(rawIBMF))); - EXPECT_EQ(0, f.video->nb_samples); + EXPECT_EQ(0, f.video_->nb_samples_); } } @@ -4944,25 +4998,25 @@ VOID TEST(KernelCodecTest, HevcVideoFormat) // firstly demux sequence header HELPER_EXPECT_SUCCESS(f.on_video(0, (char *)vps_sps_pps, sizeof(vps_sps_pps))); - EXPECT_EQ(1, f.video->frame_type); - EXPECT_EQ(0, f.video->avc_packet_type); - EXPECT_EQ(3, f.vcodec->hevc_dec_conf_record_.nalu_vec.size()); - EXPECT_EQ(1280, f.vcodec->width); - EXPECT_EQ(720, f.vcodec->height); + EXPECT_EQ(1, f.video_->frame_type_); + EXPECT_EQ(0, f.video_->avc_packet_type_); + EXPECT_EQ(3, f.vcodec_->hevc_dec_conf_record_.nalu_vec_.size()); + EXPECT_EQ(1280, f.vcodec_->width_); + EXPECT_EQ(720, f.vcodec_->height_); // secondly demux sequence header HELPER_EXPECT_SUCCESS(f.on_video(0, (char *)vps_sps_pps, sizeof(vps_sps_pps))); - EXPECT_EQ(1, f.video->frame_type); - EXPECT_EQ(0, f.video->avc_packet_type); - EXPECT_EQ(3, f.vcodec->hevc_dec_conf_record_.nalu_vec.size()); - EXPECT_EQ(1280, f.vcodec->width); - EXPECT_EQ(720, f.vcodec->height); + EXPECT_EQ(1, f.video_->frame_type_); + EXPECT_EQ(0, f.video_->avc_packet_type_); + EXPECT_EQ(3, f.vcodec_->hevc_dec_conf_record_.nalu_vec_.size()); + EXPECT_EQ(1280, f.vcodec_->width_); + EXPECT_EQ(720, f.vcodec_->height_); HELPER_EXPECT_SUCCESS(f.on_video(0, (char *)rawIBMF, sizeof(rawIBMF))); - EXPECT_EQ(1, f.video->nb_samples); + EXPECT_EQ(1, f.video_->nb_samples_); HELPER_EXPECT_SUCCESS(f.on_video(0, (char *)rawIBMF, sizeof(rawIBMF))); - EXPECT_EQ(1, f.video->nb_samples); + EXPECT_EQ(1, f.video_->nb_samples_); } // enhanced rtmp @@ -5017,36 +5071,36 @@ VOID TEST(KernelCodecTest, HevcVideoFormat) // firstly demux sequence header HELPER_EXPECT_SUCCESS(f.on_video(0, (char *)ext_vps_sps_pps, sizeof(ext_vps_sps_pps))); - EXPECT_EQ(1, f.video->frame_type); - EXPECT_EQ(0, f.video->avc_packet_type); - EXPECT_EQ(3, f.vcodec->hevc_dec_conf_record_.nalu_vec.size()); - EXPECT_EQ(1280, f.vcodec->width); - EXPECT_EQ(720, f.vcodec->height); + EXPECT_EQ(1, f.video_->frame_type_); + EXPECT_EQ(0, f.video_->avc_packet_type_); + EXPECT_EQ(3, f.vcodec_->hevc_dec_conf_record_.nalu_vec_.size()); + EXPECT_EQ(1280, f.vcodec_->width_); + EXPECT_EQ(720, f.vcodec_->height_); // secondly demux sequence header HELPER_EXPECT_SUCCESS(f.on_video(0, (char *)ext_vps_sps_pps, sizeof(ext_vps_sps_pps))); - EXPECT_EQ(1, f.video->frame_type); - EXPECT_EQ(0, f.video->avc_packet_type); - EXPECT_EQ(3, f.vcodec->hevc_dec_conf_record_.nalu_vec.size()); - EXPECT_EQ(1280, f.vcodec->width); - EXPECT_EQ(720, f.vcodec->height); + EXPECT_EQ(1, f.video_->frame_type_); + EXPECT_EQ(0, f.video_->avc_packet_type_); + EXPECT_EQ(3, f.vcodec_->hevc_dec_conf_record_.nalu_vec_.size()); + EXPECT_EQ(1280, f.vcodec_->width_); + EXPECT_EQ(720, f.vcodec_->height_); HELPER_EXPECT_SUCCESS(f.on_video(0, (char *)ext_rawIBMF, sizeof(ext_rawIBMF))); - EXPECT_EQ(1, f.video->frame_type); - EXPECT_EQ(3, f.video->avc_packet_type); - EXPECT_EQ(1, f.video->nb_samples); + EXPECT_EQ(1, f.video_->frame_type_); + EXPECT_EQ(3, f.video_->avc_packet_type_); + EXPECT_EQ(1, f.video_->nb_samples_); HELPER_EXPECT_SUCCESS(f.on_video(0, (char *)ext_rawIBMF, sizeof(ext_rawIBMF))); - EXPECT_EQ(1, f.video->frame_type); - EXPECT_EQ(3, f.video->avc_packet_type); - EXPECT_EQ(1, f.video->nb_samples); + EXPECT_EQ(1, f.video_->frame_type_); + EXPECT_EQ(3, f.video_->avc_packet_type_); + EXPECT_EQ(1, f.video_->nb_samples_); // check cts HELPER_EXPECT_SUCCESS(f.on_video(0, (char *)ext_rawIBMF1, sizeof(ext_rawIBMF1))); - EXPECT_EQ(1, f.video->frame_type); - EXPECT_EQ(125, f.video->cts); - EXPECT_EQ(1, f.video->avc_packet_type); - EXPECT_EQ(1, f.video->nb_samples); + EXPECT_EQ(1, f.video_->frame_type_); + EXPECT_EQ(125, f.video_->cts_); + EXPECT_EQ(1, f.video_->avc_packet_type_); + EXPECT_EQ(1, f.video_->nb_samples_); } } @@ -5575,33 +5629,33 @@ VOID TEST(KernelFLVTest, CoverAll) if (true) { SrsMessageHeader h; - h.message_type = RTMP_MSG_SetChunkSize; + h.message_type_ = RTMP_MSG_SetChunkSize; EXPECT_TRUE(h.is_set_chunk_size()); - h.message_type = RTMP_MSG_SetPeerBandwidth; + h.message_type_ = RTMP_MSG_SetPeerBandwidth; EXPECT_TRUE(h.is_set_peer_bandwidth()); - h.message_type = RTMP_MSG_AggregateMessage; + h.message_type_ = RTMP_MSG_AggregateMessage; EXPECT_TRUE(h.is_aggregate()); h.initialize_amf0_script(10, 20); - EXPECT_EQ(RTMP_MSG_AMF0DataMessage, h.message_type); - EXPECT_EQ(10, h.payload_length); - EXPECT_EQ(20, h.stream_id); + EXPECT_EQ(RTMP_MSG_AMF0DataMessage, h.message_type_); + EXPECT_EQ(10, h.payload_length_); + EXPECT_EQ(20, h.stream_id_); h.initialize_audio(10, 30, 20); - EXPECT_EQ(RTMP_MSG_AudioMessage, h.message_type); - EXPECT_EQ(10, h.payload_length); - EXPECT_EQ(20, h.stream_id); - EXPECT_EQ(30, h.timestamp_delta); - EXPECT_EQ(30, h.timestamp); + EXPECT_EQ(RTMP_MSG_AudioMessage, h.message_type_); + EXPECT_EQ(10, h.payload_length_); + EXPECT_EQ(20, h.stream_id_); + EXPECT_EQ(30, h.timestamp_delta_); + EXPECT_EQ(30, h.timestamp_); h.initialize_video(10, 30, 20); - EXPECT_EQ(RTMP_MSG_VideoMessage, h.message_type); - EXPECT_EQ(10, h.payload_length); - EXPECT_EQ(20, h.stream_id); - EXPECT_EQ(30, h.timestamp_delta); - EXPECT_EQ(30, h.timestamp); + EXPECT_EQ(RTMP_MSG_VideoMessage, h.message_type_); + EXPECT_EQ(10, h.payload_length_); + EXPECT_EQ(20, h.stream_id_); + EXPECT_EQ(30, h.timestamp_delta_); + EXPECT_EQ(30, h.timestamp_); } if (true) { @@ -5610,11 +5664,11 @@ VOID TEST(KernelFLVTest, CoverAll) SrsRtmpCommonMessage m; HELPER_EXPECT_SUCCESS(m.create(&h, NULL, 0)); - EXPECT_EQ(RTMP_MSG_VideoMessage, m.header.message_type); - EXPECT_EQ(10, m.header.payload_length); - EXPECT_EQ(20, m.header.stream_id); - EXPECT_EQ(30, m.header.timestamp_delta); - EXPECT_EQ(30, m.header.timestamp); + EXPECT_EQ(RTMP_MSG_VideoMessage, m.header_.message_type_); + EXPECT_EQ(10, m.header_.payload_length_); + EXPECT_EQ(20, m.header_.stream_id_); + EXPECT_EQ(30, m.header_.timestamp_delta_); + EXPECT_EQ(30, m.header_.timestamp_); SrsMediaPacket s; m.to_msg(&s); @@ -6148,11 +6202,11 @@ VOID TEST(KernelTSTest, CoverContextUtility) EXPECT_TRUE(!m.is_video()); EXPECT_EQ(-1, m.stream_number()); - m.sid = SrsTsPESStreamId(0x06 << 5 | 0x01); + m.sid_ = SrsTsPESStreamId(0x06 << 5 | 0x01); EXPECT_TRUE(m.is_audio()); EXPECT_EQ(1, m.stream_number()); - m.sid = SrsTsPESStreamId(0x0e << 4 | 0x02); + m.sid_ = SrsTsPESStreamId(0x0e << 4 | 0x02); EXPECT_TRUE(m.is_video()); EXPECT_EQ(2, m.stream_number()); @@ -6161,7 +6215,7 @@ VOID TEST(KernelTSTest, CoverContextUtility) srs_freep(cp); ctx.reset(); - EXPECT_FALSE(ctx.ready); + EXPECT_FALSE(ctx.ready_); } if (true) { @@ -6171,7 +6225,7 @@ VOID TEST(KernelTSTest, CoverContextUtility) SrsTsChannel c; SrsTsMessage m(&c, &p); - m.PES_packet_length = 8; + m.PES_packet_length_ = 8; SrsBuffer b(NULL, 0); int nb_bytes = 0; @@ -6186,7 +6240,7 @@ VOID TEST(KernelTSTest, CoverContextUtility) SrsTsChannel c; SrsTsMessage m(&c, &p); - m.PES_packet_length = 8; + m.PES_packet_length_ = 8; SrsBuffer b((char *)"\x00\x01\x02\x03", 4); int nb_bytes = 0; @@ -6204,7 +6258,7 @@ VOID TEST(KernelTSTest, CoverContextUtility) EXPECT_TRUE(m.completed(1)); EXPECT_TRUE(!m.completed(0)); - m.PES_packet_length = 8; + m.PES_packet_length_ = 8; SrsBuffer b((char *)"\x00\x01\x02\x03", 4); int nb_bytes = 0; @@ -6224,7 +6278,7 @@ VOID TEST(KernelTSTest, CoverContextUtility) EXPECT_TRUE(m.completed(1)); EXPECT_TRUE(!m.completed(0)); - m.PES_packet_length = 8; + m.PES_packet_length_ = 8; SrsBuffer b((char *)"\x00\x01\x02\x03", 4); int nb_bytes = 0; @@ -6253,7 +6307,7 @@ VOID TEST(KernelTSTest, CoverContextUtility) ctx.on_pmt_parsed(); EXPECT_TRUE(!ctx.is_pure_audio()); - EXPECT_EQ(100, ctx.get(100)->pid); + EXPECT_EQ(100, ctx.get(100)->pid_); } if (true) { @@ -6270,7 +6324,7 @@ VOID TEST(KernelTSTest, CoverContextUtility) ctx.on_pmt_parsed(); EXPECT_TRUE(ctx.is_pure_audio()); - EXPECT_EQ(100, ctx.get(100)->pid); + EXPECT_EQ(100, ctx.get(100)->pid_); EXPECT_TRUE(NULL == ctx.get(200)); } } @@ -6332,7 +6386,7 @@ VOID TEST(KernelTSTest, CoverContextEncode) HELPER_EXPECT_SUCCESS(ctx.encode(&f, &m, SrsVideoCodecIdAVC, SrsAudioCodecIdAAC)); - m.payload->append("Hello, world!", 13); + m.payload_->append("Hello, world!", 13); HELPER_EXPECT_SUCCESS(ctx.encode(&f, &m, SrsVideoCodecIdAVC, SrsAudioCodecIdAAC)); } } @@ -6459,14 +6513,14 @@ VOID TEST(KernelMP4Test, CoverMP4All) { if (true) { SrsMp4ElstEntry e; - EXPECT_EQ(0, e.media_time); - EXPECT_EQ(0, (int)e.segment_duration); + EXPECT_EQ(0, e.media_time_); + EXPECT_EQ(0, (int)e.segment_duration_); } if (true) { SrsMp4CttsEntry e; - EXPECT_EQ(0, (int)e.sample_count); - EXPECT_EQ(0, (int)e.sample_offset); + EXPECT_EQ(0, (int)e.sample_count_); + EXPECT_EQ(0, (int)e.sample_offset_); } } @@ -6488,9 +6542,9 @@ VOID TEST(KernelMP4Test, CoverMP4CodecSingleFrame) 0x17, 0x00, 0x00, 0x00, 0x00, 0x01, 0x64, 0x00, 0x20, 0xff, 0xe1, 0x00, 0x19, 0x67, 0x64, 0x00, 0x20, 0xac, 0xd9, 0x40, 0xc0, 0x29, 0xb0, 0x11, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x03, 0x00, 0x32, 0x0f, 0x18, 0x31, 0x96, 0x01, 0x00, 0x05, 0x68, 0xeb, 0xec, 0xb2, 0x2c}; HELPER_EXPECT_SUCCESS(fmt.on_video(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeVIDE, fmt.video->frame_type, fmt.video->avc_packet_type, 0, 0, (uint8_t *)fmt.raw, fmt.nb_raw)); - EXPECT_EQ(768, (int)enc.width); - EXPECT_EQ(320, (int)enc.height); + &fmt, SrsMp4HandlerTypeVIDE, fmt.video_->frame_type_, fmt.video_->avc_packet_type_, 0, 0, (uint8_t *)fmt.raw_, fmt.nb_raw_)); + EXPECT_EQ(768, (int)enc.width_); + EXPECT_EQ(320, (int)enc.height_); } if (true) { @@ -6498,7 +6552,7 @@ VOID TEST(KernelMP4Test, CoverMP4CodecSingleFrame) 0xaf, 0x00, 0x12, 0x10}; HELPER_EXPECT_SUCCESS(fmt.on_audio(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio->aac_packet_type, 0, 0, (uint8_t *)fmt.raw, fmt.nb_raw)); + &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio_->aac_packet_type_, 0, 0, (uint8_t *)fmt.raw_, fmt.nb_raw_)); } if (true) { @@ -6506,7 +6560,7 @@ VOID TEST(KernelMP4Test, CoverMP4CodecSingleFrame) 0x17, 0x01, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x7b, 0x41, 0x9a, 0x21, 0x6c, 0x42, 0x1f, 0x00, 0x00, 0xf1, 0x68, 0x1a, 0x35, 0x84, 0xb3, 0xee, 0xe0, 0x61, 0xba, 0x4e, 0xa8, 0x52, 0x48, 0x50, 0x59, 0x75, 0x42, 0xd9, 0x96, 0x4a, 0x51, 0x38, 0x2c, 0x63, 0x5e, 0x41, 0xc9, 0x70, 0x60, 0x9d, 0x13, 0x53, 0xc2, 0xa8, 0xf5, 0x45, 0x86, 0xc5, 0x3e, 0x28, 0x1a, 0x69, 0x5f, 0x71, 0x1e, 0x51, 0x74, 0x0e, 0x31, 0x47, 0x3c, 0xd3, 0xd2, 0x10, 0x25, 0x45, 0xc5, 0xb7, 0x31, 0xec, 0x7f, 0xd8, 0x02, 0xae, 0xa4, 0x77, 0x6d, 0xcb, 0xc6, 0x1e, 0x2f, 0xa2, 0xd1, 0x12, 0x08, 0x34, 0x52, 0xea, 0xe8, 0x0b, 0x4f, 0x81, 0x21, 0x4f, 0x71, 0x3f, 0xf2, 0xad, 0x02, 0x58, 0xdf, 0x9e, 0x31, 0x86, 0x9b, 0x1b, 0x41, 0xbf, 0x2a, 0x09, 0x00, 0x43, 0x5c, 0xa1, 0x7e, 0x76, 0x59, 0xef, 0xa6, 0xfc, 0x82, 0xb2, 0x72, 0x5a}; HELPER_EXPECT_SUCCESS(fmt.on_video(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeVIDE, fmt.video->frame_type, fmt.video->avc_packet_type, 0, 0, (uint8_t *)fmt.raw, fmt.nb_raw)); + &fmt, SrsMp4HandlerTypeVIDE, fmt.video_->frame_type_, fmt.video_->avc_packet_type_, 0, 0, (uint8_t *)fmt.raw_, fmt.nb_raw_)); } if (true) { @@ -6514,11 +6568,11 @@ VOID TEST(KernelMP4Test, CoverMP4CodecSingleFrame) 0xaf, 0x01, 0x21, 0x11, 0x45, 0x00, 0x14, 0x50, 0x01, 0x46, 0xf3, 0xf1, 0x0a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e}; HELPER_EXPECT_SUCCESS(fmt.on_audio(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio->aac_packet_type, 0, 0, (uint8_t *)fmt.raw, fmt.nb_raw)); + &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio_->aac_packet_type_, 0, 0, (uint8_t *)fmt.raw_, fmt.nb_raw_)); } - enc.acodec = SrsAudioCodecIdAAC; - enc.vcodec = SrsVideoCodecIdAVC; + enc.acodec_ = SrsAudioCodecIdAAC; + enc.vcodec_ = SrsVideoCodecIdAVC; HELPER_EXPECT_SUCCESS(enc.flush()); // mock_print_mp4(string(f.data(), f.filesize())); @@ -6584,8 +6638,8 @@ VOID TEST(KernelMP4Test, CoverMP4CodecSingleFrame) stringstream ss; SrsMp4DumpContext dc; - dc.level = 0; - dc.summary = false; + dc.level_ = 0; + dc.summary_ = false; box->dumps(ss, dc); HELPER_EXPECT_SUCCESS(br.skip(box, &stream)); @@ -6615,9 +6669,9 @@ VOID TEST(KernelMP4Test, CoverMP4MultipleVideos) 0x17, 0x00, 0x00, 0x00, 0x00, 0x01, 0x64, 0x00, 0x20, 0xff, 0xe1, 0x00, 0x19, 0x67, 0x64, 0x00, 0x20, 0xac, 0xd9, 0x40, 0xc0, 0x29, 0xb0, 0x11, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x03, 0x00, 0x32, 0x0f, 0x18, 0x31, 0x96, 0x01, 0x00, 0x05, 0x68, 0xeb, 0xec, 0xb2, 0x2c}; HELPER_EXPECT_SUCCESS(fmt.on_video(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeVIDE, fmt.video->frame_type, fmt.video->avc_packet_type, 0, 0, (uint8_t *)fmt.raw, fmt.nb_raw)); - EXPECT_EQ(768, (int)enc.width); - EXPECT_EQ(320, (int)enc.height); + &fmt, SrsMp4HandlerTypeVIDE, fmt.video_->frame_type_, fmt.video_->avc_packet_type_, 0, 0, (uint8_t *)fmt.raw_, fmt.nb_raw_)); + EXPECT_EQ(768, (int)enc.width_); + EXPECT_EQ(320, (int)enc.height_); } if (true) { @@ -6625,7 +6679,7 @@ VOID TEST(KernelMP4Test, CoverMP4MultipleVideos) 0xaf, 0x00, 0x12, 0x10}; HELPER_EXPECT_SUCCESS(fmt.on_audio(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio->aac_packet_type, 0, 0, (uint8_t *)fmt.raw, fmt.nb_raw)); + &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio_->aac_packet_type_, 0, 0, (uint8_t *)fmt.raw_, fmt.nb_raw_)); } // Frame group #0, V-V @@ -6634,7 +6688,7 @@ VOID TEST(KernelMP4Test, CoverMP4MultipleVideos) 0x17, 0x01, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x7b, 0x41, 0x9a, 0x21, 0x6c, 0x42, 0x1f, 0x00, 0x00, 0xf1, 0x68, 0x1a, 0x35, 0x84, 0xb3, 0xee, 0xe0, 0x61, 0xba, 0x4e, 0xa8, 0x52, 0x48, 0x50, 0x59, 0x75, 0x42, 0xd9, 0x96, 0x4a, 0x51, 0x38, 0x2c, 0x63, 0x5e, 0x41, 0xc9, 0x70, 0x60, 0x9d, 0x13, 0x53, 0xc2, 0xa8, 0xf5, 0x45, 0x86, 0xc5, 0x3e, 0x28, 0x1a, 0x69, 0x5f, 0x71, 0x1e, 0x51, 0x74, 0x0e, 0x31, 0x47, 0x3c, 0xd3, 0xd2, 0x10, 0x25, 0x45, 0xc5, 0xb7, 0x31, 0xec, 0x7f, 0xd8, 0x02, 0xae, 0xa4, 0x77, 0x6d, 0xcb, 0xc6, 0x1e, 0x2f, 0xa2, 0xd1, 0x12, 0x08, 0x34, 0x52, 0xea, 0xe8, 0x0b, 0x4f, 0x81, 0x21, 0x4f, 0x71, 0x3f, 0xf2, 0xad, 0x02, 0x58, 0xdf, 0x9e, 0x31, 0x86, 0x9b, 0x1b, 0x41, 0xbf, 0x2a, 0x09, 0x00, 0x43, 0x5c, 0xa1, 0x7e, 0x76, 0x59, 0xef, 0xa6, 0xfc, 0x82, 0xb2, 0x72, 0x5a}; HELPER_EXPECT_SUCCESS(fmt.on_video(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeVIDE, fmt.video->frame_type, fmt.video->avc_packet_type, 0, 0, (uint8_t *)fmt.raw, fmt.nb_raw)); + &fmt, SrsMp4HandlerTypeVIDE, fmt.video_->frame_type_, fmt.video_->avc_packet_type_, 0, 0, (uint8_t *)fmt.raw_, fmt.nb_raw_)); } if (true) { @@ -6642,11 +6696,11 @@ VOID TEST(KernelMP4Test, CoverMP4MultipleVideos) 0x27, 0x01, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x7b, 0x41, 0x9a, 0x21, 0x6c, 0x42, 0x1f, 0x00, 0x00, 0xf1, 0x68, 0x1a, 0x35, 0x84, 0xb3, 0xee, 0xe0, 0x61, 0xba, 0x4e, 0xa8, 0x52, 0x48, 0x50, 0x59, 0x75, 0x42, 0xd9, 0x96, 0x4a, 0x51, 0x38, 0x2c, 0x63, 0x5e, 0x41, 0xc9, 0x70, 0x60, 0x9d, 0x13, 0x53, 0xc2, 0xa8, 0xf5, 0x45, 0x86, 0xc5, 0x3e, 0x28, 0x1a, 0x69, 0x5f, 0x71, 0x1e, 0x51, 0x74, 0x0e, 0x31, 0x47, 0x3c, 0xd3, 0xd2, 0x10, 0x25, 0x45, 0xc5, 0xb7, 0x31, 0xec, 0x7f, 0xd8, 0x02, 0xae, 0xa4, 0x77, 0x6d, 0xcb, 0xc6, 0x1e, 0x2f, 0xa2, 0xd1, 0x12, 0x08, 0x34, 0x52, 0xea, 0xe8, 0x0b, 0x4f, 0x81, 0x21, 0x4f, 0x71, 0x3f, 0xf2, 0xad, 0x02, 0x58, 0xdf, 0x9e, 0x31, 0x86, 0x9b, 0x1b, 0x41, 0xbf, 0x2a, 0x09, 0x00, 0x43, 0x5c, 0xa1, 0x7e, 0x76, 0x59, 0xef, 0xa6, 0xfc, 0x82, 0xb2, 0x72, 0x5a}; HELPER_EXPECT_SUCCESS(fmt.on_video(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeVIDE, fmt.video->frame_type, fmt.video->avc_packet_type, 40, 40, (uint8_t *)fmt.raw, fmt.nb_raw)); + &fmt, SrsMp4HandlerTypeVIDE, fmt.video_->frame_type_, fmt.video_->avc_packet_type_, 40, 40, (uint8_t *)fmt.raw_, fmt.nb_raw_)); } - enc.acodec = SrsAudioCodecIdAAC; - enc.vcodec = SrsVideoCodecIdAVC; + enc.acodec_ = SrsAudioCodecIdAAC; + enc.vcodec_ = SrsVideoCodecIdAVC; // Flush encoder. HELPER_EXPECT_SUCCESS(enc.flush()); @@ -6716,9 +6770,9 @@ VOID TEST(KernelMP4Test, CoverMP4MultipleCTTs) 0x17, 0x00, 0x00, 0x00, 0x00, 0x01, 0x64, 0x00, 0x20, 0xff, 0xe1, 0x00, 0x19, 0x67, 0x64, 0x00, 0x20, 0xac, 0xd9, 0x40, 0xc0, 0x29, 0xb0, 0x11, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x03, 0x00, 0x32, 0x0f, 0x18, 0x31, 0x96, 0x01, 0x00, 0x05, 0x68, 0xeb, 0xec, 0xb2, 0x2c}; HELPER_EXPECT_SUCCESS(fmt.on_video(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeVIDE, fmt.video->frame_type, fmt.video->avc_packet_type, 0, 0, (uint8_t *)fmt.raw, fmt.nb_raw)); - EXPECT_EQ(768, (int)enc.width); - EXPECT_EQ(320, (int)enc.height); + &fmt, SrsMp4HandlerTypeVIDE, fmt.video_->frame_type_, fmt.video_->avc_packet_type_, 0, 0, (uint8_t *)fmt.raw_, fmt.nb_raw_)); + EXPECT_EQ(768, (int)enc.width_); + EXPECT_EQ(320, (int)enc.height_); } if (true) { @@ -6726,7 +6780,7 @@ VOID TEST(KernelMP4Test, CoverMP4MultipleCTTs) 0xaf, 0x00, 0x12, 0x10}; HELPER_EXPECT_SUCCESS(fmt.on_audio(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio->aac_packet_type, 0, 0, (uint8_t *)fmt.raw, fmt.nb_raw)); + &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio_->aac_packet_type_, 0, 0, (uint8_t *)fmt.raw_, fmt.nb_raw_)); } // Frame group #0, V-V-V @@ -6735,7 +6789,7 @@ VOID TEST(KernelMP4Test, CoverMP4MultipleCTTs) 0x17, 0x01, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x7b, 0x41, 0x9a, 0x21, 0x6c, 0x42, 0x1f, 0x00, 0x00, 0xf1, 0x68, 0x1a, 0x35, 0x84, 0xb3, 0xee, 0xe0, 0x61, 0xba, 0x4e, 0xa8, 0x52, 0x48, 0x50, 0x59, 0x75, 0x42, 0xd9, 0x96, 0x4a, 0x51, 0x38, 0x2c, 0x63, 0x5e, 0x41, 0xc9, 0x70, 0x60, 0x9d, 0x13, 0x53, 0xc2, 0xa8, 0xf5, 0x45, 0x86, 0xc5, 0x3e, 0x28, 0x1a, 0x69, 0x5f, 0x71, 0x1e, 0x51, 0x74, 0x0e, 0x31, 0x47, 0x3c, 0xd3, 0xd2, 0x10, 0x25, 0x45, 0xc5, 0xb7, 0x31, 0xec, 0x7f, 0xd8, 0x02, 0xae, 0xa4, 0x77, 0x6d, 0xcb, 0xc6, 0x1e, 0x2f, 0xa2, 0xd1, 0x12, 0x08, 0x34, 0x52, 0xea, 0xe8, 0x0b, 0x4f, 0x81, 0x21, 0x4f, 0x71, 0x3f, 0xf2, 0xad, 0x02, 0x58, 0xdf, 0x9e, 0x31, 0x86, 0x9b, 0x1b, 0x41, 0xbf, 0x2a, 0x09, 0x00, 0x43, 0x5c, 0xa1, 0x7e, 0x76, 0x59, 0xef, 0xa6, 0xfc, 0x82, 0xb2, 0x72, 0x5a}; HELPER_EXPECT_SUCCESS(fmt.on_video(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeVIDE, fmt.video->frame_type, fmt.video->avc_packet_type, 0, 0, (uint8_t *)fmt.raw, fmt.nb_raw)); + &fmt, SrsMp4HandlerTypeVIDE, fmt.video_->frame_type_, fmt.video_->avc_packet_type_, 0, 0, (uint8_t *)fmt.raw_, fmt.nb_raw_)); } if (true) { @@ -6743,7 +6797,7 @@ VOID TEST(KernelMP4Test, CoverMP4MultipleCTTs) 0x27, 0x01, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x7b, 0x41, 0x9a, 0x21, 0x6c, 0x42, 0x1f, 0x00, 0x00, 0xf1, 0x68, 0x1a, 0x35, 0x84, 0xb3, 0xee, 0xe0, 0x61, 0xba, 0x4e, 0xa8, 0x52, 0x48, 0x50, 0x59, 0x75, 0x42, 0xd9, 0x96, 0x4a, 0x51, 0x38, 0x2c, 0x63, 0x5e, 0x41, 0xc9, 0x70, 0x60, 0x9d, 0x13, 0x53, 0xc2, 0xa8, 0xf5, 0x45, 0x86, 0xc5, 0x3e, 0x28, 0x1a, 0x69, 0x5f, 0x71, 0x1e, 0x51, 0x74, 0x0e, 0x31, 0x47, 0x3c, 0xd3, 0xd2, 0x10, 0x25, 0x45, 0xc5, 0xb7, 0x31, 0xec, 0x7f, 0xd8, 0x02, 0xae, 0xa4, 0x77, 0x6d, 0xcb, 0xc6, 0x1e, 0x2f, 0xa2, 0xd1, 0x12, 0x08, 0x34, 0x52, 0xea, 0xe8, 0x0b, 0x4f, 0x81, 0x21, 0x4f, 0x71, 0x3f, 0xf2, 0xad, 0x02, 0x58, 0xdf, 0x9e, 0x31, 0x86, 0x9b, 0x1b, 0x41, 0xbf, 0x2a, 0x09, 0x00, 0x43, 0x5c, 0xa1, 0x7e, 0x76, 0x59, 0xef, 0xa6, 0xfc, 0x82, 0xb2, 0x72, 0x5a}; HELPER_EXPECT_SUCCESS(fmt.on_video(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeVIDE, fmt.video->frame_type, fmt.video->avc_packet_type, 40, 80, (uint8_t *)fmt.raw, fmt.nb_raw)); + &fmt, SrsMp4HandlerTypeVIDE, fmt.video_->frame_type_, fmt.video_->avc_packet_type_, 40, 80, (uint8_t *)fmt.raw_, fmt.nb_raw_)); } if (true) { @@ -6751,11 +6805,11 @@ VOID TEST(KernelMP4Test, CoverMP4MultipleCTTs) 0x27, 0x01, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x7b, 0x41, 0x9a, 0x21, 0x6c, 0x42, 0x1f, 0x00, 0x00, 0xf1, 0x68, 0x1a, 0x35, 0x84, 0xb3, 0xee, 0xe0, 0x61, 0xba, 0x4e, 0xa8, 0x52, 0x48, 0x50, 0x59, 0x75, 0x42, 0xd9, 0x96, 0x4a, 0x51, 0x38, 0x2c, 0x63, 0x5e, 0x41, 0xc9, 0x70, 0x60, 0x9d, 0x13, 0x53, 0xc2, 0xa8, 0xf5, 0x45, 0x86, 0xc5, 0x3e, 0x28, 0x1a, 0x69, 0x5f, 0x71, 0x1e, 0x51, 0x74, 0x0e, 0x31, 0x47, 0x3c, 0xd3, 0xd2, 0x10, 0x25, 0x45, 0xc5, 0xb7, 0x31, 0xec, 0x7f, 0xd8, 0x02, 0xae, 0xa4, 0x77, 0x6d, 0xcb, 0xc6, 0x1e, 0x2f, 0xa2, 0xd1, 0x12, 0x08, 0x34, 0x52, 0xea, 0xe8, 0x0b, 0x4f, 0x81, 0x21, 0x4f, 0x71, 0x3f, 0xf2, 0xad, 0x02, 0x58, 0xdf, 0x9e, 0x31, 0x86, 0x9b, 0x1b, 0x41, 0xbf, 0x2a, 0x09, 0x00, 0x43, 0x5c, 0xa1, 0x7e, 0x76, 0x59, 0xef, 0xa6, 0xfc, 0x82, 0xb2, 0x72, 0x5a}; HELPER_EXPECT_SUCCESS(fmt.on_video(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeVIDE, fmt.video->frame_type, fmt.video->avc_packet_type, 80, 40, (uint8_t *)fmt.raw, fmt.nb_raw)); + &fmt, SrsMp4HandlerTypeVIDE, fmt.video_->frame_type_, fmt.video_->avc_packet_type_, 80, 40, (uint8_t *)fmt.raw_, fmt.nb_raw_)); } - enc.acodec = SrsAudioCodecIdAAC; - enc.vcodec = SrsVideoCodecIdAVC; + enc.acodec_ = SrsAudioCodecIdAAC; + enc.vcodec_ = SrsVideoCodecIdAVC; // Flush encoder. HELPER_EXPECT_SUCCESS(enc.flush()); @@ -6834,9 +6888,9 @@ VOID TEST(KernelMP4Test, CoverMP4MultipleAVs) 0x17, 0x00, 0x00, 0x00, 0x00, 0x01, 0x64, 0x00, 0x20, 0xff, 0xe1, 0x00, 0x19, 0x67, 0x64, 0x00, 0x20, 0xac, 0xd9, 0x40, 0xc0, 0x29, 0xb0, 0x11, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x03, 0x00, 0x32, 0x0f, 0x18, 0x31, 0x96, 0x01, 0x00, 0x05, 0x68, 0xeb, 0xec, 0xb2, 0x2c}; HELPER_EXPECT_SUCCESS(fmt.on_video(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeVIDE, fmt.video->frame_type, fmt.video->avc_packet_type, 0, 0, (uint8_t *)fmt.raw, fmt.nb_raw)); - EXPECT_EQ(768, (int)enc.width); - EXPECT_EQ(320, (int)enc.height); + &fmt, SrsMp4HandlerTypeVIDE, fmt.video_->frame_type_, fmt.video_->avc_packet_type_, 0, 0, (uint8_t *)fmt.raw_, fmt.nb_raw_)); + EXPECT_EQ(768, (int)enc.width_); + EXPECT_EQ(320, (int)enc.height_); } if (true) { @@ -6844,7 +6898,7 @@ VOID TEST(KernelMP4Test, CoverMP4MultipleAVs) 0xaf, 0x00, 0x12, 0x10}; HELPER_EXPECT_SUCCESS(fmt.on_audio(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio->aac_packet_type, 0, 0, (uint8_t *)fmt.raw, fmt.nb_raw)); + &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio_->aac_packet_type_, 0, 0, (uint8_t *)fmt.raw_, fmt.nb_raw_)); } // Frame group #0, V-A-A-V @@ -6853,7 +6907,7 @@ VOID TEST(KernelMP4Test, CoverMP4MultipleAVs) 0x17, 0x01, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x7b, 0x41, 0x9a, 0x21, 0x6c, 0x42, 0x1f, 0x00, 0x00, 0xf1, 0x68, 0x1a, 0x35, 0x84, 0xb3, 0xee, 0xe0, 0x61, 0xba, 0x4e, 0xa8, 0x52, 0x48, 0x50, 0x59, 0x75, 0x42, 0xd9, 0x96, 0x4a, 0x51, 0x38, 0x2c, 0x63, 0x5e, 0x41, 0xc9, 0x70, 0x60, 0x9d, 0x13, 0x53, 0xc2, 0xa8, 0xf5, 0x45, 0x86, 0xc5, 0x3e, 0x28, 0x1a, 0x69, 0x5f, 0x71, 0x1e, 0x51, 0x74, 0x0e, 0x31, 0x47, 0x3c, 0xd3, 0xd2, 0x10, 0x25, 0x45, 0xc5, 0xb7, 0x31, 0xec, 0x7f, 0xd8, 0x02, 0xae, 0xa4, 0x77, 0x6d, 0xcb, 0xc6, 0x1e, 0x2f, 0xa2, 0xd1, 0x12, 0x08, 0x34, 0x52, 0xea, 0xe8, 0x0b, 0x4f, 0x81, 0x21, 0x4f, 0x71, 0x3f, 0xf2, 0xad, 0x02, 0x58, 0xdf, 0x9e, 0x31, 0x86, 0x9b, 0x1b, 0x41, 0xbf, 0x2a, 0x09, 0x00, 0x43, 0x5c, 0xa1, 0x7e, 0x76, 0x59, 0xef, 0xa6, 0xfc, 0x82, 0xb2, 0x72, 0x5a}; HELPER_EXPECT_SUCCESS(fmt.on_video(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeVIDE, fmt.video->frame_type, fmt.video->avc_packet_type, 0, 0, (uint8_t *)fmt.raw, fmt.nb_raw)); + &fmt, SrsMp4HandlerTypeVIDE, fmt.video_->frame_type_, fmt.video_->avc_packet_type_, 0, 0, (uint8_t *)fmt.raw_, fmt.nb_raw_)); } if (true) { @@ -6861,7 +6915,7 @@ VOID TEST(KernelMP4Test, CoverMP4MultipleAVs) 0xaf, 0x01, 0x21, 0x11, 0x45, 0x00, 0x14, 0x50, 0x01, 0x46, 0xf3, 0xf1, 0x0a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e}; HELPER_EXPECT_SUCCESS(fmt.on_audio(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio->aac_packet_type, 0, 0, (uint8_t *)fmt.raw, fmt.nb_raw)); + &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio_->aac_packet_type_, 0, 0, (uint8_t *)fmt.raw_, fmt.nb_raw_)); } if (true) { @@ -6869,7 +6923,7 @@ VOID TEST(KernelMP4Test, CoverMP4MultipleAVs) 0xaf, 0x01, 0x21, 0x11, 0x45, 0x00, 0x14, 0x50, 0x01, 0x46, 0xf3, 0xf1, 0x0a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e}; HELPER_EXPECT_SUCCESS(fmt.on_audio(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio->aac_packet_type, 20, 20, (uint8_t *)fmt.raw, fmt.nb_raw)); + &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio_->aac_packet_type_, 20, 20, (uint8_t *)fmt.raw_, fmt.nb_raw_)); } if (true) { @@ -6877,11 +6931,11 @@ VOID TEST(KernelMP4Test, CoverMP4MultipleAVs) 0x27, 0x01, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x7b, 0x41, 0x9a, 0x21, 0x6c, 0x42, 0x1f, 0x00, 0x00, 0xf1, 0x68, 0x1a, 0x35, 0x84, 0xb3, 0xee, 0xe0, 0x61, 0xba, 0x4e, 0xa8, 0x52, 0x48, 0x50, 0x59, 0x75, 0x42, 0xd9, 0x96, 0x4a, 0x51, 0x38, 0x2c, 0x63, 0x5e, 0x41, 0xc9, 0x70, 0x60, 0x9d, 0x13, 0x53, 0xc2, 0xa8, 0xf5, 0x45, 0x86, 0xc5, 0x3e, 0x28, 0x1a, 0x69, 0x5f, 0x71, 0x1e, 0x51, 0x74, 0x0e, 0x31, 0x47, 0x3c, 0xd3, 0xd2, 0x10, 0x25, 0x45, 0xc5, 0xb7, 0x31, 0xec, 0x7f, 0xd8, 0x02, 0xae, 0xa4, 0x77, 0x6d, 0xcb, 0xc6, 0x1e, 0x2f, 0xa2, 0xd1, 0x12, 0x08, 0x34, 0x52, 0xea, 0xe8, 0x0b, 0x4f, 0x81, 0x21, 0x4f, 0x71, 0x3f, 0xf2, 0xad, 0x02, 0x58, 0xdf, 0x9e, 0x31, 0x86, 0x9b, 0x1b, 0x41, 0xbf, 0x2a, 0x09, 0x00, 0x43, 0x5c, 0xa1, 0x7e, 0x76, 0x59, 0xef, 0xa6, 0xfc, 0x82, 0xb2, 0x72, 0x5a}; HELPER_EXPECT_SUCCESS(fmt.on_video(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeVIDE, fmt.video->frame_type, fmt.video->avc_packet_type, 40, 40, (uint8_t *)fmt.raw, fmt.nb_raw)); + &fmt, SrsMp4HandlerTypeVIDE, fmt.video_->frame_type_, fmt.video_->avc_packet_type_, 40, 40, (uint8_t *)fmt.raw_, fmt.nb_raw_)); } - enc.acodec = SrsAudioCodecIdAAC; - enc.vcodec = SrsVideoCodecIdAVC; + enc.acodec_ = SrsAudioCodecIdAAC; + enc.vcodec_ = SrsVideoCodecIdAVC; // Flush encoder. HELPER_EXPECT_SUCCESS(enc.flush()); @@ -6966,9 +7020,9 @@ VOID TEST(KernelMP4Test, CoverMP4MultipleAVsWithMp3) 0x17, 0x00, 0x00, 0x00, 0x00, 0x01, 0x64, 0x00, 0x20, 0xff, 0xe1, 0x00, 0x19, 0x67, 0x64, 0x00, 0x20, 0xac, 0xd9, 0x40, 0xc0, 0x29, 0xb0, 0x11, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x03, 0x00, 0x32, 0x0f, 0x18, 0x31, 0x96, 0x01, 0x00, 0x05, 0x68, 0xeb, 0xec, 0xb2, 0x2c}; HELPER_EXPECT_SUCCESS(fmt.on_video(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeVIDE, fmt.video->frame_type, fmt.video->avc_packet_type, 0, 0, (uint8_t *)fmt.raw, fmt.nb_raw)); - EXPECT_EQ(768, (int)enc.width); - EXPECT_EQ(320, (int)enc.height); + &fmt, SrsMp4HandlerTypeVIDE, fmt.video_->frame_type_, fmt.video_->avc_packet_type_, 0, 0, (uint8_t *)fmt.raw_, fmt.nb_raw_)); + EXPECT_EQ(768, (int)enc.width_); + EXPECT_EQ(320, (int)enc.height_); } if (true) { @@ -6976,7 +7030,7 @@ VOID TEST(KernelMP4Test, CoverMP4MultipleAVsWithMp3) 0xaf, 0x00, 0x12, 0x10}; HELPER_EXPECT_SUCCESS(fmt.on_audio(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio->aac_packet_type, 0, 0, (uint8_t *)fmt.raw, fmt.nb_raw)); + &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio_->aac_packet_type_, 0, 0, (uint8_t *)fmt.raw_, fmt.nb_raw_)); } // Frame group #0, V-A-A-V @@ -6985,7 +7039,7 @@ VOID TEST(KernelMP4Test, CoverMP4MultipleAVsWithMp3) 0x17, 0x01, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x7b, 0x41, 0x9a, 0x21, 0x6c, 0x42, 0x1f, 0x00, 0x00, 0xf1, 0x68, 0x1a, 0x35, 0x84, 0xb3, 0xee, 0xe0, 0x61, 0xba, 0x4e, 0xa8, 0x52, 0x48, 0x50, 0x59, 0x75, 0x42, 0xd9, 0x96, 0x4a, 0x51, 0x38, 0x2c, 0x63, 0x5e, 0x41, 0xc9, 0x70, 0x60, 0x9d, 0x13, 0x53, 0xc2, 0xa8, 0xf5, 0x45, 0x86, 0xc5, 0x3e, 0x28, 0x1a, 0x69, 0x5f, 0x71, 0x1e, 0x51, 0x74, 0x0e, 0x31, 0x47, 0x3c, 0xd3, 0xd2, 0x10, 0x25, 0x45, 0xc5, 0xb7, 0x31, 0xec, 0x7f, 0xd8, 0x02, 0xae, 0xa4, 0x77, 0x6d, 0xcb, 0xc6, 0x1e, 0x2f, 0xa2, 0xd1, 0x12, 0x08, 0x34, 0x52, 0xea, 0xe8, 0x0b, 0x4f, 0x81, 0x21, 0x4f, 0x71, 0x3f, 0xf2, 0xad, 0x02, 0x58, 0xdf, 0x9e, 0x31, 0x86, 0x9b, 0x1b, 0x41, 0xbf, 0x2a, 0x09, 0x00, 0x43, 0x5c, 0xa1, 0x7e, 0x76, 0x59, 0xef, 0xa6, 0xfc, 0x82, 0xb2, 0x72, 0x5a}; HELPER_EXPECT_SUCCESS(fmt.on_video(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeVIDE, fmt.video->frame_type, fmt.video->avc_packet_type, 0, 0, (uint8_t *)fmt.raw, fmt.nb_raw)); + &fmt, SrsMp4HandlerTypeVIDE, fmt.video_->frame_type_, fmt.video_->avc_packet_type_, 0, 0, (uint8_t *)fmt.raw_, fmt.nb_raw_)); } if (true) { @@ -6993,7 +7047,7 @@ VOID TEST(KernelMP4Test, CoverMP4MultipleAVsWithMp3) 0xaf, 0x01, 0x21, 0x11, 0x45, 0x00, 0x14, 0x50, 0x01, 0x46, 0xf3, 0xf1, 0x0a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e}; HELPER_EXPECT_SUCCESS(fmt.on_audio(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio->aac_packet_type, 0, 0, (uint8_t *)fmt.raw, fmt.nb_raw)); + &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio_->aac_packet_type_, 0, 0, (uint8_t *)fmt.raw_, fmt.nb_raw_)); } if (true) { @@ -7001,7 +7055,7 @@ VOID TEST(KernelMP4Test, CoverMP4MultipleAVsWithMp3) 0xaf, 0x01, 0x21, 0x11, 0x45, 0x00, 0x14, 0x50, 0x01, 0x46, 0xf3, 0xf1, 0x0a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e}; HELPER_EXPECT_SUCCESS(fmt.on_audio(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio->aac_packet_type, 20, 20, (uint8_t *)fmt.raw, fmt.nb_raw)); + &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio_->aac_packet_type_, 20, 20, (uint8_t *)fmt.raw_, fmt.nb_raw_)); } if (true) { @@ -7009,11 +7063,11 @@ VOID TEST(KernelMP4Test, CoverMP4MultipleAVsWithMp3) 0x27, 0x01, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x7b, 0x41, 0x9a, 0x21, 0x6c, 0x42, 0x1f, 0x00, 0x00, 0xf1, 0x68, 0x1a, 0x35, 0x84, 0xb3, 0xee, 0xe0, 0x61, 0xba, 0x4e, 0xa8, 0x52, 0x48, 0x50, 0x59, 0x75, 0x42, 0xd9, 0x96, 0x4a, 0x51, 0x38, 0x2c, 0x63, 0x5e, 0x41, 0xc9, 0x70, 0x60, 0x9d, 0x13, 0x53, 0xc2, 0xa8, 0xf5, 0x45, 0x86, 0xc5, 0x3e, 0x28, 0x1a, 0x69, 0x5f, 0x71, 0x1e, 0x51, 0x74, 0x0e, 0x31, 0x47, 0x3c, 0xd3, 0xd2, 0x10, 0x25, 0x45, 0xc5, 0xb7, 0x31, 0xec, 0x7f, 0xd8, 0x02, 0xae, 0xa4, 0x77, 0x6d, 0xcb, 0xc6, 0x1e, 0x2f, 0xa2, 0xd1, 0x12, 0x08, 0x34, 0x52, 0xea, 0xe8, 0x0b, 0x4f, 0x81, 0x21, 0x4f, 0x71, 0x3f, 0xf2, 0xad, 0x02, 0x58, 0xdf, 0x9e, 0x31, 0x86, 0x9b, 0x1b, 0x41, 0xbf, 0x2a, 0x09, 0x00, 0x43, 0x5c, 0xa1, 0x7e, 0x76, 0x59, 0xef, 0xa6, 0xfc, 0x82, 0xb2, 0x72, 0x5a}; HELPER_EXPECT_SUCCESS(fmt.on_video(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeVIDE, fmt.video->frame_type, fmt.video->avc_packet_type, 40, 40, (uint8_t *)fmt.raw, fmt.nb_raw)); + &fmt, SrsMp4HandlerTypeVIDE, fmt.video_->frame_type_, fmt.video_->avc_packet_type_, 40, 40, (uint8_t *)fmt.raw_, fmt.nb_raw_)); } - enc.acodec = SrsAudioCodecIdMP3; - enc.vcodec = SrsVideoCodecIdAVC; + enc.acodec_ = SrsAudioCodecIdMP3; + enc.vcodec_ = SrsVideoCodecIdAVC; // Flush encoder. HELPER_EXPECT_SUCCESS(enc.flush()); @@ -7089,9 +7143,9 @@ VOID TEST(KernelMP4Test, CoverMP4CodecErrorNoFrames) 0x17, 0x00, 0x00, 0x00, 0x00, 0x01, 0x64, 0x00, 0x20, 0xff, 0xe1, 0x00, 0x19, 0x67, 0x64, 0x00, 0x20, 0xac, 0xd9, 0x40, 0xc0, 0x29, 0xb0, 0x11, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x03, 0x00, 0x32, 0x0f, 0x18, 0x31, 0x96, 0x01, 0x00, 0x05, 0x68, 0xeb, 0xec, 0xb2, 0x2c}; HELPER_EXPECT_SUCCESS(fmt.on_video(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeVIDE, fmt.video->frame_type, fmt.video->avc_packet_type, 0, 0, (uint8_t *)fmt.raw, fmt.nb_raw)); - EXPECT_EQ(768, (int)enc.width); - EXPECT_EQ(320, (int)enc.height); + &fmt, SrsMp4HandlerTypeVIDE, fmt.video_->frame_type_, fmt.video_->avc_packet_type_, 0, 0, (uint8_t *)fmt.raw_, fmt.nb_raw_)); + EXPECT_EQ(768, (int)enc.width_); + EXPECT_EQ(320, (int)enc.height_); } if (true) { @@ -7099,7 +7153,7 @@ VOID TEST(KernelMP4Test, CoverMP4CodecErrorNoFrames) 0xaf, 0x00, 0x12, 0x10}; HELPER_EXPECT_SUCCESS(fmt.on_audio(0, (char *)raw, sizeof(raw))); HELPER_EXPECT_SUCCESS(enc.write_sample( - &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio->aac_packet_type, 0, 0, (uint8_t *)fmt.raw, fmt.nb_raw)); + &fmt, SrsMp4HandlerTypeSOUN, 0x00, fmt.audio_->aac_packet_type_, 0, 0, (uint8_t *)fmt.raw_, fmt.nb_raw_)); } HELPER_ASSERT_FAILED(enc.flush()); @@ -7133,10 +7187,10 @@ VOID TEST(KernelMP4Test, CoverMP4M2tsSegmentEncoder) 0x32, 0x0f, 0x18, 0x31, 0x96, 0x01, 0x00, 0x05, 0x68, 0xeb, 0xec, 0xb2, 0x2c}; HELPER_EXPECT_SUCCESS(fmt.on_video(0, (char *)raw, sizeof(raw))); - uint8_t *cp = mock_copy_bytes(fmt.raw, fmt.nb_raw); + uint8_t *cp = mock_copy_bytes(fmt.raw_, fmt.nb_raw_); SrsUniquePtr cp_uptr(cp); HELPER_EXPECT_SUCCESS(enc.write_sample( - SrsMp4HandlerTypeVIDE, fmt.video->frame_type, 0, 0, cp, fmt.nb_raw)); + SrsMp4HandlerTypeVIDE, fmt.video_->frame_type_, 0, 0, cp, fmt.nb_raw_)); } if (true) { @@ -7144,10 +7198,10 @@ VOID TEST(KernelMP4Test, CoverMP4M2tsSegmentEncoder) 0xaf, 0x00, 0x12, 0x10}; HELPER_EXPECT_SUCCESS(fmt.on_audio(0, (char *)raw, sizeof(raw))); - uint8_t *cp = mock_copy_bytes(fmt.raw, fmt.nb_raw); + uint8_t *cp = mock_copy_bytes(fmt.raw_, fmt.nb_raw_); SrsUniquePtr cp_uptr(cp); HELPER_EXPECT_SUCCESS(enc.write_sample( - SrsMp4HandlerTypeSOUN, 0x00, 0, 0, cp, fmt.nb_raw)); + SrsMp4HandlerTypeSOUN, 0x00, 0, 0, cp, fmt.nb_raw_)); } if (true) { @@ -7161,10 +7215,10 @@ VOID TEST(KernelMP4Test, CoverMP4M2tsSegmentEncoder) 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e}; HELPER_EXPECT_SUCCESS(fmt.on_audio(0, (char *)raw, sizeof(raw))); - uint8_t *cp = mock_copy_bytes(fmt.raw, fmt.nb_raw); + uint8_t *cp = mock_copy_bytes(fmt.raw_, fmt.nb_raw_); SrsUniquePtr cp_uptr(cp); HELPER_EXPECT_SUCCESS(enc.write_sample( - SrsMp4HandlerTypeSOUN, 0x00, 34, 34, cp, fmt.nb_raw)); + SrsMp4HandlerTypeSOUN, 0x00, 34, 34, cp, fmt.nb_raw_)); } if (true) { @@ -7181,10 +7235,10 @@ VOID TEST(KernelMP4Test, CoverMP4M2tsSegmentEncoder) 0xb2, 0x72, 0x5a}; HELPER_EXPECT_SUCCESS(fmt.on_video(0, (char *)raw, sizeof(raw))); - uint8_t *cp = mock_copy_bytes(fmt.raw, fmt.nb_raw); + uint8_t *cp = mock_copy_bytes(fmt.raw_, fmt.nb_raw_); SrsUniquePtr cp_uptr(cp); HELPER_EXPECT_SUCCESS(enc.write_sample( - SrsMp4HandlerTypeVIDE, fmt.video->frame_type, 40, 40, cp, fmt.nb_raw)); + SrsMp4HandlerTypeVIDE, fmt.video_->frame_type_, 40, 40, cp, fmt.nb_raw_)); } uint64_t dts = 0; @@ -7253,3 +7307,126 @@ VOID TEST(KernelUtilityTest, Base64Decode) EXPECT_STRNE("admin:admin", plaintext.c_str()); } } + +VOID TEST(KernelKbpsTest, SrsRateSample_BasicFunctionality) +{ + // Test constructor initialization + if (true) { + SrsRateSample sample; + EXPECT_EQ(-1, sample.total_); + EXPECT_EQ(-1, sample.time_); + EXPECT_EQ(0, sample.rate_); + } + + // Test update method + if (true) { + SrsRateSample sample; + SrsRateSample *result = sample.update(1000, 5000, 100); + + // Should return this pointer + EXPECT_EQ(&sample, result); + + // Should update all fields + EXPECT_EQ(1000, sample.total_); + EXPECT_EQ(5000, sample.time_); + EXPECT_EQ(100, sample.rate_); + } + + // Test multiple updates + if (true) { + SrsRateSample sample; + sample.update(500, 2000, 50); + sample.update(1500, 7000, 150); + + EXPECT_EQ(1500, sample.total_); + EXPECT_EQ(7000, sample.time_); + EXPECT_EQ(150, sample.rate_); + } +} + +VOID TEST(KernelKbpsTest, SrsPps_BasicFunctionality) +{ + // Test constructor initialization + if (true) { + SrsPps pps; + EXPECT_EQ(0, pps.sugar_); + EXPECT_EQ(_srs_clock, pps.clk_); + } + + // Test sugar update + if (true) { + SrsPps pps; + pps.sugar_ = 100; + pps.update(); + + // Should have updated internal samples + EXPECT_EQ(0, pps.r10s()); // Initially 0 rate + EXPECT_EQ(0, pps.r30s()); // Initially 0 rate + } + + // Test direct update with value + if (true) { + SrsPps pps; + pps.update(500); + + // Should have updated internal samples + EXPECT_EQ(0, pps.r10s()); // Initially 0 rate + EXPECT_EQ(0, pps.r30s()); // Initially 0 rate + } +} + +VOID TEST(KernelKbpsTest, SrsKbpsStats_FieldNaming) +{ + // Test that all fields follow underscore naming convention + if (true) { + SrsKbpsStats stats; + + // All fields should be accessible with underscore suffix + stats.cid_desc_ = "test_cid"; + stats.timer_desc_ = "test_timer"; + stats.free_desc_ = "test_free"; + stats.recvfrom_desc_ = "test_recvfrom"; + stats.io_desc_ = "test_io"; + stats.msg_desc_ = "test_msg"; + stats.epoll_desc_ = "test_epoll"; + stats.sched_desc_ = "test_sched"; + stats.clock_desc_ = "test_clock"; + stats.thread_desc_ = "test_thread"; + stats.objs_desc_ = "test_objs"; + + EXPECT_STREQ("test_cid", stats.cid_desc_.c_str()); + EXPECT_STREQ("test_timer", stats.timer_desc_.c_str()); + EXPECT_STREQ("test_free", stats.free_desc_.c_str()); + EXPECT_STREQ("test_recvfrom", stats.recvfrom_desc_.c_str()); + EXPECT_STREQ("test_io", stats.io_desc_.c_str()); + EXPECT_STREQ("test_msg", stats.msg_desc_.c_str()); + EXPECT_STREQ("test_epoll", stats.epoll_desc_.c_str()); + EXPECT_STREQ("test_sched", stats.sched_desc_.c_str()); + EXPECT_STREQ("test_clock", stats.clock_desc_.c_str()); + EXPECT_STREQ("test_thread", stats.thread_desc_.c_str()); + EXPECT_STREQ("test_objs", stats.objs_desc_.c_str()); + } +} + +VOID TEST(KernelKbpsTest, SrsKbsRtcStats_FieldNaming) +{ + // Test that all fields follow underscore naming convention + if (true) { + SrsKbsRtcStats stats; + + // All fields should be accessible with underscore suffix + stats.rpkts_desc_ = "test_rpkts"; + stats.spkts_desc_ = "test_spkts"; + stats.rtcp_desc_ = "test_rtcp"; + stats.snk_desc_ = "test_snk"; + stats.rnk_desc_ = "test_rnk"; + stats.fid_desc_ = "test_fid"; + + EXPECT_STREQ("test_rpkts", stats.rpkts_desc_.c_str()); + EXPECT_STREQ("test_spkts", stats.spkts_desc_.c_str()); + EXPECT_STREQ("test_rtcp", stats.rtcp_desc_.c_str()); + EXPECT_STREQ("test_snk", stats.snk_desc_.c_str()); + EXPECT_STREQ("test_rnk", stats.rnk_desc_.c_str()); + EXPECT_STREQ("test_fid", stats.fid_desc_.c_str()); + } +} diff --git a/trunk/src/utest/srs_utest_kernel2.cpp b/trunk/src/utest/srs_utest_kernel2.cpp index de725e46b..9a1a51500 100644 --- a/trunk/src/utest/srs_utest_kernel2.cpp +++ b/trunk/src/utest/srs_utest_kernel2.cpp @@ -47,7 +47,7 @@ VOID TEST(KernelPSTest, PsPacketDecodeNormal) } SrsRtpRawPayload *rtp_raw = dynamic_cast(rtp.payload()); - SrsBuffer b((char *)rtp_raw->payload, rtp_raw->nn_payload); + SrsBuffer b((char *)rtp_raw->payload_, rtp_raw->nn_payload_); // There should be three video messages. HELPER_ASSERT_SUCCESS(context.decode(&b, &handler)); @@ -72,7 +72,7 @@ VOID TEST(KernelPSTest, PsPacketDecodeNormal) } SrsRtpRawPayload *rtp_raw = dynamic_cast(rtp.payload()); - SrsBuffer b((char *)rtp_raw->payload, rtp_raw->nn_payload); + SrsBuffer b((char *)rtp_raw->payload_, rtp_raw->nn_payload_); // Bytes continuity for the large video frame, got nothing message yet. HELPER_ASSERT_SUCCESS(context.decode(&b, handler.clear())); @@ -96,7 +96,7 @@ VOID TEST(KernelPSTest, PsPacketDecodeNormal) } SrsRtpRawPayload *rtp_raw = dynamic_cast(rtp.payload()); - SrsBuffer b((char *)rtp_raw->payload, rtp_raw->nn_payload); + SrsBuffer b((char *)rtp_raw->payload_, rtp_raw->nn_payload_); // There should be one large video message, might be an I frame. HELPER_ASSERT_SUCCESS(context.decode(&b, handler.clear())); @@ -115,7 +115,7 @@ VOID TEST(KernelPSTest, PsPacketDecodeNormal) } SrsRtpRawPayload *rtp_raw = dynamic_cast(rtp.payload()); - SrsBuffer b((char *)rtp_raw->payload, rtp_raw->nn_payload); + SrsBuffer b((char *)rtp_raw->payload_, rtp_raw->nn_payload_); // There should be a message of private stream, we ignore it, so we won't get it in callback. HELPER_ASSERT_SUCCESS(context.decode(&b, handler.clear())); @@ -137,7 +137,7 @@ VOID TEST(KernelPSTest, PsPacketDecodeNormal) } SrsRtpRawPayload *rtp_raw = dynamic_cast(rtp.payload()); - SrsBuffer b((char *)rtp_raw->payload, rtp_raw->nn_payload); + SrsBuffer b((char *)rtp_raw->payload_, rtp_raw->nn_payload_); // There should be one audio message. HELPER_ASSERT_SUCCESS(context.decode(&b, handler.clear())); @@ -159,7 +159,7 @@ VOID TEST(KernelPSTest, PsPacketDecodeNormal) } SrsRtpRawPayload *rtp_raw = dynamic_cast(rtp.payload()); - SrsBuffer b((char *)rtp_raw->payload, rtp_raw->nn_payload); + SrsBuffer b((char *)rtp_raw->payload_, rtp_raw->nn_payload_); // There should be another audio message. HELPER_ASSERT_SUCCESS(context.decode(&b, handler.clear())); @@ -181,7 +181,7 @@ VOID TEST(KernelPSTest, PsPacketDecodeNormal) } SrsRtpRawPayload *rtp_raw = dynamic_cast(rtp.payload()); - SrsBuffer b((char *)rtp_raw->payload, rtp_raw->nn_payload); + SrsBuffer b((char *)rtp_raw->payload_, rtp_raw->nn_payload_); // There should be another audio message. HELPER_ASSERT_SUCCESS(context.decode(&b, handler.clear())); @@ -424,10 +424,10 @@ VOID TEST(KernelRTMPExtTest, ExtRTMPTest) HELPER_EXPECT_SUCCESS(f.on_video(0, (char *)"\x17\x01\x00\x00\x12", 5)); // Verify the frame type, codec id, avc packet type and composition time. - EXPECT_EQ(SrsVideoAvcFrameTypeKeyFrame, f.video->frame_type); - EXPECT_EQ(SrsVideoCodecIdAVC, f.vcodec->id); - EXPECT_EQ(SrsVideoAvcFrameTraitNALU, f.video->avc_packet_type); - EXPECT_EQ(0x12, f.video->cts); + EXPECT_EQ(SrsVideoAvcFrameTypeKeyFrame, f.video_->frame_type_); + EXPECT_EQ(SrsVideoCodecIdAVC, f.vcodec_->id_); + EXPECT_EQ(SrsVideoAvcFrameTraitNALU, f.video_->avc_packet_type_); + EXPECT_EQ(0x12, f.video_->cts_); } // For new RTMP enhanced specification, with ext tag header. @@ -437,10 +437,10 @@ VOID TEST(KernelRTMPExtTest, ExtRTMPTest) HELPER_EXPECT_SUCCESS(f.on_video(0, (char *)"\x91hvc1\x00\x00\x12", 8)); // Verify the frame type, codec id, avc packet type and composition time. - EXPECT_EQ(SrsVideoAvcFrameTypeKeyFrame, f.video->frame_type); - EXPECT_EQ(SrsVideoCodecIdHEVC, f.vcodec->id); - EXPECT_EQ(SrsVideoHEVCFrameTraitPacketTypeCodedFrames, f.video->avc_packet_type); - EXPECT_EQ(0x12, f.video->cts); + EXPECT_EQ(SrsVideoAvcFrameTypeKeyFrame, f.video_->frame_type_); + EXPECT_EQ(SrsVideoCodecIdHEVC, f.vcodec_->id_); + EXPECT_EQ(SrsVideoHEVCFrameTraitPacketTypeCodedFrames, f.video_->avc_packet_type_); + EXPECT_EQ(0x12, f.video_->cts_); } // If packet type is 3, which is coded frame X, the composition time is 0. @@ -450,10 +450,10 @@ VOID TEST(KernelRTMPExtTest, ExtRTMPTest) HELPER_EXPECT_SUCCESS(f.on_video(0, (char *)"\x93hvc1", 5)); // Verify the frame type, codec id, avc packet type and composition time. - EXPECT_EQ(SrsVideoAvcFrameTypeKeyFrame, f.video->frame_type); - EXPECT_EQ(SrsVideoCodecIdHEVC, f.vcodec->id); - EXPECT_EQ(SrsVideoHEVCFrameTraitPacketTypeCodedFramesX, f.video->avc_packet_type); - EXPECT_EQ(0, f.video->cts); + EXPECT_EQ(SrsVideoAvcFrameTypeKeyFrame, f.video_->frame_type_); + EXPECT_EQ(SrsVideoCodecIdHEVC, f.vcodec_->id_); + EXPECT_EQ(SrsVideoHEVCFrameTraitPacketTypeCodedFramesX, f.video_->avc_packet_type_); + EXPECT_EQ(0, f.video_->cts_); } // Should fail if only 1 byte for ext tag header, should be more bytes for fourcc. diff --git a/trunk/src/utest/srs_utest_mp4.cpp b/trunk/src/utest/srs_utest_mp4.cpp index e167c696f..890f90f74 100644 --- a/trunk/src/utest/srs_utest_mp4.cpp +++ b/trunk/src/utest/srs_utest_mp4.cpp @@ -230,7 +230,7 @@ VOID TEST(KernelMp4Test, DiscoveryBox) b.write_4bytes(SrsMp4BoxTypeEDTS); b.skip(-8); HELPER_ASSERT_SUCCESS(SrsMp4Box::discovery(&b, &pbox)); - ASSERT_EQ(SrsMp4BoxTypeEDTS, pbox->type); + ASSERT_EQ(SrsMp4BoxTypeEDTS, pbox->type_); srs_freep(pbox); } @@ -241,7 +241,7 @@ VOID TEST(KernelMp4Test, DiscoveryBox) b.write_4bytes(SrsMp4BoxTypeELST); b.skip(-8); HELPER_ASSERT_SUCCESS(SrsMp4Box::discovery(&b, &pbox)); - ASSERT_EQ(SrsMp4BoxTypeELST, pbox->type); + ASSERT_EQ(SrsMp4BoxTypeELST, pbox->type_); srs_freep(pbox); } @@ -252,7 +252,7 @@ VOID TEST(KernelMp4Test, DiscoveryBox) b.write_4bytes(SrsMp4BoxTypeURN); b.skip(-8); HELPER_ASSERT_SUCCESS(SrsMp4Box::discovery(&b, &pbox)); - ASSERT_EQ(SrsMp4BoxTypeURN, pbox->type); + ASSERT_EQ(SrsMp4BoxTypeURN, pbox->type_); srs_freep(pbox); } @@ -263,7 +263,7 @@ VOID TEST(KernelMp4Test, DiscoveryBox) b.write_4bytes(SrsMp4BoxTypeCTTS); b.skip(-8); HELPER_ASSERT_SUCCESS(SrsMp4Box::discovery(&b, &pbox)); - ASSERT_EQ(SrsMp4BoxTypeCTTS, pbox->type); + ASSERT_EQ(SrsMp4BoxTypeCTTS, pbox->type_); srs_freep(pbox); } @@ -274,7 +274,7 @@ VOID TEST(KernelMp4Test, DiscoveryBox) b.write_4bytes(SrsMp4BoxTypeCO64); b.skip(-8); HELPER_ASSERT_SUCCESS(SrsMp4Box::discovery(&b, &pbox)); - ASSERT_EQ(SrsMp4BoxTypeCO64, pbox->type); + ASSERT_EQ(SrsMp4BoxTypeCO64, pbox->type_); srs_freep(pbox); } @@ -285,7 +285,7 @@ VOID TEST(KernelMp4Test, DiscoveryBox) b.write_4bytes(SrsMp4BoxTypeUDTA); b.skip(-8); HELPER_ASSERT_SUCCESS(SrsMp4Box::discovery(&b, &pbox)); - ASSERT_EQ(SrsMp4BoxTypeUDTA, pbox->type); + ASSERT_EQ(SrsMp4BoxTypeUDTA, pbox->type_); srs_freep(pbox); } @@ -296,7 +296,7 @@ VOID TEST(KernelMp4Test, DiscoveryBox) b.write_4bytes(SrsMp4BoxTypeMVEX); b.skip(-8); HELPER_ASSERT_SUCCESS(SrsMp4Box::discovery(&b, &pbox)); - ASSERT_EQ(SrsMp4BoxTypeMVEX, pbox->type); + ASSERT_EQ(SrsMp4BoxTypeMVEX, pbox->type_); srs_freep(pbox); } @@ -307,7 +307,7 @@ VOID TEST(KernelMp4Test, DiscoveryBox) b.write_4bytes(SrsMp4BoxTypeTREX); b.skip(-8); HELPER_ASSERT_SUCCESS(SrsMp4Box::discovery(&b, &pbox)); - ASSERT_EQ(SrsMp4BoxTypeTREX, pbox->type); + ASSERT_EQ(SrsMp4BoxTypeTREX, pbox->type_); srs_freep(pbox); } @@ -318,7 +318,7 @@ VOID TEST(KernelMp4Test, DiscoveryBox) b.write_4bytes(SrsMp4BoxTypeSTYP); b.skip(-8); HELPER_ASSERT_SUCCESS(SrsMp4Box::discovery(&b, &pbox)); - ASSERT_EQ(SrsMp4BoxTypeSTYP, pbox->type); + ASSERT_EQ(SrsMp4BoxTypeSTYP, pbox->type_); srs_freep(pbox); } @@ -329,7 +329,7 @@ VOID TEST(KernelMp4Test, DiscoveryBox) b.write_4bytes(SrsMp4BoxTypeMOOF); b.skip(-8); HELPER_ASSERT_SUCCESS(SrsMp4Box::discovery(&b, &pbox)); - ASSERT_EQ(SrsMp4BoxTypeMOOF, pbox->type); + ASSERT_EQ(SrsMp4BoxTypeMOOF, pbox->type_); srs_freep(pbox); } @@ -340,7 +340,7 @@ VOID TEST(KernelMp4Test, DiscoveryBox) b.write_4bytes(SrsMp4BoxTypeMFHD); b.skip(-8); HELPER_ASSERT_SUCCESS(SrsMp4Box::discovery(&b, &pbox)); - ASSERT_EQ(SrsMp4BoxTypeMFHD, pbox->type); + ASSERT_EQ(SrsMp4BoxTypeMFHD, pbox->type_); srs_freep(pbox); } @@ -351,7 +351,7 @@ VOID TEST(KernelMp4Test, DiscoveryBox) b.write_4bytes(SrsMp4BoxTypeTRAF); b.skip(-8); HELPER_ASSERT_SUCCESS(SrsMp4Box::discovery(&b, &pbox)); - ASSERT_EQ(SrsMp4BoxTypeTRAF, pbox->type); + ASSERT_EQ(SrsMp4BoxTypeTRAF, pbox->type_); srs_freep(pbox); } @@ -362,7 +362,7 @@ VOID TEST(KernelMp4Test, DiscoveryBox) b.write_4bytes(SrsMp4BoxTypeTFHD); b.skip(-8); HELPER_ASSERT_SUCCESS(SrsMp4Box::discovery(&b, &pbox)); - ASSERT_EQ(SrsMp4BoxTypeTFHD, pbox->type); + ASSERT_EQ(SrsMp4BoxTypeTFHD, pbox->type_); srs_freep(pbox); } @@ -373,7 +373,7 @@ VOID TEST(KernelMp4Test, DiscoveryBox) b.write_4bytes(SrsMp4BoxTypeTFDT); b.skip(-8); HELPER_ASSERT_SUCCESS(SrsMp4Box::discovery(&b, &pbox)); - ASSERT_EQ(SrsMp4BoxTypeTFDT, pbox->type); + ASSERT_EQ(SrsMp4BoxTypeTFDT, pbox->type_); srs_freep(pbox); } @@ -384,7 +384,7 @@ VOID TEST(KernelMp4Test, DiscoveryBox) b.write_4bytes(SrsMp4BoxTypeTRUN); b.skip(-8); HELPER_ASSERT_SUCCESS(SrsMp4Box::discovery(&b, &pbox)); - ASSERT_EQ(SrsMp4BoxTypeTRUN, pbox->type); + ASSERT_EQ(SrsMp4BoxTypeTRUN, pbox->type_); srs_freep(pbox); } @@ -395,7 +395,7 @@ VOID TEST(KernelMp4Test, DiscoveryBox) b.write_4bytes(SrsMp4BoxTypeSIDX); b.skip(-8); HELPER_ASSERT_SUCCESS(SrsMp4Box::discovery(&b, &pbox)); - ASSERT_EQ(SrsMp4BoxTypeSIDX, pbox->type); + ASSERT_EQ(SrsMp4BoxTypeSIDX, pbox->type_); srs_freep(pbox); } } @@ -459,7 +459,7 @@ VOID TEST(KernelMp4Test, UUIDBoxDecode) b.write_4bytes(SrsMp4BoxTypeUUID); b.skip(-8); HELPER_ASSERT_SUCCESS(SrsMp4Box::discovery(&b, &pbox)); - ASSERT_EQ(SrsMp4BoxTypeUUID, pbox->type); + ASSERT_EQ(SrsMp4BoxTypeUUID, pbox->type_); HELPER_EXPECT_SUCCESS(pbox->decode(&b)); srs_freep(pbox); } @@ -471,7 +471,7 @@ VOID TEST(KernelMp4Test, UUIDBoxDecode) b.write_4bytes(SrsMp4BoxTypeUUID); b.skip(-8); HELPER_ASSERT_SUCCESS(SrsMp4Box::discovery(&b, &pbox)); - ASSERT_EQ(SrsMp4BoxTypeUUID, pbox->type); + ASSERT_EQ(SrsMp4BoxTypeUUID, pbox->type_); srs_freep(pbox); } @@ -482,7 +482,7 @@ VOID TEST(KernelMp4Test, UUIDBoxDecode) b.write_4bytes(SrsMp4BoxTypeUUID); b.skip(-8); HELPER_ASSERT_SUCCESS(SrsMp4Box::discovery(&b, &pbox)); - ASSERT_EQ(SrsMp4BoxTypeUUID, pbox->type); + ASSERT_EQ(SrsMp4BoxTypeUUID, pbox->type_); srs_freep(pbox); } } @@ -496,8 +496,8 @@ VOID TEST(KernelMp4Test, UUIDBoxEncode) SrsBuffer b(data, 8); SrsMp4Box box; - box.type = SrsMp4BoxTypeFREE; - box.usertype.resize(8); + box.type_ = SrsMp4BoxTypeFREE; + box.usertype_.resize(8); ASSERT_EQ(8, (int)box.nb_bytes()); HELPER_ASSERT_SUCCESS(box.encode(&b)); } @@ -507,8 +507,8 @@ VOID TEST(KernelMp4Test, UUIDBoxEncode) SrsBuffer b(data, 24); SrsMp4Box box; - box.type = SrsMp4BoxTypeUUID; - box.usertype.resize(16); + box.type_ = SrsMp4BoxTypeUUID; + box.usertype_.resize(16); ASSERT_EQ(24, (int)box.nb_bytes()); HELPER_ASSERT_SUCCESS(box.encode(&b)); } @@ -529,14 +529,14 @@ VOID TEST(KernelMp4Test, FullBoxDump) SrsMp4FullBox box; HELPER_ASSERT_SUCCESS(box.decode(&b)); - EXPECT_EQ(1, box.version); - EXPECT_EQ(2, (int)box.flags); + EXPECT_EQ(1, box.version_); + EXPECT_EQ(2, (int)box.flags_); } if (true) { SrsMp4FileTypeBox box; - box.major_brand = SrsMp4BoxBrandISO2; - box.compatible_brands.push_back(SrsMp4BoxBrandISOM); + box.major_brand_ = SrsMp4BoxBrandISO2; + box.compatible_brands_.push_back(SrsMp4BoxBrandISOM); EXPECT_EQ(20, (int)box.update_size()); stringstream ss; @@ -549,9 +549,9 @@ VOID TEST(KernelMp4Test, FullBoxDump) if (true) { SrsMp4FullBox box; - box.type = SrsMp4BoxTypeFTYP; - box.version = 1; - box.flags = 0x02; + box.type_ = SrsMp4BoxTypeFTYP; + box.version_ = 1; + box.flags_ = 0x02; EXPECT_EQ(12, (int)box.update_size()); stringstream ss; @@ -564,8 +564,8 @@ VOID TEST(KernelMp4Test, FullBoxDump) if (true) { SrsMp4FullBox box; - box.type = SrsMp4BoxTypeFTYP; - box.version = 1; + box.type_ = SrsMp4BoxTypeFTYP; + box.version_ = 1; EXPECT_EQ(12, (int)box.update_size()); stringstream ss; @@ -578,7 +578,7 @@ VOID TEST(KernelMp4Test, FullBoxDump) if (true) { SrsMp4FullBox box; - box.type = SrsMp4BoxTypeFTYP; + box.type_ = SrsMp4BoxTypeFTYP; EXPECT_EQ(12, (int)box.update_size()); stringstream ss; @@ -621,12 +621,12 @@ VOID TEST(KernelMp4Test, MFHDBox) SrsMp4MovieFragmentHeaderBox box; HELPER_ASSERT_SUCCESS(box.decode(&b)); - EXPECT_EQ(3, (int)box.sequence_number); + EXPECT_EQ(3, (int)box.sequence_number_); } if (true) { SrsMp4MovieFragmentHeaderBox box; - box.sequence_number = 3; + box.sequence_number_ = 3; EXPECT_EQ(16, (int)box.update_size()); stringstream ss; @@ -652,7 +652,7 @@ VOID TEST(KernelMp4Test, TFHDBox) if (true) { SrsMp4TrackFragmentHeaderBox box; - box.track_id = 100; + box.track_id_ = 100; EXPECT_EQ((int)sizeof(buf), (int)box.nb_bytes()); HELPER_EXPECT_SUCCESS(box.encode(&b)); @@ -668,7 +668,7 @@ VOID TEST(KernelMp4Test, TFHDBox) b.skip(-1 * b.pos()); SrsMp4TrackFragmentHeaderBox box; HELPER_EXPECT_SUCCESS(box.decode(&b)); - EXPECT_EQ(100, (int)box.track_id); + EXPECT_EQ(100, (int)box.track_id_); } } @@ -678,13 +678,13 @@ VOID TEST(KernelMp4Test, TFHDBox) if (true) { SrsMp4TrackFragmentHeaderBox box; - box.track_id = 100; - box.flags = SrsMp4TfhdFlagsBaseDataOffset | SrsMp4TfhdFlagsSampleDescriptionIndex | SrsMp4TfhdFlagsDefaultSampleDuration | SrsMp4TfhdFlagsDefautlSampleSize | SrsMp4TfhdFlagsDefaultSampleFlags | SrsMp4TfhdFlagsDurationIsEmpty | SrsMp4TfhdFlagsDefaultBaseIsMoof; - box.base_data_offset = 10; - box.sample_description_index = 11; - box.default_sample_duration = 12; - box.default_sample_size = 13; - box.default_sample_flags = 14; + box.track_id_ = 100; + box.flags_ = SrsMp4TfhdFlagsBaseDataOffset | SrsMp4TfhdFlagsSampleDescriptionIndex | SrsMp4TfhdFlagsDefaultSampleDuration | SrsMp4TfhdFlagsDefautlSampleSize | SrsMp4TfhdFlagsDefaultSampleFlags | SrsMp4TfhdFlagsDurationIsEmpty | SrsMp4TfhdFlagsDefaultBaseIsMoof; + box.base_data_offset_ = 10; + box.sample_description_index_ = 11; + box.default_sample_duration_ = 12; + box.default_sample_size_ = 13; + box.default_sample_flags_ = 14; EXPECT_EQ((int)sizeof(buf), (int)box.nb_bytes()); HELPER_EXPECT_SUCCESS(box.encode(&b)); @@ -700,12 +700,12 @@ VOID TEST(KernelMp4Test, TFHDBox) b.skip(-1 * b.pos()); SrsMp4TrackFragmentHeaderBox box; HELPER_EXPECT_SUCCESS(box.decode(&b)); - EXPECT_EQ((int)box.track_id, 100); - EXPECT_EQ((int)box.base_data_offset, 10); - EXPECT_EQ((int)box.sample_description_index, 11); - EXPECT_EQ((int)box.default_sample_duration, 12); - EXPECT_EQ((int)box.default_sample_size, 13); - EXPECT_EQ((int)box.default_sample_flags, 14); + EXPECT_EQ((int)box.track_id_, 100); + EXPECT_EQ((int)box.base_data_offset_, 10); + EXPECT_EQ((int)box.sample_description_index_, 11); + EXPECT_EQ((int)box.default_sample_duration_, 12); + EXPECT_EQ((int)box.default_sample_size_, 13); + EXPECT_EQ((int)box.default_sample_flags_, 14); } } } @@ -720,7 +720,7 @@ VOID TEST(KernelMp4Test, TFDTBox) if (true) { SrsMp4TrackFragmentDecodeTimeBox box; - box.base_media_decode_time = 100; + box.base_media_decode_time_ = 100; EXPECT_EQ((int)sizeof(buf), (int)box.nb_bytes()); HELPER_EXPECT_SUCCESS(box.encode(&b)); @@ -736,7 +736,7 @@ VOID TEST(KernelMp4Test, TFDTBox) b.skip(-1 * b.pos()); SrsMp4TrackFragmentDecodeTimeBox box; HELPER_EXPECT_SUCCESS(box.decode(&b)); - EXPECT_EQ(100, (int)box.base_media_decode_time); + EXPECT_EQ(100, (int)box.base_media_decode_time_); } } @@ -746,8 +746,8 @@ VOID TEST(KernelMp4Test, TFDTBox) if (true) { SrsMp4TrackFragmentDecodeTimeBox box; - box.version = 1; - box.base_media_decode_time = 100; + box.version_ = 1; + box.base_media_decode_time_ = 100; EXPECT_EQ((int)sizeof(buf), (int)box.nb_bytes()); HELPER_EXPECT_SUCCESS(box.encode(&b)); @@ -763,7 +763,7 @@ VOID TEST(KernelMp4Test, TFDTBox) b.skip(-1 * b.pos()); SrsMp4TrackFragmentDecodeTimeBox box; HELPER_EXPECT_SUCCESS(box.decode(&b)); - EXPECT_EQ(100, (int)box.base_media_decode_time); + EXPECT_EQ(100, (int)box.base_media_decode_time_); } } } @@ -802,11 +802,11 @@ VOID TEST(KernelMp4Test, TRUNBox) if (true) { SrsMp4TrackFragmentRunBox box; - box.flags = SrsMp4TrunFlagsSampleDuration; + box.flags_ = SrsMp4TrunFlagsSampleDuration; SrsMp4TrunEntry *entry = new SrsMp4TrunEntry(&box); - entry->sample_duration = 1000; - box.entries.push_back(entry); + entry->sample_duration_ = 1000; + box.entries_.push_back(entry); EXPECT_EQ((int)sizeof(buf), (int)box.nb_bytes()); HELPER_EXPECT_SUCCESS(box.encode(&b)); @@ -823,10 +823,10 @@ VOID TEST(KernelMp4Test, TRUNBox) b.skip(-1 * b.pos()); SrsMp4TrackFragmentRunBox box; HELPER_EXPECT_SUCCESS(box.decode(&b)); - ASSERT_EQ(1, (int)box.entries.size()); + ASSERT_EQ(1, (int)box.entries_.size()); - SrsMp4TrunEntry *entry = box.entries.at(0); - EXPECT_EQ(1000, (int)entry->sample_duration); + SrsMp4TrunEntry *entry = box.entries_.at(0); + EXPECT_EQ(1000, (int)entry->sample_duration_); } } } @@ -841,7 +841,7 @@ VOID TEST(KernelMp4Test, FreeBox) if (true) { SrsMp4FreeSpaceBox box(SrsMp4BoxTypeFREE); - box.data.resize(4); + box.data_.resize(4); EXPECT_EQ((int)sizeof(buf), (int)box.nb_bytes()); HELPER_EXPECT_SUCCESS(box.encode(&b)); @@ -857,7 +857,7 @@ VOID TEST(KernelMp4Test, FreeBox) b.skip(-1 * b.pos()); SrsMp4FreeSpaceBox box(SrsMp4BoxTypeSKIP); HELPER_EXPECT_SUCCESS(box.decode(&b)); - EXPECT_EQ(4, (int)box.data.size()); + EXPECT_EQ(4, (int)box.data_.size()); } } } @@ -911,7 +911,7 @@ VOID TEST(KernelMp4Test, MOOVBox) if (true) { SrsMp4MediaBox *media = new SrsMp4MediaBox(); SrsMp4HandlerReferenceBox *hdr = new SrsMp4HandlerReferenceBox(); - hdr->handler_type = SrsMp4HandlerTypeVIDE; + hdr->handler_type_ = SrsMp4HandlerTypeVIDE; media->set_hdlr(hdr); video->set_mdia(media); } @@ -923,7 +923,7 @@ VOID TEST(KernelMp4Test, MOOVBox) if (true) { SrsMp4MediaBox *media = new SrsMp4MediaBox(); SrsMp4HandlerReferenceBox *hdr = new SrsMp4HandlerReferenceBox(); - hdr->handler_type = SrsMp4HandlerTypeSOUN; + hdr->handler_type_ = SrsMp4HandlerTypeSOUN; media->set_hdlr(hdr); audio->set_mdia(media); } @@ -943,11 +943,11 @@ VOID TEST(KernelMp4Test, TREXBox) if (true) { SrsMp4TrackExtendsBox box; - box.track_ID = 1; - box.default_sample_description_index = 2; - box.default_sample_size = 3; - box.default_sample_duration = 4; - box.default_sample_flags = 5; + box.track_ID_ = 1; + box.default_sample_description_index_ = 2; + box.default_sample_size_ = 3; + box.default_sample_duration_ = 4; + box.default_sample_flags_ = 5; EXPECT_EQ((int)sizeof(buf), (int)box.nb_bytes()); HELPER_EXPECT_SUCCESS(box.encode(&b)); @@ -963,11 +963,11 @@ VOID TEST(KernelMp4Test, TREXBox) b.skip(-1 * b.pos()); SrsMp4TrackExtendsBox box; HELPER_EXPECT_SUCCESS(box.decode(&b)); - EXPECT_EQ((int)box.track_ID, 1); - EXPECT_EQ((int)box.default_sample_description_index, 2); - EXPECT_EQ((int)box.default_sample_size, 3); - EXPECT_EQ((int)box.default_sample_duration, 4); - EXPECT_EQ((int)box.default_sample_flags, 5); + EXPECT_EQ((int)box.track_ID_, 1); + EXPECT_EQ((int)box.default_sample_description_index_, 2); + EXPECT_EQ((int)box.default_sample_size_, 3); + EXPECT_EQ((int)box.default_sample_duration_, 4); + EXPECT_EQ((int)box.default_sample_flags_, 5); } } @@ -988,7 +988,7 @@ VOID TEST(KernelMp4Test, TKHDBox) if (true) { SrsMp4TrackHeaderBox box; - box.track_ID = 1; + box.track_ID_ = 1; EXPECT_EQ((int)sizeof(buf), (int)box.nb_bytes()); HELPER_EXPECT_SUCCESS(box.encode(&b)); @@ -1004,7 +1004,7 @@ VOID TEST(KernelMp4Test, TKHDBox) b.skip(-1 * b.pos()); SrsMp4TrackHeaderBox box; HELPER_EXPECT_SUCCESS(box.decode(&b)); - EXPECT_EQ((int)box.track_ID, 1); + EXPECT_EQ((int)box.track_ID_, 1); } } @@ -1014,8 +1014,8 @@ VOID TEST(KernelMp4Test, TKHDBox) if (true) { SrsMp4TrackHeaderBox box; - box.version = 1; - box.track_ID = 1; + box.version_ = 1; + box.track_ID_ = 1; EXPECT_EQ((int)sizeof(buf), (int)box.nb_bytes()); HELPER_EXPECT_SUCCESS(box.encode(&b)); @@ -1031,7 +1031,7 @@ VOID TEST(KernelMp4Test, TKHDBox) b.skip(-1 * b.pos()); SrsMp4TrackHeaderBox box; HELPER_EXPECT_SUCCESS(box.decode(&b)); - EXPECT_EQ((int)box.track_ID, 1); + EXPECT_EQ((int)box.track_ID_, 1); } } } @@ -1072,7 +1072,7 @@ VOID TEST(KernelMp4Test, ELSTBox) SrsMp4EditListBox box; if (true) { SrsMp4ElstEntry entry; - box.entries.push_back(entry); + box.entries_.push_back(entry); } EXPECT_EQ((int)sizeof(buf), (int)box.nb_bytes()); HELPER_EXPECT_SUCCESS(box.encode(&b)); @@ -1170,13 +1170,13 @@ VOID TEST(KernelMp4Test, MDHDBox) if (true) { SrsMp4HandlerReferenceBox box; - box.handler_type = SrsMp4HandlerTypeVIDE; + box.handler_type_ = SrsMp4HandlerTypeVIDE; EXPECT_TRUE(box.is_video()); } if (true) { SrsMp4HandlerReferenceBox box; - box.handler_type = SrsMp4HandlerTypeSOUN; + box.handler_type_ = SrsMp4HandlerTypeSOUN; EXPECT_TRUE(box.is_audio()); } } @@ -1191,7 +1191,7 @@ VOID TEST(KernelMp4Test, HDLRBox) if (true) { SrsMp4HandlerReferenceBox box; - box.handler_type = SrsMp4HandlerTypeSOUN; + box.handler_type_ = SrsMp4HandlerTypeSOUN; EXPECT_EQ((int)sizeof(buf), (int)box.nb_bytes()); HELPER_EXPECT_SUCCESS(box.encode(&b)); @@ -1207,7 +1207,7 @@ VOID TEST(KernelMp4Test, HDLRBox) b.skip(-1 * b.pos()); SrsMp4HandlerReferenceBox box; HELPER_EXPECT_SUCCESS(box.decode(&b)); - EXPECT_EQ(SrsMp4HandlerTypeSOUN, box.handler_type); + EXPECT_EQ(SrsMp4HandlerTypeSOUN, box.handler_type_); } } @@ -1217,7 +1217,7 @@ VOID TEST(KernelMp4Test, HDLRBox) if (true) { SrsMp4HandlerReferenceBox box; - box.handler_type = SrsMp4HandlerTypeVIDE; + box.handler_type_ = SrsMp4HandlerTypeVIDE; EXPECT_EQ((int)sizeof(buf), (int)box.nb_bytes()); HELPER_EXPECT_SUCCESS(box.encode(&b)); @@ -1233,7 +1233,7 @@ VOID TEST(KernelMp4Test, HDLRBox) b.skip(-1 * b.pos()); SrsMp4HandlerReferenceBox box; HELPER_EXPECT_SUCCESS(box.decode(&b)); - EXPECT_EQ(SrsMp4HandlerTypeVIDE, box.handler_type); + EXPECT_EQ(SrsMp4HandlerTypeVIDE, box.handler_type_); } } @@ -1243,8 +1243,8 @@ VOID TEST(KernelMp4Test, HDLRBox) if (true) { SrsMp4HandlerReferenceBox box; - box.handler_type = SrsMp4HandlerTypeVIDE; - box.name = "srs"; + box.handler_type_ = SrsMp4HandlerTypeVIDE; + box.name_ = "srs"; EXPECT_EQ((int)sizeof(buf), (int)box.nb_bytes()); HELPER_EXPECT_SUCCESS(box.encode(&b)); @@ -1260,7 +1260,7 @@ VOID TEST(KernelMp4Test, HDLRBox) b.skip(-1 * b.pos()); SrsMp4HandlerReferenceBox box; HELPER_EXPECT_SUCCESS(box.decode(&b)); - EXPECT_EQ(SrsMp4HandlerTypeVIDE, box.handler_type); + EXPECT_EQ(SrsMp4HandlerTypeVIDE, box.handler_type_); } } @@ -1396,7 +1396,7 @@ VOID TEST(KernelMp4Test, SampleDescBox) if (true) { SrsMp4VisualSampleEntry box = SrsMp4VisualSampleEntry(SrsMp4BoxTypeAVC1); - box.data_reference_index = 1; + box.data_reference_index_ = 1; EXPECT_EQ((int)sizeof(buf), (int)box.nb_bytes()); HELPER_EXPECT_SUCCESS(box.encode(&b)); @@ -1445,7 +1445,7 @@ VOID TEST(KernelMp4Test, SampleDescBox) if (true) { SrsMp4VisualSampleEntry box = SrsMp4VisualSampleEntry(SrsMp4BoxTypeHEV1); - box.data_reference_index = 1; + box.data_reference_index_ = 1; EXPECT_EQ((int)sizeof(buf), (int)box.nb_bytes()); HELPER_EXPECT_SUCCESS(box.encode(&b)); @@ -1494,7 +1494,7 @@ VOID TEST(KernelMp4Test, SampleDescBox) if (true) { SrsMp4AudioSampleEntry box; - box.data_reference_index = 1; + box.data_reference_index_ = 1; EXPECT_EQ((int)sizeof(buf), (int)box.nb_bytes()); HELPER_EXPECT_SUCCESS(box.encode(&b)); @@ -1524,7 +1524,7 @@ VOID TEST(KernelMp4Test, SpecificInfoBox) if (true) { SrsMp4DecoderSpecificInfo box; - box.asc.resize(2); + box.asc_.resize(2); EXPECT_EQ((int)sizeof(buf), (int)box.nb_bytes()); HELPER_EXPECT_SUCCESS(box.encode(&b)); @@ -1602,7 +1602,7 @@ VOID TEST(KernelMp4Test, STSDBox) if (true) { SrsMp4SampleDescriptionBox box; - box.entries.push_back(new SrsMp4SampleEntry()); + box.entries_.push_back(new SrsMp4SampleEntry()); EXPECT_EQ((int)sizeof(buf), (int)box.nb_bytes()); HELPER_EXPECT_SUCCESS(box.encode(&b)); @@ -1627,7 +1627,7 @@ VOID TEST(KernelMp4Test, STSDBox) if (true) { SrsMp4DecodingTime2SampleBox box; - box.entries.push_back(SrsMp4SttsEntry()); + box.entries_.push_back(SrsMp4SttsEntry()); EXPECT_EQ((int)sizeof(buf), (int)box.nb_bytes()); HELPER_EXPECT_SUCCESS(box.encode(&b)); @@ -1652,7 +1652,7 @@ VOID TEST(KernelMp4Test, STSDBox) if (true) { SrsMp4CompositionTime2SampleBox box; - box.entries.push_back(SrsMp4CttsEntry()); + box.entries_.push_back(SrsMp4CttsEntry()); EXPECT_EQ((int)sizeof(buf), (int)box.nb_bytes()); HELPER_EXPECT_SUCCESS(box.encode(&b)); @@ -1797,7 +1797,7 @@ VOID TEST(KernelMp4Test, STSDBox) if (true) { SrsMp4UserDataBox box; - box.data.resize(2); + box.data_.resize(2); EXPECT_EQ((int)sizeof(buf), (int)box.nb_bytes()); HELPER_EXPECT_SUCCESS(box.encode(&b)); @@ -1915,11 +1915,11 @@ VOID TEST(KernelMp4Test, SAIZBox) HELPER_ASSERT_SUCCESS(saiz.decode(&b)); EXPECT_EQ(17, (int)saiz.nb_header()); - EXPECT_EQ(0, (int)saiz.version); - EXPECT_EQ(0, (int)saiz.flags); - EXPECT_EQ(1, (int)saiz.default_sample_info_size); - EXPECT_EQ(0, (int)saiz.sample_count); - EXPECT_EQ(0, saiz.sample_info_sizes.size()); + EXPECT_EQ(0, (int)saiz.version_); + EXPECT_EQ(0, (int)saiz.flags_); + EXPECT_EQ(1, (int)saiz.default_sample_info_size_); + EXPECT_EQ(0, (int)saiz.sample_count_); + EXPECT_EQ(0, saiz.sample_info_sizes_.size()); } // flags & 1 == 1; default_sample_info_size == 1 @@ -1940,13 +1940,13 @@ VOID TEST(KernelMp4Test, SAIZBox) HELPER_ASSERT_SUCCESS(saiz.decode(&b)); EXPECT_EQ(25, (int)saiz.nb_header()); - EXPECT_EQ(0, (int)saiz.version); - EXPECT_EQ(1, (int)saiz.flags); - EXPECT_EQ(1, (int)saiz.aux_info_type); - EXPECT_EQ(2, (int)saiz.aux_info_type_parameter); - EXPECT_EQ(1, (int)saiz.default_sample_info_size); - EXPECT_EQ(0, (int)saiz.sample_count); - EXPECT_EQ(0, saiz.sample_info_sizes.size()); + EXPECT_EQ(0, (int)saiz.version_); + EXPECT_EQ(1, (int)saiz.flags_); + EXPECT_EQ(1, (int)saiz.aux_info_type_); + EXPECT_EQ(2, (int)saiz.aux_info_type_parameter_); + EXPECT_EQ(1, (int)saiz.default_sample_info_size_); + EXPECT_EQ(0, (int)saiz.sample_count_); + EXPECT_EQ(0, saiz.sample_info_sizes_.size()); } // flags & 1 == 1; default_sample_info_size == 0; sample_count = 3; @@ -1970,23 +1970,23 @@ VOID TEST(KernelMp4Test, SAIZBox) HELPER_ASSERT_SUCCESS(saiz.decode(&b)); EXPECT_EQ(28, (int)saiz.nb_header()); - EXPECT_EQ(0, (int)saiz.version); - EXPECT_EQ(1, (int)saiz.flags); - EXPECT_EQ(1, (int)saiz.aux_info_type); - EXPECT_EQ(2, (int)saiz.aux_info_type_parameter); - EXPECT_EQ(0, (int)saiz.default_sample_info_size); - EXPECT_EQ(3, (int)saiz.sample_count); - EXPECT_EQ(3, saiz.sample_info_sizes.size()); - EXPECT_EQ(4, saiz.sample_info_sizes[0]); - EXPECT_EQ(5, saiz.sample_info_sizes[1]); - EXPECT_EQ(6, saiz.sample_info_sizes[2]); + EXPECT_EQ(0, (int)saiz.version_); + EXPECT_EQ(1, (int)saiz.flags_); + EXPECT_EQ(1, (int)saiz.aux_info_type_); + EXPECT_EQ(2, (int)saiz.aux_info_type_parameter_); + EXPECT_EQ(0, (int)saiz.default_sample_info_size_); + EXPECT_EQ(3, (int)saiz.sample_count_); + EXPECT_EQ(3, saiz.sample_info_sizes_.size()); + EXPECT_EQ(4, saiz.sample_info_sizes_[0]); + EXPECT_EQ(5, saiz.sample_info_sizes_[1]); + EXPECT_EQ(6, saiz.sample_info_sizes_[2]); } if (true) { SrsMp4SampleAuxiliaryInfoSizeBox saiz; - saiz.flags = 0; - saiz.default_sample_info_size = 1; - saiz.sample_count = 0; + saiz.flags_ = 0; + saiz.default_sample_info_size_ = 1; + saiz.sample_count_ = 0; EXPECT_EQ(17, saiz.nb_header()); @@ -1999,9 +1999,9 @@ VOID TEST(KernelMp4Test, SAIZBox) if (true) { SrsMp4SampleAuxiliaryInfoSizeBox saiz; - saiz.flags = 1; - saiz.default_sample_info_size = 1; - saiz.sample_count = 0; + saiz.flags_ = 1; + saiz.default_sample_info_size_ = 1; + saiz.sample_count_ = 0; EXPECT_EQ(25, saiz.nb_header()); stringstream ss; @@ -2013,10 +2013,10 @@ VOID TEST(KernelMp4Test, SAIZBox) if (true) { SrsMp4SampleAuxiliaryInfoSizeBox saiz; - saiz.flags = 1; - saiz.default_sample_info_size = 0; - saiz.sample_count = 1; - saiz.sample_info_sizes.push_back(4); + saiz.flags_ = 1; + saiz.default_sample_info_size_ = 0; + saiz.sample_count_ = 1; + saiz.sample_info_sizes_.push_back(4); EXPECT_EQ(26, saiz.nb_header()); stringstream ss; @@ -2046,10 +2046,10 @@ VOID TEST(KernelMp4Test, SAIOBox) HELPER_ASSERT_SUCCESS(saio.decode(&b)); EXPECT_EQ(20, (int)saio.nb_header()); - EXPECT_EQ(0, (int)saio.version); - EXPECT_EQ(0, (int)saio.flags); - EXPECT_EQ(1, (int)saio.offsets.size()); - EXPECT_EQ(2, (int)saio.offsets[0]); + EXPECT_EQ(0, (int)saio.version_); + EXPECT_EQ(0, (int)saio.flags_); + EXPECT_EQ(1, (int)saio.offsets_.size()); + EXPECT_EQ(2, (int)saio.offsets_[0]); } if (true) { @@ -2069,12 +2069,12 @@ VOID TEST(KernelMp4Test, SAIOBox) HELPER_ASSERT_SUCCESS(saio.decode(&b)); EXPECT_EQ(28, (int)saio.nb_header()); - EXPECT_EQ(0, (int)saio.version); - EXPECT_EQ(1, (int)saio.flags); - EXPECT_EQ(1, (int)saio.aux_info_type); - EXPECT_EQ(2, (int)saio.aux_info_type_parameter); - EXPECT_EQ(1, (int)saio.offsets.size()); - EXPECT_EQ(2, (int)saio.offsets[0]); + EXPECT_EQ(0, (int)saio.version_); + EXPECT_EQ(1, (int)saio.flags_); + EXPECT_EQ(1, (int)saio.aux_info_type_); + EXPECT_EQ(2, (int)saio.aux_info_type_parameter_); + EXPECT_EQ(1, (int)saio.offsets_.size()); + EXPECT_EQ(2, (int)saio.offsets_[0]); } if (true) { @@ -2094,19 +2094,19 @@ VOID TEST(KernelMp4Test, SAIOBox) HELPER_ASSERT_SUCCESS(saio.decode(&b)); EXPECT_EQ(32, (int)saio.nb_header()); - EXPECT_EQ(1, (int)saio.version); - EXPECT_EQ(1, (int)saio.flags); - EXPECT_EQ(1, (int)saio.aux_info_type); - EXPECT_EQ(2, (int)saio.aux_info_type_parameter); - EXPECT_EQ(1, (int)saio.offsets.size()); - EXPECT_EQ(2, (int)saio.offsets[0]); + EXPECT_EQ(1, (int)saio.version_); + EXPECT_EQ(1, (int)saio.flags_); + EXPECT_EQ(1, (int)saio.aux_info_type_); + EXPECT_EQ(2, (int)saio.aux_info_type_parameter_); + EXPECT_EQ(1, (int)saio.offsets_.size()); + EXPECT_EQ(2, (int)saio.offsets_[0]); } if (true) { SrsMp4SampleAuxiliaryInfoOffsetBox saio; - saio.version = 0; - saio.flags = 0; - saio.offsets.push_back(2); + saio.version_ = 0; + saio.flags_ = 0; + saio.offsets_.push_back(2); EXPECT_EQ(20, (int)saio.nb_header()); stringstream ss; @@ -2118,9 +2118,9 @@ VOID TEST(KernelMp4Test, SAIOBox) if (true) { SrsMp4SampleAuxiliaryInfoOffsetBox saio; - saio.version = 0; - saio.flags = 1; - saio.offsets.push_back(2); + saio.version_ = 0; + saio.flags_ = 1; + saio.offsets_.push_back(2); EXPECT_EQ(28, (int)saio.nb_header()); stringstream ss; @@ -2132,9 +2132,9 @@ VOID TEST(KernelMp4Test, SAIOBox) if (true) { SrsMp4SampleAuxiliaryInfoOffsetBox saio; - saio.version = 1; - saio.flags = 1; - saio.offsets.push_back(2); + saio.version_ = 1; + saio.flags_ = 1; + saio.offsets_.push_back(2); EXPECT_EQ(32, (int)saio.nb_header()); stringstream ss; @@ -2163,9 +2163,9 @@ VOID TEST(KernelMp4Test, SENCBox) HELPER_ASSERT_SUCCESS(senc.decode(&b)); EXPECT_EQ(16, (int)senc.nb_header()); - EXPECT_EQ(0, (int)senc.version); - EXPECT_EQ(0, (int)senc.flags); - EXPECT_EQ(0, (int)senc.entries.size()); + EXPECT_EQ(0, (int)senc.version_); + EXPECT_EQ(0, (int)senc.flags_); + EXPECT_EQ(0, (int)senc.entries_.size()); } if (true) { @@ -2183,9 +2183,9 @@ VOID TEST(KernelMp4Test, SENCBox) HELPER_ASSERT_SUCCESS(senc.decode(&b)); EXPECT_EQ(24, (int)senc.nb_header()); - EXPECT_EQ(0, (int)senc.version); - EXPECT_EQ(0, (int)senc.flags); - EXPECT_EQ(1, (int)senc.entries.size()); + EXPECT_EQ(0, (int)senc.version_); + EXPECT_EQ(0, (int)senc.flags_); + EXPECT_EQ(1, (int)senc.entries_.size()); } } @@ -2236,10 +2236,10 @@ VOID TEST(KernelMp4Test, SCHMBox) HELPER_ASSERT_SUCCESS(schm.decode(&b)); EXPECT_EQ(20, (int)schm.nb_header()); - EXPECT_EQ(0, (int)schm.version); - EXPECT_EQ(0, (int)schm.flags); - EXPECT_EQ(1, (int)schm.scheme_type); - EXPECT_EQ(2, (int)schm.scheme_version); + EXPECT_EQ(0, (int)schm.version_); + EXPECT_EQ(0, (int)schm.flags_); + EXPECT_EQ(1, (int)schm.scheme_type_); + EXPECT_EQ(2, (int)schm.scheme_version_); } if (true) { @@ -2260,10 +2260,10 @@ VOID TEST(KernelMp4Test, SCHMBox) HELPER_ASSERT_SUCCESS(schm.decode(&b)); EXPECT_EQ(24, (int)schm.nb_header()); - EXPECT_EQ(0, (int)schm.version); - EXPECT_EQ(1, (int)schm.flags); - EXPECT_EQ(1, (int)schm.scheme_type); - EXPECT_EQ(2, (int)schm.scheme_version); + EXPECT_EQ(0, (int)schm.version_); + EXPECT_EQ(1, (int)schm.flags_); + EXPECT_EQ(1, (int)schm.scheme_type_); + EXPECT_EQ(2, (int)schm.scheme_version_); stringstream ss; SrsMp4DumpContext dc; @@ -2369,17 +2369,17 @@ VOID TEST(KernelMp4Test, SrsFmp4SegmentEncoder) HELPER_ASSERT_SUCCESS(audio_fmt.on_audio(0, (char *)audio_raw, sizeof(audio_raw))); - SrsVideoAvcFrameType video_frame_type = video_fmt.video->frame_type; - uint32_t cts = (uint32_t)video_fmt.video->cts; + SrsVideoAvcFrameType video_frame_type = video_fmt.video_->frame_type_; + uint32_t cts = (uint32_t)video_fmt.video_->cts_; uint32_t dts = 0; uint32_t pts = dts + cts; - uint8_t *video_sample = (uint8_t *)video_fmt.raw; - uint32_t nb_video_sample = (uint32_t)video_fmt.nb_raw; + uint8_t *video_sample = (uint8_t *)video_fmt.raw_; + uint32_t nb_video_sample = (uint32_t)video_fmt.nb_raw_; encoder.write_sample(SrsMp4HandlerTypeVIDE, video_frame_type, dts, pts, video_sample, nb_video_sample); - uint8_t *audio_sample = (uint8_t *)audio_fmt.raw; - uint32_t nb_audio_sample = (uint32_t)audio_fmt.nb_raw; + uint8_t *audio_sample = (uint8_t *)audio_fmt.raw_; + uint32_t nb_audio_sample = (uint32_t)audio_fmt.nb_raw_; encoder.write_sample(SrsMp4HandlerTypeSOUN, 0, 0, 0, audio_sample, nb_audio_sample); encoder.flush(dts); EXPECT_TRUE(fw.filesize() > 0); @@ -2475,13 +2475,13 @@ VOID TEST(KernelMp4Test, SrsMp4DvrJitter) // Create audio sample that arrives first SrsMp4Sample audio_sample; - audio_sample.type = SrsFrameTypeAudio; - audio_sample.dts = 1000; // Audio starts at 1000us + audio_sample.type_ = SrsFrameTypeAudio; + audio_sample.dts_ = 1000; // Audio starts at 1000us // Create video sample that arrives later SrsMp4Sample video_sample; - video_sample.type = SrsFrameTypeVideo; - video_sample.dts = 2000; // Video starts at 2000us + video_sample.type_ = SrsFrameTypeVideo; + video_sample.dts_ = 2000; // Video starts at 2000us // Process samples jitter.on_sample(&audio_sample); @@ -2503,13 +2503,13 @@ VOID TEST(KernelMp4Test, SrsMp4DvrJitter) // Create video sample that arrives first SrsMp4Sample video_sample; - video_sample.type = SrsFrameTypeVideo; - video_sample.dts = 500; // Video starts at 500us + video_sample.type_ = SrsFrameTypeVideo; + video_sample.dts_ = 500; // Video starts at 500us // Create audio sample that arrives later SrsMp4Sample audio_sample; - audio_sample.type = SrsFrameTypeAudio; - audio_sample.dts = 1500; // Audio starts at 1500us + audio_sample.type_ = SrsFrameTypeAudio; + audio_sample.dts_ = 1500; // Audio starts at 1500us // Process samples jitter.on_sample(&video_sample); @@ -2531,12 +2531,12 @@ VOID TEST(KernelMp4Test, SrsMp4DvrJitter) // Create samples with same start time SrsMp4Sample audio_sample; - audio_sample.type = SrsFrameTypeAudio; - audio_sample.dts = 1000; + audio_sample.type_ = SrsFrameTypeAudio; + audio_sample.dts_ = 1000; SrsMp4Sample video_sample; - video_sample.type = SrsFrameTypeVideo; - video_sample.dts = 1000; + video_sample.type_ = SrsFrameTypeVideo; + video_sample.dts_ = 1000; // Process samples jitter.on_sample(&audio_sample); @@ -2556,8 +2556,8 @@ VOID TEST(KernelMp4Test, SrsMp4DvrJitter) // Initialize with samples SrsMp4Sample audio_sample; - audio_sample.type = SrsFrameTypeAudio; - audio_sample.dts = 1000; + audio_sample.type_ = SrsFrameTypeAudio; + audio_sample.dts_ = 1000; jitter.on_sample(&audio_sample); @@ -2574,16 +2574,16 @@ VOID TEST(KernelMp4Test, SrsMp4DvrJitter) // Create multiple audio samples SrsMp4Sample audio1; - audio1.type = SrsFrameTypeAudio; - audio1.dts = 1000; + audio1.type_ = SrsFrameTypeAudio; + audio1.dts_ = 1000; SrsMp4Sample audio2; - audio2.type = SrsFrameTypeAudio; - audio2.dts = 2000; // This should be ignored + audio2.type_ = SrsFrameTypeAudio; + audio2.dts_ = 2000; // This should be ignored SrsMp4Sample video1; - video1.type = SrsFrameTypeVideo; - video1.dts = 1500; + video1.type_ = SrsFrameTypeVideo; + video1.dts_ = 1500; // Process samples jitter.on_sample(&audio1); diff --git a/trunk/src/utest/srs_utest_protocol.cpp b/trunk/src/utest/srs_utest_protocol.cpp index 773d3d2b4..13a58a054 100644 --- a/trunk/src/utest/srs_utest_protocol.cpp +++ b/trunk/src/utest/srs_utest_protocol.cpp @@ -1121,7 +1121,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVMessage) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); } /** @@ -1149,7 +1149,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvAMessage) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_audio()); + EXPECT_TRUE(msg->header_.is_audio()); } /** @@ -1196,7 +1196,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVMessage2Trunk) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); } /** @@ -1405,13 +1405,13 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAMessage) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_audio()); + EXPECT_TRUE(msg->header_.is_audio()); } if (true) { SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); } } @@ -1644,13 +1644,13 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAFmt1) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_audio()); + EXPECT_TRUE(msg->header_.is_audio()); } if (true) { SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); } } @@ -1879,13 +1879,13 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAFmt2) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_audio()); + EXPECT_TRUE(msg->header_.is_audio()); } if (true) { SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); } } @@ -2111,13 +2111,13 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAFmt3) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_audio()); + EXPECT_TRUE(msg->header_.is_audio()); } if (true) { SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); } } @@ -2490,25 +2490,25 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVMessage) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x10, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x10, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_audio()); - EXPECT_EQ(0x15, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_audio()); + EXPECT_EQ(0x15, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x20, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x20, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } } @@ -2894,25 +2894,25 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVFmt1) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x10, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x10, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_audio()); - EXPECT_EQ(0x15, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_audio()); + EXPECT_EQ(0x15, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x22, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x22, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } } @@ -3296,25 +3296,25 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVFmt2) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x10, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x10, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_audio()); - EXPECT_EQ(0x15, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_audio()); + EXPECT_EQ(0x15, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x22, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x22, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } } @@ -3697,25 +3697,25 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVFmt3) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x10, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x10, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_audio()); - EXPECT_EQ(0x15, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_audio()); + EXPECT_EQ(0x15, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x20, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x20, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } } @@ -3766,7 +3766,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVCid1BNormal) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); } /** @@ -3816,7 +3816,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVCid1BMax) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); } /** @@ -3866,7 +3866,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVCid2BMin) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); } /** @@ -3916,7 +3916,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVCid2BNormal) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); } /** @@ -3966,7 +3966,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVCid2BNormal2) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); } /** @@ -4016,7 +4016,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVCid2BMax) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); } /** @@ -4066,7 +4066,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVCid3BMin) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); } /** @@ -4116,7 +4116,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVCid3BNormal) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); } /** @@ -4166,7 +4166,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVCid3BNormal2) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); } /** @@ -4216,7 +4216,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVCid3BNormal3) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); } /** @@ -4266,7 +4266,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVCid3BNormal4) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); } /** @@ -4316,7 +4316,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVCid3BMax) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); } /** @@ -4353,9 +4353,9 @@ VOID TEST(ProtocolStackTest, ProtocolRecvV0LenMessage) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); // protocol stack will ignore the empty video message. - EXPECT_EQ(4, msg->header.payload_length); + EXPECT_EQ(4, msg->header_.payload_length_); } /** @@ -4934,10 +4934,10 @@ VOID TEST(ProtocolStackTest, ProtocolAckSizeFlow) SrsRtmpCommonMessage *msg = new SrsRtmpCommonMessage(); SrsUniquePtr msg_uptr(msg); msg->create_payload(4096); - msg->header.payload_length = 4096; + msg->header_.payload_length_ = 4096; - msg->header.message_type = 9; - EXPECT_TRUE(msg->header.is_video()); + msg->header_.message_type_ = 9; + EXPECT_TRUE(msg->header_.is_video()); SrsMediaPacket m; msg->to_msg(&m); @@ -4956,14 +4956,14 @@ VOID TEST(ProtocolStackTest, ProtocolAckSizeFlow) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - ASSERT_TRUE(msg->header.is_window_ackledgement_size()); + ASSERT_TRUE(msg->header_.is_window_ackledgement_size()); } // recv video if (true) { SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - ASSERT_TRUE(msg->header.is_video()); + ASSERT_TRUE(msg->header_.is_video()); } // copy output to input @@ -4976,18 +4976,18 @@ VOID TEST(ProtocolStackTest, ProtocolAckSizeFlow) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - ASSERT_TRUE(msg->header.is_ackledgement()); + ASSERT_TRUE(msg->header_.is_ackledgement()); } // send again if (true) { SrsRtmpCommonMessage *msg = new SrsRtmpCommonMessage(); SrsUniquePtr msg_uptr(msg); - msg->header.payload_length = 4096; + msg->header_.payload_length_ = 4096; msg->create_payload(4096); - msg->header.message_type = 9; - EXPECT_TRUE(msg->header.is_video()); + msg->header_.message_type_ = 9; + EXPECT_TRUE(msg->header_.is_video()); SrsMediaPacket m; msg->to_msg(&m); @@ -5004,7 +5004,7 @@ VOID TEST(ProtocolStackTest, ProtocolAckSizeFlow) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - ASSERT_TRUE(msg->header.is_video()); + ASSERT_TRUE(msg->header_.is_video()); } // copy output to input @@ -5017,7 +5017,7 @@ VOID TEST(ProtocolStackTest, ProtocolAckSizeFlow) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - ASSERT_TRUE(msg->header.is_ackledgement()); + ASSERT_TRUE(msg->header_.is_ackledgement()); } } @@ -5048,7 +5048,7 @@ VOID TEST(ProtocolStackTest, ProtocolPingFlow) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_TRUE(msg->header.is_user_control_message()); + EXPECT_TRUE(msg->header_.is_user_control_message()); } // recv the server auto send ping response message @@ -5062,7 +5062,7 @@ VOID TEST(ProtocolStackTest, ProtocolPingFlow) SrsRtmpCommonMessage *msg = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - ASSERT_TRUE(msg->header.is_user_control_message()); + ASSERT_TRUE(msg->header_.is_user_control_message()); SrsRtmpCommand *pkt = NULL; HELPER_ASSERT_SUCCESS(proto.decode_message(msg, &pkt)); diff --git a/trunk/src/utest/srs_utest_protocol2.cpp b/trunk/src/utest/srs_utest_protocol2.cpp index bd5877acc..2e8e6cc45 100644 --- a/trunk/src/utest/srs_utest_protocol2.cpp +++ b/trunk/src/utest/srs_utest_protocol2.cpp @@ -564,36 +564,36 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt11) HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x10, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x10, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_audio()); - EXPECT_EQ(0x15, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_audio()); + EXPECT_EQ(0x15, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x20, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x20, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x40, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x40, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } } @@ -1144,36 +1144,36 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt11Length) HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x10, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x10, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_audio()); - EXPECT_EQ(0x15, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_audio()); + EXPECT_EQ(0x15, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x20, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x20, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x40, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x40, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } } @@ -1720,36 +1720,36 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt12) HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x10, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x10, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_audio()); - EXPECT_EQ(0x15, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_audio()); + EXPECT_EQ(0x15, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x20, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x20, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x40, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x40, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } } @@ -2299,39 +2299,39 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt12Length) HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x10, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); - EXPECT_EQ(0x110, msg->header.payload_length); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x10, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); + EXPECT_EQ(0x110, msg->header_.payload_length_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_audio()); - EXPECT_EQ(0x15, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_audio()); + EXPECT_EQ(0x15, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x20, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); - EXPECT_EQ(0x120, msg->header.payload_length); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x20, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); + EXPECT_EQ(0x120, msg->header_.payload_length_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x40, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); - EXPECT_EQ(0x120, msg->header.payload_length); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x40, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); + EXPECT_EQ(0x120, msg->header_.payload_length_); } } @@ -2375,8 +2375,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvExtTimeMessage) HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x10, msg->header.timestamp); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x10, msg->header_.timestamp_); } /** @@ -2419,8 +2419,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvExtTimeMessage2) HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x7f010203, msg->header.timestamp); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x7f010203, msg->header_.timestamp_); } /** @@ -2464,9 +2464,9 @@ VOID TEST(ProtocolStackTest, ProtocolRecvExtTimeMessage3) HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); // always use 31bits timestamp - EXPECT_EQ(0x7f010203, msg->header.timestamp); + EXPECT_EQ(0x7f010203, msg->header_.timestamp_); } /** @@ -2539,9 +2539,9 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVExtTime2Trunk) HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); // 0xCX with extended timestamp. - EXPECT_EQ(0x00010203, msg->header.timestamp); + EXPECT_EQ(0x00010203, msg->header_.timestamp_); } /** @@ -2596,9 +2596,9 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVExtTime2Trunk2) HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); // 0xCX without extended timestamp. - EXPECT_EQ(0x00010203, msg->header.timestamp); + EXPECT_EQ(0x00010203, msg->header_.timestamp_); } /** @@ -3202,8 +3202,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvAVExtTimedeltaStream) SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_audio()); - EXPECT_EQ(0x00002710, msg->header.timestamp); + EXPECT_TRUE(msg->header_.is_audio()); + EXPECT_EQ(0x00002710, msg->header_.timestamp_); } if (true) { @@ -3211,8 +3211,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvAVExtTimedeltaStream) SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x00002af8, msg->header.timestamp); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x00002af8, msg->header_.timestamp_); } if (true) { @@ -3220,8 +3220,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvAVExtTimedeltaStream) SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_audio()); - EXPECT_EQ(0x01002710, msg->header.timestamp); + EXPECT_TRUE(msg->header_.is_audio()); + EXPECT_EQ(0x01002710, msg->header_.timestamp_); } if (true) { @@ -3229,8 +3229,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvAVExtTimedeltaStream) SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x01002710, msg->header.timestamp); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x01002710, msg->header_.timestamp_); } } @@ -3542,8 +3542,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvAVExtTimedeltaAudio) SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_audio()); - EXPECT_EQ(0x00002710, msg->header.timestamp); + EXPECT_TRUE(msg->header_.is_audio()); + EXPECT_EQ(0x00002710, msg->header_.timestamp_); } if (true) { @@ -3551,8 +3551,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvAVExtTimedeltaAudio) SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_audio()); - EXPECT_EQ(0x01002710, msg->header.timestamp); + EXPECT_TRUE(msg->header_.is_audio()); + EXPECT_EQ(0x01002710, msg->header_.timestamp_); } } @@ -3864,8 +3864,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvAVExtTimedeltaVideo) SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x00002af8, msg->header.timestamp); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x00002af8, msg->header_.timestamp_); } if (true) { @@ -3873,8 +3873,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvAVExtTimedeltaVideo) SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x01002710, msg->header.timestamp); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x01002710, msg->header_.timestamp_); } } @@ -4206,8 +4206,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvAVExtTimedeltaVideoFmt3) SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x00002af8, msg->header.timestamp); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x00002af8, msg->header_.timestamp_); } if (true) { @@ -4215,8 +4215,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvAVExtTimedeltaVideoFmt3) SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x01002710, msg->header.timestamp); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x01002710, msg->header_.timestamp_); } } @@ -4268,7 +4268,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVCid1BMin) HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); + EXPECT_TRUE(msg->header_.is_video()); } VOID TEST(ProtocolKbpsTest, Connections) @@ -5956,36 +5956,36 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVMessage) HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x10, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x10, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_audio()); - EXPECT_EQ(0x15, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_audio()); + EXPECT_EQ(0x15, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x20, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x20, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x30, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x30, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } } @@ -6534,36 +6534,36 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt1) HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x10, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x10, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_audio()); - EXPECT_EQ(0x15, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_audio()); + EXPECT_EQ(0x15, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x20, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x20, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x30, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x30, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } } @@ -7108,36 +7108,36 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt2) HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x10, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x10, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_audio()); - EXPECT_EQ(0x15, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_audio()); + EXPECT_EQ(0x15, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x20, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x20, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x30, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x30, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } } @@ -7680,36 +7680,36 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt3) HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x10, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x10, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_audio()); - EXPECT_EQ(0x15, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_audio()); + EXPECT_EQ(0x15, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x20, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x20, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg_raw = NULL; HELPER_ASSERT_SUCCESS(proto.recv_message(&msg_raw)); SrsUniquePtr msg(msg_raw); - EXPECT_TRUE(msg->header.is_video()); - EXPECT_EQ(0x30, msg->header.timestamp); - EXPECT_EQ(0x01, msg->header.stream_id); + EXPECT_TRUE(msg->header_.is_video()); + EXPECT_EQ(0x30, msg->header_.timestamp_); + EXPECT_EQ(0x01, msg->header_.stream_id_); } } diff --git a/trunk/src/utest/srs_utest_rtc.cpp b/trunk/src/utest/srs_utest_rtc.cpp index a3406910a..c2444b181 100644 --- a/trunk/src/utest/srs_utest_rtc.cpp +++ b/trunk/src/utest/srs_utest_rtc.cpp @@ -2346,23 +2346,23 @@ VOID TEST(KernelRTCTest, H265RtpSTAPPayload) // Create sample VPS NALU SrsNaluSample *vps = new SrsNaluSample(); uint8_t vps_data[] = {0x40, 0x01, 0x0c, 0x01, 0xff, 0xff, 0x01, 0x60, 0x00, 0x00, 0x03, 0x00, 0x90, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x3d, 0x95, 0x98, 0x09}; - vps->bytes = (char *)vps_data; - vps->size = sizeof(vps_data); - stap.nalus.push_back(vps); + vps->bytes_ = (char *)vps_data; + vps->size_ = sizeof(vps_data); + stap.nalus_.push_back(vps); // Create sample SPS NALU SrsNaluSample *sps = new SrsNaluSample(); uint8_t sps_data[] = {0x42, 0x01, 0x01, 0x01, 0x60, 0x00, 0x00, 0x03, 0x00, 0x90, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x3d, 0xa0, 0x02, 0x80, 0x80, 0x2d, 0x16, 0x59, 0x59, 0xa4, 0x93, 0x2b, 0xc0, 0x5a, 0x70, 0x80, 0x80, 0x80, 0x82}; - sps->bytes = (char *)sps_data; - sps->size = sizeof(sps_data); - stap.nalus.push_back(sps); + sps->bytes_ = (char *)sps_data; + sps->size_ = sizeof(sps_data); + stap.nalus_.push_back(sps); // Create sample PPS NALU SrsNaluSample *pps = new SrsNaluSample(); uint8_t pps_data[] = {0x44, 0x01, 0xc1, 0x72, 0xb4, 0x62, 0x40}; - pps->bytes = (char *)pps_data; - pps->size = sizeof(pps_data); - stap.nalus.push_back(pps); + pps->bytes_ = (char *)pps_data; + pps->size_ = sizeof(pps_data); + stap.nalus_.push_back(pps); // Test encoding char buf[1500]; @@ -2380,29 +2380,29 @@ VOID TEST(KernelRTCTest, H265RtpSTAPPayload) HELPER_EXPECT_SUCCESS(decode_stap.decode(&decode_buf)); // Verify decoded NALUs - EXPECT_EQ(3, (int)decode_stap.nalus.size()); + EXPECT_EQ(3, (int)decode_stap.nalus_.size()); // Check VPS SrsNaluSample *decoded_vps = decode_stap.get_vps(); EXPECT_TRUE(decoded_vps != NULL); - EXPECT_EQ(sizeof(vps_data), (size_t)decoded_vps->size); + EXPECT_EQ(sizeof(vps_data), (size_t)decoded_vps->size_); // Check SPS SrsNaluSample *decoded_sps = decode_stap.get_sps(); EXPECT_TRUE(decoded_sps != NULL); - EXPECT_EQ(sizeof(sps_data), (size_t)decoded_sps->size); + EXPECT_EQ(sizeof(sps_data), (size_t)decoded_sps->size_); // Check PPS SrsNaluSample *decoded_pps = decode_stap.get_pps(); EXPECT_TRUE(decoded_pps != NULL); - EXPECT_EQ(sizeof(pps_data), (size_t)decoded_pps->size); + EXPECT_EQ(sizeof(pps_data), (size_t)decoded_pps->size_); // Test copy functionality ISrsRtpPayloader *copied = stap.copy(); SrsUniquePtr copied_uptr(copied); SrsRtpSTAPPayloadHevc *copied_stap = dynamic_cast(copied); EXPECT_TRUE(copied_stap != NULL); - EXPECT_EQ(3, (int)copied_stap->nalus.size()); + EXPECT_EQ(3, (int)copied_stap->nalus_.size()); } // Test SrsRtpSTAPPayloadHevc with empty NALUs @@ -2438,16 +2438,16 @@ VOID TEST(KernelRTCTest, H265RtpFUAPayload) // Test SrsRtpFUAPayloadHevc encoding and decoding if (true) { SrsRtpFUAPayloadHevc fua; - fua.start = true; - fua.end = false; - fua.nalu_type = SrsHevcNaluType_CODED_SLICE_IDR; + fua.start_ = true; + fua.end_ = false; + fua.nalu_type_ = SrsHevcNaluType_CODED_SLICE_IDR; // Create sample payload data SrsNaluSample *sample = new SrsNaluSample(); uint8_t payload_data[] = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08}; - sample->bytes = (char *)payload_data; - sample->size = sizeof(payload_data); - fua.nalus.push_back(sample); + sample->bytes_ = (char *)payload_data; + sample->size_ = sizeof(payload_data); + fua.nalus_.push_back(sample); // Test encoding char buf[100]; @@ -2465,33 +2465,33 @@ VOID TEST(KernelRTCTest, H265RtpFUAPayload) HELPER_EXPECT_SUCCESS(decode_fua.decode(&decode_buf)); // Verify decoded values - EXPECT_TRUE(decode_fua.start); - EXPECT_FALSE(decode_fua.end); - EXPECT_EQ(SrsHevcNaluType_CODED_SLICE_IDR, decode_fua.nalu_type); - EXPECT_EQ(1, (int)decode_fua.nalus.size()); - EXPECT_EQ(sizeof(payload_data), (size_t)decode_fua.nalus[0]->size); + EXPECT_TRUE(decode_fua.start_); + EXPECT_FALSE(decode_fua.end_); + EXPECT_EQ(SrsHevcNaluType_CODED_SLICE_IDR, decode_fua.nalu_type_); + EXPECT_EQ(1, (int)decode_fua.nalus_.size()); + EXPECT_EQ(sizeof(payload_data), (size_t)decode_fua.nalus_[0]->size_); // Test copy functionality ISrsRtpPayloader *copied = fua.copy(); SrsUniquePtr copied_uptr(copied); SrsRtpFUAPayloadHevc *copied_fua = dynamic_cast(copied); EXPECT_TRUE(copied_fua != NULL); - EXPECT_TRUE(copied_fua->start); - EXPECT_FALSE(copied_fua->end); - EXPECT_EQ(SrsHevcNaluType_CODED_SLICE_IDR, copied_fua->nalu_type); - EXPECT_EQ(1, (int)copied_fua->nalus.size()); + EXPECT_TRUE(copied_fua->start_); + EXPECT_FALSE(copied_fua->end_); + EXPECT_EQ(SrsHevcNaluType_CODED_SLICE_IDR, copied_fua->nalu_type_); + EXPECT_EQ(1, (int)copied_fua->nalus_.size()); } // Test SrsRtpFUAPayloadHevc2 encoding and decoding if (true) { SrsRtpFUAPayloadHevc2 fua2; - fua2.start = false; - fua2.end = true; - fua2.nalu_type = SrsHevcNaluType_CODED_SLICE_TRAIL_R; + fua2.start_ = false; + fua2.end_ = true; + fua2.nalu_type_ = SrsHevcNaluType_CODED_SLICE_TRAIL_R; uint8_t payload_data[] = {0xAA, 0xBB, 0xCC, 0xDD}; - fua2.payload = (char *)payload_data; - fua2.size = sizeof(payload_data); + fua2.payload_ = (char *)payload_data; + fua2.size_ = sizeof(payload_data); // Test encoding char buf[100]; @@ -2509,20 +2509,20 @@ VOID TEST(KernelRTCTest, H265RtpFUAPayload) HELPER_EXPECT_SUCCESS(decode_fua2.decode(&decode_buf2)); // Verify decoded values - EXPECT_FALSE(decode_fua2.start); - EXPECT_TRUE(decode_fua2.end); - EXPECT_EQ(SrsHevcNaluType_CODED_SLICE_TRAIL_R, decode_fua2.nalu_type); - EXPECT_EQ(sizeof(payload_data), (size_t)decode_fua2.size); + EXPECT_FALSE(decode_fua2.start_); + EXPECT_TRUE(decode_fua2.end_); + EXPECT_EQ(SrsHevcNaluType_CODED_SLICE_TRAIL_R, decode_fua2.nalu_type_); + EXPECT_EQ(sizeof(payload_data), (size_t)decode_fua2.size_); // Test copy functionality ISrsRtpPayloader *copied = fua2.copy(); SrsUniquePtr copied_uptr(copied); SrsRtpFUAPayloadHevc2 *copied_fua2 = dynamic_cast(copied); EXPECT_TRUE(copied_fua2 != NULL); - EXPECT_FALSE(copied_fua2->start); - EXPECT_TRUE(copied_fua2->end); - EXPECT_EQ(SrsHevcNaluType_CODED_SLICE_TRAIL_R, copied_fua2->nalu_type); - EXPECT_EQ(sizeof(payload_data), (size_t)copied_fua2->size); + EXPECT_FALSE(copied_fua2->start_); + EXPECT_TRUE(copied_fua2->end_); + EXPECT_EQ(SrsHevcNaluType_CODED_SLICE_TRAIL_R, copied_fua2->nalu_type_); + EXPECT_EQ(sizeof(payload_data), (size_t)copied_fua2->size_); } } @@ -2531,46 +2531,46 @@ VOID TEST(KernelRTCTest, H265RtpPacketKeyframe) // Test RTP packet keyframe detection for HEVC if (true) { SrsRtpPacket pkt; - pkt.frame_type = SrsFrameTypeVideo; + pkt.frame_type_ = SrsFrameTypeVideo; // Test VPS NALU (should be keyframe) - pkt.nalu_type = SrsHevcNaluType_VPS; + pkt.nalu_type_ = SrsHevcNaluType_VPS; EXPECT_TRUE(pkt.is_keyframe(SrsVideoCodecIdHEVC)); // Test SPS NALU (should be keyframe) - pkt.nalu_type = SrsHevcNaluType_SPS; + pkt.nalu_type_ = SrsHevcNaluType_SPS; EXPECT_TRUE(pkt.is_keyframe(SrsVideoCodecIdHEVC)); // Test PPS NALU (should be keyframe) - pkt.nalu_type = SrsHevcNaluType_PPS; + pkt.nalu_type_ = SrsHevcNaluType_PPS; EXPECT_TRUE(pkt.is_keyframe(SrsVideoCodecIdHEVC)); // Test IDR NALU (should be keyframe) - pkt.nalu_type = SrsHevcNaluType_CODED_SLICE_IDR; + pkt.nalu_type_ = SrsHevcNaluType_CODED_SLICE_IDR; EXPECT_TRUE(pkt.is_keyframe(SrsVideoCodecIdHEVC)); // Test CRA NALU (should be keyframe) - pkt.nalu_type = SrsHevcNaluType_CODED_SLICE_CRA; + pkt.nalu_type_ = SrsHevcNaluType_CODED_SLICE_CRA; EXPECT_TRUE(pkt.is_keyframe(SrsVideoCodecIdHEVC)); // Test BLA NALU (should be keyframe) - pkt.nalu_type = SrsHevcNaluType_CODED_SLICE_BLA; + pkt.nalu_type_ = SrsHevcNaluType_CODED_SLICE_BLA; EXPECT_TRUE(pkt.is_keyframe(SrsVideoCodecIdHEVC)); // Test regular P-frame NALU (should not be keyframe) - pkt.nalu_type = SrsHevcNaluType_CODED_SLICE_TRAIL_R; + pkt.nalu_type_ = SrsHevcNaluType_CODED_SLICE_TRAIL_R; EXPECT_FALSE(pkt.is_keyframe(SrsVideoCodecIdHEVC)); // Test regular B-frame NALU (should not be keyframe) - pkt.nalu_type = SrsHevcNaluType_CODED_SLICE_TSA_N; + pkt.nalu_type_ = SrsHevcNaluType_CODED_SLICE_TSA_N; EXPECT_FALSE(pkt.is_keyframe(SrsVideoCodecIdHEVC)); } // Test HEVC STAP payload keyframe detection if (true) { SrsRtpPacket pkt; - pkt.frame_type = SrsFrameTypeVideo; - pkt.nalu_type = kStapHevc; + pkt.frame_type_ = SrsFrameTypeVideo; + pkt.nalu_type_ = kStapHevc; SrsRtpSTAPPayloadHevc *stap_payload = new SrsRtpSTAPPayloadHevc(); pkt.set_payload(stap_payload, SrsRtpPacketPayloadTypeSTAPHevc); @@ -2578,9 +2578,9 @@ VOID TEST(KernelRTCTest, H265RtpPacketKeyframe) // Create VPS NALU SrsNaluSample *vps = new SrsNaluSample(); uint8_t vps_data[] = {0x40, 0x01}; // VPS NALU header - vps->bytes = (char *)vps_data; - vps->size = sizeof(vps_data); - stap_payload->nalus.push_back(vps); + vps->bytes_ = (char *)vps_data; + vps->size_ = sizeof(vps_data); + stap_payload->nalus_.push_back(vps); // Should be keyframe because it contains VPS EXPECT_TRUE(pkt.is_keyframe(SrsVideoCodecIdHEVC)); @@ -2589,26 +2589,26 @@ VOID TEST(KernelRTCTest, H265RtpPacketKeyframe) // Test HEVC FU-A payload keyframe detection if (true) { SrsRtpPacket pkt; - pkt.frame_type = SrsFrameTypeVideo; - pkt.nalu_type = kFuHevc; + pkt.frame_type_ = SrsFrameTypeVideo; + pkt.nalu_type_ = kFuHevc; SrsRtpFUAPayloadHevc2 *fua_payload = new SrsRtpFUAPayloadHevc2(); pkt.set_payload(fua_payload, SrsRtpPacketPayloadTypeFUAHevc2); // Test IDR slice in FU-A (should be keyframe) - fua_payload->nalu_type = SrsHevcNaluType_CODED_SLICE_IDR; + fua_payload->nalu_type_ = SrsHevcNaluType_CODED_SLICE_IDR; EXPECT_TRUE(pkt.is_keyframe(SrsVideoCodecIdHEVC)); // Test regular slice in FU-A (should not be keyframe) - fua_payload->nalu_type = SrsHevcNaluType_CODED_SLICE_TRAIL_R; + fua_payload->nalu_type_ = SrsHevcNaluType_CODED_SLICE_TRAIL_R; EXPECT_FALSE(pkt.is_keyframe(SrsVideoCodecIdHEVC)); } // Test audio packet (should not be keyframe regardless of NALU type) if (true) { SrsRtpPacket pkt; - pkt.frame_type = SrsFrameTypeAudio; - pkt.nalu_type = SrsHevcNaluType_VPS; + pkt.frame_type_ = SrsFrameTypeAudio; + pkt.nalu_type_ = SrsHevcNaluType_VPS; EXPECT_FALSE(pkt.is_keyframe(SrsVideoCodecIdHEVC)); } } @@ -2626,8 +2626,8 @@ VOID TEST(KernelRTCTest, H265RtpRawNALUsSkipBytes) // Create sample HEVC NALU SrsNaluSample *sample = new SrsNaluSample(); uint8_t nalu_data[] = {0x26, 0x01, 0x12, 0x34, 0x56, 0x78}; // IDR slice - sample->bytes = (char *)nalu_data; - sample->size = sizeof(nalu_data); + sample->bytes_ = (char *)nalu_data; + sample->size_ = sizeof(nalu_data); raw_nalus.push_back(sample); // Skip HEVC header (2 bytes) @@ -2638,11 +2638,11 @@ VOID TEST(KernelRTCTest, H265RtpRawNALUsSkipBytes) std::vector samples; HELPER_EXPECT_SUCCESS(raw_nalus.read_samples(samples, 4)); EXPECT_EQ(1, (int)samples.size()); - EXPECT_EQ(4, samples[0]->size); - EXPECT_EQ(0x12, (uint8_t)samples[0]->bytes[0]); - EXPECT_EQ(0x34, (uint8_t)samples[0]->bytes[1]); - EXPECT_EQ(0x56, (uint8_t)samples[0]->bytes[2]); - EXPECT_EQ(0x78, (uint8_t)samples[0]->bytes[3]); + EXPECT_EQ(4, samples[0]->size_); + EXPECT_EQ(0x12, (uint8_t)samples[0]->bytes_[0]); + EXPECT_EQ(0x34, (uint8_t)samples[0]->bytes_[1]); + EXPECT_EQ(0x56, (uint8_t)samples[0]->bytes_[2]); + EXPECT_EQ(0x78, (uint8_t)samples[0]->bytes_[3]); // Clean up for (size_t i = 0; i < samples.size(); i++) { @@ -2657,8 +2657,8 @@ VOID TEST(KernelRTCTest, H265RtpRawNALUsSkipBytes) // Create sample H.264 NALU SrsNaluSample *sample = new SrsNaluSample(); uint8_t nalu_data[] = {0x65, 0x12, 0x34, 0x56}; // IDR slice - sample->bytes = (char *)nalu_data; - sample->size = sizeof(nalu_data); + sample->bytes_ = (char *)nalu_data; + sample->size_ = sizeof(nalu_data); raw_nalus.push_back(sample); // Skip H.264 header (1 byte) @@ -2669,10 +2669,10 @@ VOID TEST(KernelRTCTest, H265RtpRawNALUsSkipBytes) std::vector samples; HELPER_EXPECT_SUCCESS(raw_nalus.read_samples(samples, 3)); EXPECT_EQ(1, (int)samples.size()); - EXPECT_EQ(3, samples[0]->size); - EXPECT_EQ(0x12, (uint8_t)samples[0]->bytes[0]); - EXPECT_EQ(0x34, (uint8_t)samples[0]->bytes[1]); - EXPECT_EQ(0x56, (uint8_t)samples[0]->bytes[2]); + EXPECT_EQ(3, samples[0]->size_); + EXPECT_EQ(0x12, (uint8_t)samples[0]->bytes_[0]); + EXPECT_EQ(0x34, (uint8_t)samples[0]->bytes_[1]); + EXPECT_EQ(0x56, (uint8_t)samples[0]->bytes_[2]); // Clean up for (size_t i = 0; i < samples.size(); i++) { diff --git a/trunk/src/utest/srs_utest_rtc2.cpp b/trunk/src/utest/srs_utest_rtc2.cpp index dc1c93bb1..b1cc8553e 100644 --- a/trunk/src/utest/srs_utest_rtc2.cpp +++ b/trunk/src/utest/srs_utest_rtc2.cpp @@ -434,16 +434,16 @@ SrsRtpPacket *mock_create_test_rtp_packet(uint16_t sequence_number, uint32_t tim SrsRtpFUAPayload2 *mock_create_test_fua_payload(bool start, bool end, const char *payload_data, int size) { SrsRtpFUAPayload2 *fua = new SrsRtpFUAPayload2(); - fua->start = start; - fua->end = end; - fua->nalu_type = SrsAvcNaluTypeNonIDR; // Use a common NALU type - fua->nri = SrsAvcNaluTypeNonIDR; + fua->start_ = start; + fua->end_ = end; + fua->nalu_type_ = SrsAvcNaluTypeNonIDR; // Use a common NALU type + fua->nri_ = SrsAvcNaluTypeNonIDR; // Create a buffer for the payload char *buf = new char[size]; memcpy(buf, payload_data, size); - fua->payload = buf; - fua->size = size; + fua->payload_ = buf; + fua->size_ = size; return fua; } @@ -1595,18 +1595,18 @@ VOID TEST(KernelRTC2Test, SrsRtcFrameBuilderPacketVideoRtmpNullPointerCrash) // Add some payload to ensure packets are not empty char payload_data[] = "test_payload_data"; SrsRtpRawPayload *payload101 = new SrsRtpRawPayload(); - payload101->payload = (char *)payload_data; - payload101->nn_payload = strlen(payload_data); + payload101->payload_ = (char *)payload_data; + payload101->nn_payload_ = strlen(payload_data); pkt101->set_payload(payload101, SrsRtpPacketPayloadTypeRaw); SrsRtpRawPayload *payload102 = new SrsRtpRawPayload(); - payload102->payload = (char *)payload_data; - payload102->nn_payload = strlen(payload_data); + payload102->payload_ = (char *)payload_data; + payload102->nn_payload_ = strlen(payload_data); pkt102->set_payload(payload102, SrsRtpPacketPayloadTypeRaw); SrsRtpRawPayload *payload103 = new SrsRtpRawPayload(); - payload103->payload = (char *)payload_data; - payload103->nn_payload = strlen(payload_data); + payload103->payload_ = (char *)payload_data; + payload103->nn_payload_ = strlen(payload_data); pkt103->set_payload(payload103, SrsRtpPacketPayloadTypeRaw); // Set the avsync time for the packets to avoid other null pointer issues diff --git a/trunk/src/utest/srs_utest_rtc3.cpp b/trunk/src/utest/srs_utest_rtc3.cpp index de322ce02..44b366dc2 100644 --- a/trunk/src/utest/srs_utest_rtc3.cpp +++ b/trunk/src/utest/srs_utest_rtc3.cpp @@ -30,7 +30,7 @@ SrsRtpPacket *mock_create_audio_rtp_packet(uint16_t sequence, uint32_t timestamp // We're not testing the downstream transcoding, just the cache reordering behavior // Set frame type for audio - pkt->frame_type = SrsFrameTypeAudio; + pkt->frame_type_ = SrsFrameTypeAudio; return pkt; } diff --git a/trunk/src/utest/srs_utest_rtmp.cpp b/trunk/src/utest/srs_utest_rtmp.cpp index bd16253e8..7e599aac9 100644 --- a/trunk/src/utest/srs_utest_rtmp.cpp +++ b/trunk/src/utest/srs_utest_rtmp.cpp @@ -247,7 +247,7 @@ VOID TEST(ProtocolRTMPTest, SendPacketsError) SrsProtocol p(&io); SrsRtmpCommonMessage pkt; - pkt.header.initialize_audio(200, 1000, 1); + pkt.header_.initialize_audio(200, 1000, 1); pkt.create_payload(256); SrsMediaPacket *msg = new SrsMediaPacket(); @@ -342,7 +342,7 @@ VOID TEST(ProtocolRTMPTest, HugeMessages) SrsProtocol p(&io); SrsRtmpCommonMessage pkt; - pkt.header.initialize_audio(200, 1000, 1); + pkt.header_.initialize_audio(200, 1000, 1); pkt.create_payload(256); SrsMediaPacket *msg = new SrsMediaPacket(); @@ -357,7 +357,7 @@ VOID TEST(ProtocolRTMPTest, HugeMessages) SrsProtocol p(&io); SrsRtmpCommonMessage pkt; - pkt.header.initialize_audio(200, 1000, 1); + pkt.header_.initialize_audio(200, 1000, 1); pkt.create_payload(256); SrsMediaPacket *msg = new SrsMediaPacket(); @@ -378,7 +378,7 @@ VOID TEST(ProtocolRTMPTest, HugeMessages) SrsProtocol p(&io); SrsRtmpCommonMessage pkt; - pkt.header.initialize_audio(200, 1000, 1); + pkt.header_.initialize_audio(200, 1000, 1); pkt.create_payload(256); SrsMediaPacket *msg = new SrsMediaPacket(); @@ -405,7 +405,7 @@ VOID TEST(ProtocolRTMPTest, DecodeMessages) // AMF0 message with 1B should fail. SrsRtmpCommonMessage msg; - msg.header.initialize_amf0_script(1, 1); + msg.header_.initialize_amf0_script(1, 1); msg.create_payload(1); SrsRtmpCommand *pkt; @@ -447,7 +447,7 @@ VOID TEST(ProtocolRTMPTest, OnDecodeMessages) SrsRtmpCommonMessage *_create_amf0(char *bytes, int size, int stream_id) { SrsRtmpCommonMessage *msg = new SrsRtmpCommonMessage(); - msg->header.initialize_amf0_script(size, stream_id); + msg->header_.initialize_amf0_script(size, stream_id); msg->create_payload(size); memcpy(msg->payload(), bytes, size); return msg; @@ -464,7 +464,7 @@ VOID TEST(ProtocolRTMPTest, OnDecodeMessages2) uint8_t bytes[] = {0x17, 0x02, 0x00, 0x01, 's', 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0x03, 0, 0, 9}; SrsRtmpCommonMessage *msg = _create_amf0((char *)bytes, sizeof(bytes), 1); SrsUniquePtr msg_uptr(msg); - msg->header.message_type = RTMP_MSG_AMF3CommandMessage; + msg->header_.message_type_ = RTMP_MSG_AMF3CommandMessage; SrsRtmpCommand *pkt; HELPER_EXPECT_SUCCESS(p.decode_message(msg, &pkt)); @@ -481,7 +481,7 @@ VOID TEST(ProtocolRTMPTest, OnDecodeMessages2) uint8_t bytes[] = {0x17, 0x02, 0x00, 0x01, 's'}; SrsRtmpCommonMessage *msg = _create_amf0((char *)bytes, sizeof(bytes), 1); SrsUniquePtr msg_uptr(msg); - msg->header.message_type = RTMP_MSG_AMF3CommandMessage; + msg->header_.message_type_ = RTMP_MSG_AMF3CommandMessage; SrsRtmpCommand *pkt; HELPER_EXPECT_FAILED(p.decode_message(msg, &pkt)); @@ -495,7 +495,7 @@ VOID TEST(ProtocolRTMPTest, OnDecodeMessages2) uint8_t bytes[] = {0x00}; SrsRtmpCommonMessage *msg = _create_amf0((char *)bytes, sizeof(bytes), 1); SrsUniquePtr msg_uptr(msg); - msg->header.message_type = 0xff; + msg->header_.message_type_ = 0xff; SrsRtmpCommand *pkt; HELPER_EXPECT_SUCCESS(p.decode_message(msg, &pkt)); @@ -509,7 +509,7 @@ VOID TEST(ProtocolRTMPTest, OnDecodeMessages2) uint8_t bytes[] = {0x02, 0x00, 0x01, 's'}; SrsRtmpCommonMessage *msg = _create_amf0((char *)bytes, sizeof(bytes), 1); SrsUniquePtr msg_uptr(msg); - msg->header.message_type = RTMP_MSG_AMF0DataMessage; + msg->header_.message_type_ = RTMP_MSG_AMF0DataMessage; SrsRtmpCommand *pkt; HELPER_EXPECT_SUCCESS(p.decode_message(msg, &pkt)); @@ -528,7 +528,7 @@ VOID TEST(ProtocolRTMPTest, OnDecodeMessages3) uint8_t bytes[] = {0x02, 0x00, 0x07, '_', 'r', 'e', 's', 'u', 'l', 't'}; SrsRtmpCommonMessage *msg = _create_amf0((char *)bytes, sizeof(bytes), 1); SrsUniquePtr msg_uptr(msg); - msg->header.message_type = RTMP_MSG_AMF0DataMessage; + msg->header_.message_type_ = RTMP_MSG_AMF0DataMessage; SrsRtmpCommand *pkt; // Decode the response failed, no transaction ID was set by request. @@ -543,7 +543,7 @@ VOID TEST(ProtocolRTMPTest, OnDecodeMessages3) uint8_t bytes[] = {0x17, 0x02, 0x00, 0x07, '_', 'r', 'e', 's', 'u', 'l', 't'}; SrsRtmpCommonMessage *msg = _create_amf0((char *)bytes, sizeof(bytes), 1); SrsUniquePtr msg_uptr(msg); - msg->header.message_type = RTMP_MSG_AMF3DataMessage; + msg->header_.message_type_ = RTMP_MSG_AMF3DataMessage; SrsRtmpCommand *pkt; // Decode the response failed, no transaction ID was set by request. @@ -558,7 +558,7 @@ VOID TEST(ProtocolRTMPTest, OnDecodeMessages3) uint8_t bytes[] = {0x17, 0x02, 0x00, 0x07, '_', 'r', 'e', 's', 'u', 'l', 't', 0x00, 0, 0, 0, 0, 0, 0, 0, 0}; SrsRtmpCommonMessage *msg = _create_amf0((char *)bytes, sizeof(bytes), 1); SrsUniquePtr msg_uptr(msg); - msg->header.message_type = RTMP_MSG_AMF3CommandMessage; + msg->header_.message_type_ = RTMP_MSG_AMF3CommandMessage; SrsRtmpCommand *pkt; // Decode the response failed, no transaction ID was set by request. @@ -840,7 +840,7 @@ VOID TEST(ProtocolRTMPTest, OnDecodeMessages4) uint8_t bytes[] = {0x02, 0x00, 3, 's', 'r', 's', 0x00, 0, 0, 0, 0, 0, 0, 0, 0}; SrsRtmpCommonMessage *msg = _create_amf0((char *)bytes, sizeof(bytes), 1); - msg->header.message_type = RTMP_MSG_AMF0CommandMessage; + msg->header_.message_type_ = RTMP_MSG_AMF0CommandMessage; SrsUniquePtr msg_uptr(msg); SrsRtmpCommand *pkt; @@ -2776,14 +2776,14 @@ VOID TEST(ProtocolRTMPTest, CheckStreamID) SrsRtmpCommonMessage *msg = NULL; HELPER_EXPECT_SUCCESS(p.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_EQ(1, msg->header.stream_id); + EXPECT_EQ(1, msg->header_.stream_id_); } if (true) { SrsRtmpCommonMessage *msg = NULL; HELPER_EXPECT_SUCCESS(p.recv_message(&msg)); SrsUniquePtr msg_uptr(msg); - EXPECT_EQ(2, msg->header.stream_id); + EXPECT_EQ(2, msg->header_.stream_id_); } } }