正在显示
2 个修改的文件
包含
94 行增加
和
0 行删除
| @@ -283,6 +283,8 @@ SrsBitBuffer::~SrsBitBuffer() | @@ -283,6 +283,8 @@ SrsBitBuffer::~SrsBitBuffer() | ||
| 283 | 283 | ||
| 284 | int SrsBitBuffer::initialize(SrsBuffer* s) { | 284 | int SrsBitBuffer::initialize(SrsBuffer* s) { |
| 285 | stream = s; | 285 | stream = s; |
| 286 | + cb = 0; | ||
| 287 | + cb_left = 0; | ||
| 286 | return ERROR_SUCCESS; | 288 | return ERROR_SUCCESS; |
| 287 | } | 289 | } |
| 288 | 290 |
| @@ -1511,5 +1511,97 @@ VOID TEST(KernelUtilityTest, UtilityString) | @@ -1511,5 +1511,97 @@ VOID TEST(KernelUtilityTest, UtilityString) | ||
| 1511 | EXPECT_TRUE(srs_string_ends_with("Hello", "lo")); | 1511 | EXPECT_TRUE(srs_string_ends_with("Hello", "lo")); |
| 1512 | } | 1512 | } |
| 1513 | 1513 | ||
| 1514 | +VOID TEST(KernelUtility, AvcUev) | ||
| 1515 | +{ | ||
| 1516 | + int32_t v; | ||
| 1517 | + SrsBuffer buf; | ||
| 1518 | + SrsBitBuffer bb; | ||
| 1519 | + char data[32]; | ||
| 1520 | + | ||
| 1521 | + if (true) { | ||
| 1522 | + data[0] = 0xff; | ||
| 1523 | + buf.initialize((char*)data, 1); bb.initialize(&buf); v = 1; | ||
| 1524 | + srs_avc_nalu_read_uev(&bb, v); | ||
| 1525 | + EXPECT_EQ(0, v); | ||
| 1526 | + } | ||
| 1527 | + | ||
| 1528 | + if (true) { | ||
| 1529 | + data[0] = 0x40; | ||
| 1530 | + buf.initialize((char*)data, 1); bb.initialize(&buf); v = 0; | ||
| 1531 | + srs_avc_nalu_read_uev(&bb, v); | ||
| 1532 | + EXPECT_EQ(1, v); | ||
| 1533 | + } | ||
| 1534 | + | ||
| 1535 | + if (true) { | ||
| 1536 | + data[0] = 0x60; | ||
| 1537 | + buf.initialize((char*)data, 1); bb.initialize(&buf); v = 0; | ||
| 1538 | + srs_avc_nalu_read_uev(&bb, v); | ||
| 1539 | + EXPECT_EQ(2, v); | ||
| 1540 | + } | ||
| 1541 | + | ||
| 1542 | + if (true) { | ||
| 1543 | + data[0] = 0x20; | ||
| 1544 | + buf.initialize((char*)data, 1); bb.initialize(&buf); v = 0; | ||
| 1545 | + srs_avc_nalu_read_uev(&bb, v); | ||
| 1546 | + EXPECT_EQ(3, v); | ||
| 1547 | + } | ||
| 1548 | + | ||
| 1549 | + if (true) { | ||
| 1550 | + data[0] = 0x28; | ||
| 1551 | + buf.initialize((char*)data, 1); bb.initialize(&buf); v = 0; | ||
| 1552 | + srs_avc_nalu_read_uev(&bb, v); | ||
| 1553 | + EXPECT_EQ(4, v); | ||
| 1554 | + } | ||
| 1555 | + | ||
| 1556 | + if (true) { | ||
| 1557 | + data[0] = 0x30; | ||
| 1558 | + buf.initialize((char*)data, 1); bb.initialize(&buf); v = 0; | ||
| 1559 | + srs_avc_nalu_read_uev(&bb, v); | ||
| 1560 | + EXPECT_EQ(5, v); | ||
| 1561 | + } | ||
| 1562 | + | ||
| 1563 | + if (true) { | ||
| 1564 | + data[0] = 0x38; | ||
| 1565 | + buf.initialize((char*)data, 1); bb.initialize(&buf); v = 0; | ||
| 1566 | + srs_avc_nalu_read_uev(&bb, v); | ||
| 1567 | + EXPECT_EQ(6, v); | ||
| 1568 | + } | ||
| 1569 | + | ||
| 1570 | + if (true) { | ||
| 1571 | + data[0] = 0x10; | ||
| 1572 | + buf.initialize((char*)data, 1); bb.initialize(&buf); v = 0; | ||
| 1573 | + srs_avc_nalu_read_uev(&bb, v); | ||
| 1574 | + EXPECT_EQ(7, v); | ||
| 1575 | + } | ||
| 1576 | + | ||
| 1577 | + if (true) { | ||
| 1578 | + data[0] = 0x12; | ||
| 1579 | + buf.initialize((char*)data, 1); bb.initialize(&buf); v = 0; | ||
| 1580 | + srs_avc_nalu_read_uev(&bb, v); | ||
| 1581 | + EXPECT_EQ(8, v); | ||
| 1582 | + } | ||
| 1583 | + | ||
| 1584 | + if (true) { | ||
| 1585 | + data[0] = 0x14; | ||
| 1586 | + buf.initialize((char*)data, 1); bb.initialize(&buf); v = 0; | ||
| 1587 | + srs_avc_nalu_read_uev(&bb, v); | ||
| 1588 | + EXPECT_EQ(9, v); | ||
| 1589 | + } | ||
| 1590 | + | ||
| 1591 | + if (true) { | ||
| 1592 | + data[0] = 0x01; data[1] = 0x12; | ||
| 1593 | + buf.initialize((char*)data, 2); bb.initialize(&buf); v = 0; | ||
| 1594 | + srs_avc_nalu_read_uev(&bb, v); | ||
| 1595 | + EXPECT_EQ(128-1+9, v); | ||
| 1596 | + } | ||
| 1597 | + | ||
| 1598 | + if (true) { | ||
| 1599 | + data[0] = 0x00; data[1] = 0x91; data[2] = 0x00; | ||
| 1600 | + buf.initialize((char*)data, 3); bb.initialize(&buf); v = 0; | ||
| 1601 | + srs_avc_nalu_read_uev(&bb, v); | ||
| 1602 | + EXPECT_EQ(256-1+0x22, v); | ||
| 1603 | + } | ||
| 1604 | +} | ||
| 1605 | + | ||
| 1514 | #endif | 1606 | #endif |
| 1515 | 1607 |
-
请 注册 或 登录 后发表评论