Improve test coverage for dash init encoder

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

@ -1549,6 +1549,9 @@ SrsMp4MovieHeaderBox::~SrsMp4MovieHeaderBox()
uint64_t SrsMp4MovieHeaderBox::duration()
{
if (timescale <= 0) {
return 0;
}
return duration_in_tbn * 1000 / timescale;
}

@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <sstream>
using namespace std;
#include <srs_utest_kernel.hpp>
#include <srs_kernel_error.hpp>
#include <srs_kernel_mp4.hpp>
#include <srs_core_autofree.hpp>
@ -1733,5 +1734,106 @@ VOID TEST(KernelMp4Test, STSDBox)
HELPER_EXPECT_SUCCESS(box.decode(&b));
}
}
if (true) {
char buf[108];
SrsBuffer b(buf, sizeof(buf));
if (true) {
SrsMp4MovieHeaderBox box;
EXPECT_EQ(sizeof(buf), box.nb_bytes());
HELPER_EXPECT_SUCCESS(box.encode(&b));
stringstream ss;
SrsMp4DumpContext dc;
box.dumps_detail(ss, dc);
string v = ss.str();
EXPECT_STREQ(", FB(4B), 0ms, TBN=0, nTID=0", v.c_str());
}
if (true) {
b.skip(-1 * b.pos());
SrsMp4MovieHeaderBox box;
HELPER_EXPECT_SUCCESS(box.decode(&b));
}
}
if (true) {
SrsMp4TrackBox box;
SrsMp4TrackHeaderBox* tkhd = new SrsMp4TrackHeaderBox();
box.set_tkhd(tkhd);
EXPECT_TRUE(tkhd == box.tkhd());
}
if (true) {
char buf[16];
SrsBuffer b(buf, sizeof(buf));
if (true) {
SrsMp4CompositionTime2SampleBox box;
EXPECT_EQ(sizeof(buf), box.nb_bytes());
HELPER_EXPECT_SUCCESS(box.encode(&b));
stringstream ss;
SrsMp4DumpContext dc;
box.dumps_detail(ss, dc);
string v = ss.str();
EXPECT_STREQ(", FB(4B), 0 childs (+)", v.c_str());
}
if (true) {
b.skip(-1 * b.pos());
SrsMp4CompositionTime2SampleBox box;
HELPER_EXPECT_SUCCESS(box.decode(&b));
}
}
}
VOID TEST(KernelMp4Test, SrsMp4M2tsInitEncoder)
{
srs_error_t err;
if (true) {
MockSrsFileWriter fw;
HELPER_ASSERT_SUCCESS(fw.open("test.mp4"));
SrsMp4M2tsInitEncoder enc;
HELPER_ASSERT_SUCCESS(enc.initialize(&fw));
SrsFormat fmt;
EXPECT_TRUE(srs_success == fmt.initialize());
uint8_t raw[] = {
0x17,
0x00, 0x00, 0x00, 0x00, 0x01, 0x64, 0x00, 0x20, 0xff, 0xe1, 0x00, 0x19, 0x67, 0x64, 0x00, 0x20,
0xac, 0xd9, 0x40, 0xc0, 0x29, 0xb0, 0x11, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x03, 0x00,
0x32, 0x0f, 0x18, 0x31, 0x96, 0x01, 0x00, 0x05, 0x68, 0xeb, 0xec, 0xb2, 0x2c
};
EXPECT_TRUE(srs_success == fmt.on_video(0, (char*)raw, sizeof(raw)));
HELPER_ASSERT_SUCCESS(enc.write(&fmt, true, 1));
EXPECT_TRUE(fw.filesize() > 0);
}
if (true) {
MockSrsFileWriter fw;
HELPER_ASSERT_SUCCESS(fw.open("test.mp4"));
SrsMp4M2tsInitEncoder enc;
HELPER_ASSERT_SUCCESS(enc.initialize(&fw));
SrsFormat fmt;
EXPECT_TRUE(srs_success == fmt.initialize());
uint8_t raw[] = {
0xaf, 0x00, 0x12, 0x10
};
EXPECT_TRUE(srs_success == fmt.on_audio(0, (char*)raw, sizeof(raw)));
HELPER_ASSERT_SUCCESS(enc.write(&fmt, false, 1));
EXPECT_TRUE(fw.filesize() > 0);
}
}

Loading…
Cancel
Save