正在显示
2 个修改的文件
包含
8 行增加
和
1 行删除
| @@ -876,6 +876,13 @@ int SrsAvcAacCodec::avc_demux_sps() | @@ -876,6 +876,13 @@ int SrsAvcAacCodec::avc_demux_sps() | ||
| 876 | 876 | ||
| 877 | // XX 00 00 03 XX, the 03 byte should be drop. | 877 | // XX 00 00 03 XX, the 03 byte should be drop. |
| 878 | if (nb_rbsp > 2 && rbsp[nb_rbsp - 2] == 0 && rbsp[nb_rbsp - 1] == 0 && rbsp[nb_rbsp] == 3) { | 878 | if (nb_rbsp > 2 && rbsp[nb_rbsp - 2] == 0 && rbsp[nb_rbsp - 1] == 0 && rbsp[nb_rbsp] == 3) { |
| 879 | + // read 1byte more. | ||
| 880 | + if (stream.empty()) { | ||
| 881 | + break; | ||
| 882 | + } | ||
| 883 | + rbsp[nb_rbsp] = stream.read_1bytes(); | ||
| 884 | + nb_rbsp++; | ||
| 885 | + | ||
| 879 | continue; | 886 | continue; |
| 880 | } | 887 | } |
| 881 | 888 |
| @@ -73,7 +73,7 @@ int srs_avc_nalu_read_uev(SrsBitStream* stream, int32_t& v) | @@ -73,7 +73,7 @@ int srs_avc_nalu_read_uev(SrsBitStream* stream, int32_t& v) | ||
| 73 | 73 | ||
| 74 | v = (1 << leadingZeroBits) - 1; | 74 | v = (1 << leadingZeroBits) - 1; |
| 75 | for (int i = 0; i < leadingZeroBits; i++) { | 75 | for (int i = 0; i < leadingZeroBits; i++) { |
| 76 | - int64_t b = stream->read_bit(); | 76 | + int32_t b = stream->read_bit(); |
| 77 | v += b << (leadingZeroBits - 1); | 77 | v += b << (leadingZeroBits - 1); |
| 78 | } | 78 | } |
| 79 | 79 |
-
请 注册 或 登录 后发表评论