1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

CI: Cover kernel ts

This commit is contained in:
winlin 2019-02-05 08:33:29 +08:00
parent 3f59c7885e
commit 8eccfeceb9
4 changed files with 114 additions and 22 deletions

View file

@ -243,14 +243,19 @@ srs_error_t MockSrsCodec::decode(SrsBuffer* /*buf*/)
MockTsHandler::MockTsHandler()
{
msg = NULL;
}
MockTsHandler::~MockTsHandler()
{
srs_freep(msg);
}
srs_error_t MockTsHandler::on_ts_message(SrsTsMessage* /*msg*/)
srs_error_t MockTsHandler::on_ts_message(SrsTsMessage* m)
{
srs_freep(msg);
msg = m->detach();
return srs_success;
}
@ -3201,7 +3206,7 @@ VOID TEST(KernelUtilityTest, CoverTimeUtilityAll)
}
}
VOID TEST(KernelTSTest, CoverBasicUtility)
VOID TEST(KernelTSTest, CoverContextUtility)
{
if (true) {
EXPECT_STREQ("Reserved", srs_ts_stream2string(SrsTsStreamReserved).c_str());
@ -3238,6 +3243,9 @@ VOID TEST(KernelTSTest, CoverBasicUtility)
SrsTsMessage* cp = m.detach();
EXPECT_TRUE(cp != NULL);
srs_freep(cp);
ctx.reset();
EXPECT_FALSE(ctx.ready);
}
if (true) {
@ -3294,6 +3302,44 @@ VOID TEST(KernelTSTest, CoverBasicUtility)
EXPECT_TRUE(m.completed(0));
}
if (true) {
SrsTsMessage m;
EXPECT_TRUE(m.completed(1));
EXPECT_TRUE(!m.completed(0));
m.PES_packet_length = 8;
SrsBuffer b((char*)"\x00\x01\x02\x03", 4);
int nb_bytes = 0;
EXPECT_TRUE(srs_success == m.dump(&b, &nb_bytes));
EXPECT_EQ(4, nb_bytes);
b.skip(-4);
EXPECT_TRUE(srs_success == m.dump(&b, &nb_bytes));
EXPECT_EQ(4, nb_bytes);
EXPECT_TRUE(m.completed(0));
}
if (true) {
MockTsHandler* h = new MockTsHandler();
srs_freep(h);
SrsTsContext ctx;
EXPECT_TRUE(!ctx.is_pure_audio());
ctx.set(100, SrsTsPidApplyPAT);
ctx.set(101, SrsTsPidApplyPMT);
ctx.set(102, SrsTsPidApplyVideo);
ctx.set(102, SrsTsPidApplyVideo);
ctx.on_pmt_parsed();
EXPECT_TRUE(!ctx.is_pure_audio());
EXPECT_EQ(100, ctx.get(100)->pid);
}
if (true) {
MockTsHandler* h = new MockTsHandler();
srs_freep(h);
@ -3309,6 +3355,48 @@ VOID TEST(KernelTSTest, CoverBasicUtility)
EXPECT_TRUE(ctx.is_pure_audio());
EXPECT_EQ(100, ctx.get(100)->pid);
EXPECT_TRUE(NULL == ctx.get(200));
}
if (true) {
SrsTsContext ctx;
EXPECT_EQ(0x47, ctx.sync_byte);
ctx.set_sync_byte(0x01);
EXPECT_EQ(0x01, ctx.sync_byte);
}
}
VOID TEST(KernelTSTest, CoverContextCodec)
{
SrsTsContext ctx;
MockTsHandler h;
if (true) {
SrsBuffer b;
EXPECT_TRUE(srs_success == ctx.decode(&b, &h));
EXPECT_TRUE(NULL == h.msg);
}
if (true) {
SrsBuffer b((char*)"\x00", 1);
srs_error_t err = ctx.decode(&b, &h);
EXPECT_TRUE(srs_success != err);
srs_freep(err);
}
if (true) {
MockSrsFileWriter f;
SrsTsMessage m;
srs_error_t err = ctx.encode(&f, &m, SrsVideoCodecIdDisabled, SrsAudioCodecIdDisabled);
EXPECT_TRUE(srs_success != err);
srs_freep(err);
err = ctx.encode(&f, &m, SrsVideoCodecIdHEVC, SrsAudioCodecIdOpus);
EXPECT_TRUE(srs_success != err);
srs_freep(err);
}
}