From a4cfd08f442fbf6febf06c98bbbed1723aaf5fd4 Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期六, 28 九月 2019 11:03:24 +0800 Subject: [PATCH] change audio pts --- csrc/buz/recorder.cpp | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-) diff --git a/csrc/buz/recorder.cpp b/csrc/buz/recorder.cpp index 7b6a483..c3b4d84 100644 --- a/csrc/buz/recorder.cpp +++ b/csrc/buz/recorder.cpp @@ -35,6 +35,7 @@ ,thrd_(nullptr) ,error_occured_(false) ,audio_(false) + ,cur_frame_a(0) { // logIt("RECODER ID: %s", id_.c_str()); } @@ -74,7 +75,16 @@ int pid = getpid(); file_path_ = dir_ + "/" + sole::uuid4().base62() + "-" + std::to_string(pid) + ".mp4"; - auto ret = out_->JustWriter(in_->getStream(AVMEDIA_TYPE_VIDEO), in_->getStream(AVMEDIA_TYPE_AUDIO), file_path_.c_str()); + + auto v = in_->getStream(AVMEDIA_TYPE_VIDEO); + if (!v){ + return -2; + } + AVStream *a = in_->getStream(AVMEDIA_TYPE_AUDIO); + if (!audio){ + a = NULL; + } + auto ret = out_->JustWriter(v, a, file_path_.c_str()); if (ret){ logIt("start record file: %s", file_path_.c_str()); return 0; @@ -106,6 +116,8 @@ id_frame_in_file_ = cur_frame; } cur_frame++; + }else if (in_->isAudioPkt(&np)) { + cur = cur_frame_a++; } auto ret = out_->writeFrame(&np, cur); -- Gitblit v1.8.0