winlin

refine the comments.

@@ -899,6 +899,7 @@ int SrsHlsCache::write_audio(SrsAvcAacCodec* codec, SrsHlsMuxer* muxer, int64_t @@ -899,6 +899,7 @@ int SrsHlsCache::write_audio(SrsAvcAacCodec* codec, SrsHlsMuxer* muxer, int64_t
899 // we use absolutely overflow of segment to make jwplayer/ffplay happy 899 // we use absolutely overflow of segment to make jwplayer/ffplay happy
900 // @see https://github.com/winlinvip/simple-rtmp-server/issues/151#issuecomment-71155184 900 // @see https://github.com/winlinvip/simple-rtmp-server/issues/151#issuecomment-71155184
901 if (cache->audio && muxer->is_segment_absolutely_overflow()) { 901 if (cache->audio && muxer->is_segment_absolutely_overflow()) {
  902 + srs_warn("hls: absolute audio reap segment.");
902 if ((ret = reap_segment("audio", muxer, cache->audio->pts)) != ERROR_SUCCESS) { 903 if ((ret = reap_segment("audio", muxer, cache->audio->pts)) != ERROR_SUCCESS) {
903 return ret; 904 return ret;
904 } 905 }
@@ -938,26 +939,28 @@ int SrsHlsCache::write_video(SrsAvcAacCodec* codec, SrsHlsMuxer* muxer, int64_t @@ -938,26 +939,28 @@ int SrsHlsCache::write_video(SrsAvcAacCodec* codec, SrsHlsMuxer* muxer, int64_t
938 int SrsHlsCache::reap_segment(string log_desc, SrsHlsMuxer* muxer, int64_t segment_start_dts) 939 int SrsHlsCache::reap_segment(string log_desc, SrsHlsMuxer* muxer, int64_t segment_start_dts)
939 { 940 {
940 int ret = ERROR_SUCCESS; 941 int ret = ERROR_SUCCESS;
  942 +
  943 + // TODO: flush audio before or after segment?
  944 + // TODO: fresh segment begin with audio or video?
941 945
  946 + // close current ts.
942 if ((ret = muxer->segment_close(log_desc)) != ERROR_SUCCESS) { 947 if ((ret = muxer->segment_close(log_desc)) != ERROR_SUCCESS) {
943 srs_error("m3u8 muxer close segment failed. ret=%d", ret); 948 srs_error("m3u8 muxer close segment failed. ret=%d", ret);
944 return ret; 949 return ret;
945 } 950 }
946 951
  952 + // open new ts.
947 if ((ret = muxer->segment_open(segment_start_dts)) != ERROR_SUCCESS) { 953 if ((ret = muxer->segment_open(segment_start_dts)) != ERROR_SUCCESS) {
948 srs_error("m3u8 muxer open segment failed. ret=%d", ret); 954 srs_error("m3u8 muxer open segment failed. ret=%d", ret);
949 return ret; 955 return ret;
950 } 956 }
951 -  
952 - // TODO: flush audio before or after segment?  
953 - // TODO: fresh segment begin with audio or video?  
954 957
955 // segment open, flush video first. 958 // segment open, flush video first.
956 if ((ret = muxer->flush_video(cache)) != ERROR_SUCCESS) { 959 if ((ret = muxer->flush_video(cache)) != ERROR_SUCCESS) {
957 srs_error("m3u8 muxer flush video failed. ret=%d", ret); 960 srs_error("m3u8 muxer flush video failed. ret=%d", ret);
958 return ret; 961 return ret;
959 } 962 }
960 - 963 +
961 // segment open, flush the audio. 964 // segment open, flush the audio.
962 // @see: ngx_rtmp_hls_open_fragment 965 // @see: ngx_rtmp_hls_open_fragment
963 /* start fragment with audio to make iPhone happy */ 966 /* start fragment with audio to make iPhone happy */