diff --git a/trunk/src/app/srs_app_conn.hpp b/trunk/src/app/srs_app_conn.hpp index 01e1e268d..7a723dfbf 100644 --- a/trunk/src/app/srs_app_conn.hpp +++ b/trunk/src/app/srs_app_conn.hpp @@ -102,7 +102,7 @@ public: virtual srs_error_t start(); // Set socket option TCP_NODELAY. virtual srs_error_t set_tcp_nodelay(bool v); - // Set socket option SO_SNDBUF in ms. + // Set socket option SO_SNDBUF in srs_utime_t. virtual srs_error_t set_socket_buffer(srs_utime_t buffer_v); // interface ISrsOneCycleThreadHandler public: diff --git a/trunk/src/app/srs_app_dash.cpp b/trunk/src/app/srs_app_dash.cpp index 88eb05ae7..719c9b110 100644 --- a/trunk/src/app/srs_app_dash.cpp +++ b/trunk/src/app/srs_app_dash.cpp @@ -88,7 +88,7 @@ srs_error_t SrsFragmentedMp4::initialize(SrsRequest* r, bool video, SrsMpdWriter string file_home; string file_name; int64_t sequence_number; - uint64_t basetime; + srs_utime_t basetime; if ((err = mpd->get_fragment(video, file_home, file_name, sequence_number, basetime)) != srs_success) { return srs_error_wrap(err, "get fragment"); } @@ -271,14 +271,14 @@ srs_error_t SrsMpdWriter::write(SrsFormat* format) return err; } -srs_error_t SrsMpdWriter::get_fragment(bool video, std::string& home, std::string& file_name, int64_t& sn, uint64_t& basetime) +srs_error_t SrsMpdWriter::get_fragment(bool video, std::string& home, std::string& file_name, int64_t& sn, srs_utime_t& basetime) { srs_error_t err = srs_success; home = fragment_home; sn = srs_update_system_time() / fragment; - basetime = sn * srsu2ms(fragment); + basetime = sn * fragment; if (video) { file_name = "video-" + srs_int2str(sn) + ".m4s"; diff --git a/trunk/src/app/srs_app_dash.hpp b/trunk/src/app/srs_app_dash.hpp index 85559802b..48dadd440 100644 --- a/trunk/src/app/srs_app_dash.hpp +++ b/trunk/src/app/srs_app_dash.hpp @@ -109,8 +109,8 @@ public: virtual srs_error_t write(SrsFormat* format); public: // Get the fragment relative home and filename. - // The basetime is the absolute time in ms, while the sn(sequence number) is basetime/fragment. - virtual srs_error_t get_fragment(bool video, std::string& home, std::string& filename, int64_t& sn, uint64_t& basetime); + // The basetime is the absolute time in srs_utime_t, while the sn(sequence number) is basetime/fragment. + virtual srs_error_t get_fragment(bool video, std::string& home, std::string& filename, int64_t& sn, srs_utime_t& basetime); }; /** diff --git a/trunk/src/kernel/srs_kernel_mp4.cpp b/trunk/src/kernel/srs_kernel_mp4.cpp index c2519c8b0..7be957a80 100644 --- a/trunk/src/kernel/srs_kernel_mp4.cpp +++ b/trunk/src/kernel/srs_kernel_mp4.cpp @@ -6144,7 +6144,7 @@ SrsMp4M2tsSegmentEncoder::~SrsMp4M2tsSegmentEncoder() srs_freep(buffer); } -srs_error_t SrsMp4M2tsSegmentEncoder::initialize(ISrsWriter* w, uint32_t sequence, uint64_t basetime, uint32_t tid) +srs_error_t SrsMp4M2tsSegmentEncoder::initialize(ISrsWriter* w, uint32_t sequence, srs_utime_t basetime, uint32_t tid) { srs_error_t err = srs_success; @@ -6252,7 +6252,7 @@ srs_error_t SrsMp4M2tsSegmentEncoder::flush(uint64_t& dts) traf->set_tfdt(tfdt); tfdt->version = 1; - tfdt->base_media_decode_time = decode_basetime; + tfdt->base_media_decode_time = srsu2ms(decode_basetime); SrsMp4TrackFragmentRunBox* trun = new SrsMp4TrackFragmentRunBox(); traf->set_trun(trun); diff --git a/trunk/src/kernel/srs_kernel_mp4.hpp b/trunk/src/kernel/srs_kernel_mp4.hpp index 120f5ab20..6b3bed71b 100644 --- a/trunk/src/kernel/srs_kernel_mp4.hpp +++ b/trunk/src/kernel/srs_kernel_mp4.hpp @@ -469,6 +469,7 @@ public: class SrsMp4TrackFragmentDecodeTimeBox : public SrsMp4FullBox { public: + // It's in ms. uint64_t base_media_decode_time; public: SrsMp4TrackFragmentDecodeTimeBox(); @@ -2198,7 +2199,7 @@ private: ISrsWriter* writer; SrsBuffer* buffer; uint32_t sequence_number; - uint64_t decode_basetime; + srs_utime_t decode_basetime; uint32_t track_id; private: uint32_t nb_audios; @@ -2212,7 +2213,7 @@ public: virtual ~SrsMp4M2tsSegmentEncoder(); public: // Initialize the encoder with a writer w. - virtual srs_error_t initialize(ISrsWriter* w, uint32_t sequence, uint64_t basetime, uint32_t tid); + virtual srs_error_t initialize(ISrsWriter* w, uint32_t sequence, srs_utime_t basetime, uint32_t tid); // Cache a sample. // @param ht, The sample handler type, audio/soun or video/vide. // @param ft, The frame type. For video, it's SrsVideoAvcFrameType.