正在显示
1 个修改的文件
包含
6 行增加
和
4 行删除
| @@ -657,7 +657,7 @@ public: | @@ -657,7 +657,7 @@ public: | ||
| 657 | SrsIngestSrsOutput(SrsHttpUri* rtmp) { | 657 | SrsIngestSrsOutput(SrsHttpUri* rtmp) { |
| 658 | out_rtmp = rtmp; | 658 | out_rtmp = rtmp; |
| 659 | disconnected = false; | 659 | disconnected = false; |
| 660 | - raw_aac_dts = 0; | 660 | + raw_aac_dts = srs_update_system_time_ms(); |
| 661 | 661 | ||
| 662 | req = NULL; | 662 | req = NULL; |
| 663 | io = NULL; | 663 | io = NULL; |
| @@ -807,12 +807,14 @@ int SrsIngestSrsOutput::do_on_aac_frame(SrsStream* avs, double duration) | @@ -807,12 +807,14 @@ int SrsIngestSrsOutput::do_on_aac_frame(SrsStream* avs, double duration) | ||
| 807 | { | 807 | { |
| 808 | int ret = ERROR_SUCCESS; | 808 | int ret = ERROR_SUCCESS; |
| 809 | 809 | ||
| 810 | + u_int32_t duration_ms = (u_int32_t)(duration * 1000); | ||
| 811 | + | ||
| 810 | // ts tbn to flv tbn. | 812 | // ts tbn to flv tbn. |
| 811 | u_int32_t dts = (u_int32_t)raw_aac_dts; | 813 | u_int32_t dts = (u_int32_t)raw_aac_dts; |
| 812 | - raw_aac_dts += (int64_t)(duration * 1000); | 814 | + raw_aac_dts += duration_ms; |
| 813 | 815 | ||
| 814 | // got the next msg to calc the delta duration for each audio. | 816 | // got the next msg to calc the delta duration for each audio. |
| 815 | - u_int32_t max_dts = dts + (u_int32_t)(duration * 1000); | 817 | + u_int32_t max_dts = dts + duration_ms; |
| 816 | 818 | ||
| 817 | // send each frame. | 819 | // send each frame. |
| 818 | while (!avs->empty()) { | 820 | while (!avs->empty()) { |
| @@ -852,7 +854,7 @@ int SrsIngestSrsOutput::do_on_aac_frame(SrsStream* avs, double duration) | @@ -852,7 +854,7 @@ int SrsIngestSrsOutput::do_on_aac_frame(SrsStream* avs, double duration) | ||
| 852 | } | 854 | } |
| 853 | 855 | ||
| 854 | // calc the delta of dts, when previous frame output. | 856 | // calc the delta of dts, when previous frame output. |
| 855 | - u_int32_t delta = (duration * 1000) / (avs->size() / frame_size); | 857 | + u_int32_t delta = duration_ms / (avs->size() / frame_size); |
| 856 | dts = (u_int32_t)(srs_min(max_dts, dts + delta)); | 858 | dts = (u_int32_t)(srs_min(max_dts, dts + delta)); |
| 857 | } | 859 | } |
| 858 | 860 |
-
请 注册 或 登录 后发表评论