mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Covert FLV Vod decoder.
This commit is contained in:
parent
3bd7978b59
commit
ea9c4f89af
3 changed files with 67 additions and 2 deletions
|
@ -143,6 +143,7 @@ MockSrsFileReader::MockSrsFileReader()
|
||||||
size = 0;
|
size = 0;
|
||||||
offset = 0;
|
offset = 0;
|
||||||
opened = false;
|
opened = false;
|
||||||
|
seekable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
MockSrsFileReader::MockSrsFileReader(const char* src, int nb_src)
|
MockSrsFileReader::MockSrsFileReader(const char* src, int nb_src)
|
||||||
|
@ -157,6 +158,7 @@ MockSrsFileReader::MockSrsFileReader(const char* src, int nb_src)
|
||||||
|
|
||||||
offset = 0;
|
offset = 0;
|
||||||
opened = false;
|
opened = false;
|
||||||
|
seekable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
MockSrsFileReader::~MockSrsFileReader()
|
MockSrsFileReader::~MockSrsFileReader()
|
||||||
|
@ -194,6 +196,10 @@ void MockSrsFileReader::skip(int64_t _size)
|
||||||
|
|
||||||
int64_t MockSrsFileReader::seek2(int64_t _offset)
|
int64_t MockSrsFileReader::seek2(int64_t _offset)
|
||||||
{
|
{
|
||||||
|
if (!seekable) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
offset = (int)_offset;
|
offset = (int)_offset;
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
|
@ -872,6 +878,63 @@ VOID TEST(KernelFLVTest, CoverReaderErrorCase)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VOID TEST(KernelFLVTest, CoverVodStreamErrorCase)
|
||||||
|
{
|
||||||
|
srs_error_t err;
|
||||||
|
|
||||||
|
if (true) {
|
||||||
|
MockSrsFileReader r;
|
||||||
|
HELPER_EXPECT_SUCCESS(r.open(""));
|
||||||
|
|
||||||
|
SrsFlvVodStreamDecoder d;
|
||||||
|
HELPER_EXPECT_SUCCESS(d.initialize(&r));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (true) {
|
||||||
|
MockSrsFileReader r;
|
||||||
|
HELPER_EXPECT_SUCCESS(r.open(""));
|
||||||
|
|
||||||
|
SrsFlvVodStreamDecoder d;
|
||||||
|
HELPER_EXPECT_SUCCESS(d.initialize(&r));
|
||||||
|
|
||||||
|
char header[13];
|
||||||
|
HELPER_EXPECT_FAILED(d.read_header_ext(header));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (true) {
|
||||||
|
MockSrsFileReader r;
|
||||||
|
HELPER_EXPECT_SUCCESS(r.open(""));
|
||||||
|
|
||||||
|
SrsFlvVodStreamDecoder d;
|
||||||
|
HELPER_EXPECT_SUCCESS(d.initialize(&r));
|
||||||
|
|
||||||
|
int64_t start;
|
||||||
|
int size;
|
||||||
|
HELPER_EXPECT_FAILED(d.read_sequence_header_summary(&start, &size));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (true) {
|
||||||
|
MockSrsFileReader r;
|
||||||
|
HELPER_EXPECT_SUCCESS(r.open(""));
|
||||||
|
|
||||||
|
SrsFlvVodStreamDecoder d;
|
||||||
|
HELPER_EXPECT_SUCCESS(d.initialize(&r));
|
||||||
|
|
||||||
|
HELPER_EXPECT_FAILED(d.seek2(1));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (true) {
|
||||||
|
MockSrsFileReader r;
|
||||||
|
HELPER_EXPECT_SUCCESS(r.open(""));
|
||||||
|
r.seekable = false;
|
||||||
|
|
||||||
|
SrsFlvVodStreamDecoder d;
|
||||||
|
HELPER_EXPECT_SUCCESS(d.initialize(&r));
|
||||||
|
|
||||||
|
HELPER_EXPECT_FAILED(d.seek2(0));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* test the flv decoder,
|
* test the flv decoder,
|
||||||
* exception: file stream not open.
|
* exception: file stream not open.
|
||||||
|
|
|
@ -82,6 +82,8 @@ public:
|
||||||
int size;
|
int size;
|
||||||
int offset;
|
int offset;
|
||||||
bool opened;
|
bool opened;
|
||||||
|
// Could seek.
|
||||||
|
bool seekable;
|
||||||
public:
|
public:
|
||||||
MockSrsFileReader();
|
MockSrsFileReader();
|
||||||
MockSrsFileReader(const char* data, int nb_data);
|
MockSrsFileReader(const char* data, int nb_data);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue