media-server使用原仓库并适配 (#1180)

* remote media-server

* 适配第三方库media-server使用原仓库

* ireader/media-server库使用gitee镜像

Co-authored-by: monktan <monktan@tencent.com>
This commit is contained in:
夏楚 2021-10-22 14:16:39 +08:00 committed by GitHub
parent 6d384c4a1e
commit 19ebb03458
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 7 additions and 9 deletions

2
.gitmodules vendored
View File

@ -3,4 +3,4 @@
url = https://gitee.com/xia-chu/ZLToolKit
[submodule "3rdpart/media-server"]
path = 3rdpart/media-server
url = https://gitee.com/xia-chu/media-server
url = https://gitee.com/ireader/media-server

@ -1 +1 @@
Subproject commit ec171caa4b28db0f6ea47bca2c0c9530f345698a
Subproject commit 0caa03c07e2ed40ec996479d594f1a75e9bd3f03

View File

@ -107,13 +107,13 @@ static struct mov_buffer_t s_io = {
MP4FileIO *thiz = (MP4FileIO *) ctx;
return thiz->onWrite(data, bytes);
},
[](void *ctx, uint64_t offset) {
[](void *ctx, int64_t offset) {
MP4FileIO *thiz = (MP4FileIO *) ctx;
return thiz->onSeek(offset);
},
[](void *ctx) {
MP4FileIO *thiz = (MP4FileIO *) ctx;
return (uint64_t)thiz->onTell();
return (int64_t)thiz->onTell();
}
};

View File

@ -172,16 +172,14 @@ struct Context{
Frame::Ptr MP4Demuxer::readFrame(bool &keyFrame, bool &eof) {
keyFrame = false;
eof = false;
static mov_reader_onread mov_reader_onread = [](void *param, uint32_t track_id, const void *buffer, size_t bytes, int64_t pts, int64_t dts, int flags) {
static mov_reader_onread2 mov_onalloc = [](void *param, uint32_t track_id, size_t bytes, int64_t pts, int64_t dts, int flags) -> void * {
Context *ctx = (Context *) param;
ctx->pts = pts;
ctx->dts = dts;
ctx->flags = flags;
ctx->track_id = track_id;
};
static mov_onalloc mov_onalloc = [](void *param, int bytes) -> void * {
Context *ctx = (Context *) param;
ctx->buffer = ctx->thiz->_buffer_pool.obtain();
ctx->buffer->setCapacity(bytes + DATA_OFFSET + 1);
ctx->buffer->setSize(bytes + DATA_OFFSET);
@ -189,7 +187,7 @@ Frame::Ptr MP4Demuxer::readFrame(bool &keyFrame, bool &eof) {
};
Context ctx = {this, 0};
auto ret = mov_reader_read2(_mov_reader.get(), mov_onalloc, mov_reader_onread, &ctx);
auto ret = mov_reader_read2(_mov_reader.get(), mov_onalloc, &ctx);
switch (ret) {
case 0 : {
eof = true;