Improve test coverage for mp4 decoder

pull/1568/head
winlin 5 years ago
parent 7597a956ed
commit c3e0dcfa9e

@ -4791,10 +4791,10 @@ srs_error_t SrsMp4SampleManager::load(SrsMp4MovieBox* moov)
SrsMp4Sample* SrsMp4SampleManager::at(uint32_t index)
{
if (index >= samples.size() - 1) {
return NULL;
if (index < samples.size()) {
return samples.at(index);
}
return samples.at(index);
return NULL;
}
void SrsMp4SampleManager::append(SrsMp4Sample* sample)

@ -4688,8 +4688,34 @@ VOID TEST(KernelMP4Test, CoverMP4Codec)
uint16_t ft, ct;
uint32_t dts, pts, nb_sample;
uint8_t* sample;
EXPECT_TRUE(srs_success == dec.read_sample(&ht, &ft, &ct, &dts, &pts, &sample, &nb_sample));
EXPECT_EQ(0, (int)dts);
EXPECT_EQ(41, nb_sample);
EXPECT_EQ(SrsMp4HandlerTypeVIDE, ht);
EXPECT_EQ(SrsAudioAacFrameTraitSequenceHeader, ct);
srs_freepa(sample);
EXPECT_TRUE(srs_success == dec.read_sample(&ht, &ft, &ct, &dts, &pts, &sample, &nb_sample));
EXPECT_EQ(0, (int)dts);
EXPECT_EQ(2, nb_sample);
EXPECT_EQ(SrsMp4HandlerTypeSOUN, ht);
EXPECT_EQ(SrsAudioAacFrameTraitSequenceHeader, ct);
srs_freepa(sample);
EXPECT_TRUE(srs_success == dec.read_sample(&ht, &ft, &ct, &dts, &pts, &sample, &nb_sample));
EXPECT_EQ(0, (int)dts);
EXPECT_EQ(87, nb_sample);
EXPECT_EQ(SrsMp4HandlerTypeSOUN, ht);
EXPECT_NE(SrsAudioAacFrameTraitSequenceHeader, ct);
srs_freepa(sample);
EXPECT_TRUE(srs_success == dec.read_sample(&ht, &ft, &ct, &dts, &pts, &sample, &nb_sample));
EXPECT_EQ(0, (int)dts);
EXPECT_EQ(127, nb_sample);
EXPECT_EQ(SrsMp4HandlerTypeVIDE, ht);
EXPECT_NE(SrsAudioAacFrameTraitSequenceHeader, ct);
srs_freepa(sample);
}
if (true) {

Loading…
Cancel
Save