Closed 1046099253 closed 10 months ago
查看源码 libmpeg/source/mpeg-ts-dec.c 中 ts_demuxer_input()。下面代码时会默认以首帧的continuity_counter等于1的逻辑进行处理。
pes->flags |= ((ts->pat.pmts[j].streams[k].cc + 1) % 16) != (uint8_t)pkhd.continuity_counter ? (MPEG_FLAG_PACKET_CORRUPT | MPEG_FLAG_PACKET_LOST) : 0; ts->pat.pmts[j].streams[k].cc = (uint8_t)pkhd.continuity_counter;
而通过mpeg-ts-enc.c处理过得首帧数据的continuity_counter是0,导致这种情况出现 是否也应该考虑首帧的continuity_counter可能是随机数值的情况
ts的包需要是从0开始, 非0就可能意味着丢数据了, MPEG_FLAG_PACKET_LOST 这个flag只是提示信息, 如果咱们能确定没有丢数据, 可以忽略这个标记.
查看源码 libmpeg/source/mpeg-ts-dec.c 中 ts_demuxer_input()。下面代码时会默认以首帧的continuity_counter等于1的逻辑进行处理。
而通过mpeg-ts-enc.c处理过得首帧数据的continuity_counter是0,导致这种情况出现 是否也应该考虑首帧的continuity_counter可能是随机数值的情况