diff --git a/.gitmodules b/.gitmodules index f525392b..68b49644 100644 --- a/.gitmodules +++ b/.gitmodules @@ -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 diff --git a/3rdpart/media-server b/3rdpart/media-server index ec171caa..0caa03c0 160000 --- a/3rdpart/media-server +++ b/3rdpart/media-server @@ -1 +1 @@ -Subproject commit ec171caa4b28db0f6ea47bca2c0c9530f345698a +Subproject commit 0caa03c07e2ed40ec996479d594f1a75e9bd3f03 diff --git a/src/Record/MP4.cpp b/src/Record/MP4.cpp index 292bc793..b4919222 100644 --- a/src/Record/MP4.cpp +++ b/src/Record/MP4.cpp @@ -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(); } }; diff --git a/src/Record/MP4Demuxer.cpp b/src/Record/MP4Demuxer.cpp index 7df9ed27..08d59f6c 100644 --- a/src/Record/MP4Demuxer.cpp +++ b/src/Record/MP4Demuxer.cpp @@ -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;