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