Merge branch 'master' of github.com:ZLMediaKit/ZLMediaKit

This commit is contained in:
ziyue 2021-10-22 16:37:20 +08:00
commit fafd197e2b
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 url = https://gitee.com/xia-chu/ZLToolKit
[submodule "3rdpart/media-server"] [submodule "3rdpart/media-server"]
path = 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; MP4FileIO *thiz = (MP4FileIO *) ctx;
return thiz->onWrite(data, bytes); return thiz->onWrite(data, bytes);
}, },
[](void *ctx, uint64_t offset) { [](void *ctx, int64_t offset) {
MP4FileIO *thiz = (MP4FileIO *) ctx; MP4FileIO *thiz = (MP4FileIO *) ctx;
return thiz->onSeek(offset); return thiz->onSeek(offset);
}, },
[](void *ctx) { [](void *ctx) {
MP4FileIO *thiz = (MP4FileIO *) 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) { Frame::Ptr MP4Demuxer::readFrame(bool &keyFrame, bool &eof) {
keyFrame = false; keyFrame = false;
eof = 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; Context *ctx = (Context *) param;
ctx->pts = pts; ctx->pts = pts;
ctx->dts = dts; ctx->dts = dts;
ctx->flags = flags; ctx->flags = flags;
ctx->track_id = track_id; 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 = ctx->thiz->_buffer_pool.obtain();
ctx->buffer->setCapacity(bytes + DATA_OFFSET + 1); ctx->buffer->setCapacity(bytes + DATA_OFFSET + 1);
ctx->buffer->setSize(bytes + DATA_OFFSET); ctx->buffer->setSize(bytes + DATA_OFFSET);
@ -189,7 +187,7 @@ Frame::Ptr MP4Demuxer::readFrame(bool &keyFrame, bool &eof) {
}; };
Context ctx = {this, 0}; 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) { switch (ret) {
case 0 : { case 0 : {
eof = true; eof = true;