Chen
Chen
 有判断bytes长度是否越界,bytes值很大吗?
有可能变成负值了, 我处理下,改成size_t类型.
这就奇怪了,不是负值上面的if判断应该会失败
可能是哪里写越界了。
vlc 3.0.6播不了,vlc 2.2.4可以。
查了下vlc的代码,vlc 3.x之后新增了ps.h/ps.c解析mpeg-ps流。 https://github.com/videolan/vlc/blob/3.0.x/modules/demux/mpeg/ps.h  解析ps system header时,上面红框内的代码会初始化出音频track,如果此时还没有读到psm header,会默认为mp1/2的音频codec。 解决办法: 1. 生成ps文件时先写psm再写system header 2. 干脆不写system header
可以屏蔽libmpeg-ps-enc.c::ps_muxer_input 函数中生成system_header的代码 
> Does it support HLS VOD? If so, does it make it on-the-fly packaging (without writing/storing chunks on disk)? YES, libhls hls_media_handler callback with ts raw data, you can store...
> Does it support HLS VOD? If so, does it make it on-the-fly packaging (without writing/storing chunks on disk)? YES, libhls hls_media_handler callback with ts raw data, you can store...
测试文件可以从如下地址下载: http://www.live555.com/liveMedia/public/ 子目录:h264/h265/... 下即为测试源文件。