diff --git a/src/media/audio/audio_rtp_session.cpp b/src/media/audio/audio_rtp_session.cpp
index 5454afe8267990a7511f1223591d50593612fa81..fb98bb2da6d5fc3f54ed17940e38d0c18c298023 100644
--- a/src/media/audio/audio_rtp_session.cpp
+++ b/src/media/audio/audio_rtp_session.cpp
@@ -59,7 +59,7 @@ class AudioSender {
         void setMuted(bool isMuted);
         uint16_t getLastSeqValue();
 
-        void startRecorder(std::shared_ptr<MediaRecorder>& rec);
+        void initRecorder(std::shared_ptr<MediaRecorder>& rec);
 
     private:
         NON_COPYABLE(AudioSender);
@@ -203,10 +203,10 @@ AudioSender::getLastSeqValue()
 }
 
 void
-AudioSender::startRecorder(std::shared_ptr<MediaRecorder>& rec)
+AudioSender::initRecorder(std::shared_ptr<MediaRecorder>& rec)
 {
     if (audioEncoder_)
-        audioEncoder_->startRecorder(rec);
+        audioEncoder_->initRecorder(rec);
 }
 
 class AudioReceiveThread
@@ -220,7 +220,7 @@ class AudioReceiveThread
         void addIOContext(SocketPair &socketPair);
         void startLoop();
 
-        void startRecorder(std::shared_ptr<MediaRecorder>& rec);
+        void initRecorder(std::shared_ptr<MediaRecorder>& rec);
 
     private:
         NON_COPYABLE(AudioReceiveThread);
@@ -382,10 +382,10 @@ AudioReceiveThread::startLoop()
 }
 
 void
-AudioReceiveThread::startRecorder(std::shared_ptr<MediaRecorder>& rec)
+AudioReceiveThread::initRecorder(std::shared_ptr<MediaRecorder>& rec)
 {
     if (audioDecoder_)
-        audioDecoder_->startRecorder(rec);
+        audioDecoder_->initRecorder(rec);
 }
 
 AudioRtpSession::AudioRtpSession(const std::string& id)
@@ -517,12 +517,12 @@ AudioRtpSession::setMuted(bool isMuted)
 }
 
 void
-AudioRtpSession::startRecorder(std::shared_ptr<MediaRecorder>& rec)
+AudioRtpSession::initRecorder(std::shared_ptr<MediaRecorder>& rec)
 {
     if (receiveThread_)
-        receiveThread_->startRecorder(rec);
+        receiveThread_->initRecorder(rec);
     if (sender_)
-        sender_->startRecorder(rec);
+        sender_->initRecorder(rec);
 }
 
 } // namespace ring
diff --git a/src/media/audio/audio_rtp_session.h b/src/media/audio/audio_rtp_session.h
index eb0bbe7bd3843f3f9eccd63ab969394b7e955974..870120cf59ded3593fbb2454c5fee18c78e1af40 100644
--- a/src/media/audio/audio_rtp_session.h
+++ b/src/media/audio/audio_rtp_session.h
@@ -49,7 +49,7 @@ class AudioRtpSession : public RtpSession {
         void setMuted(bool isMuted);
 
 
-        void startRecorder(std::shared_ptr<MediaRecorder>& rec) override;
+        void initRecorder(std::shared_ptr<MediaRecorder>& rec) override;
 
     private:
         void startSender();
diff --git a/src/media/media_decoder.cpp b/src/media/media_decoder.cpp
index b450b6def35c2fd14db053560522477eb4cf26f1..00f4fc5a866751180963d0882c024eecd7be0431 100644
--- a/src/media/media_decoder.cpp
+++ b/src/media/media_decoder.cpp
@@ -526,7 +526,7 @@ MediaDecoder::correctPixFmt(int input_pix_fmt) {
 }
 
 void
-MediaDecoder::startRecorder(std::shared_ptr<MediaRecorder>& rec)
+MediaDecoder::initRecorder(std::shared_ptr<MediaRecorder>& rec)
 {
     // recording will start once we can send an AVPacket to the recorder
     recordingStarted_ = false;
diff --git a/src/media/media_decoder.h b/src/media/media_decoder.h
index 3a1e658d3c59cd86894ec5cace8534f99e634c0c..56ab9c3f4a7b06d6185d9824c244386f50bb500e 100644
--- a/src/media/media_decoder.h
+++ b/src/media/media_decoder.h
@@ -100,7 +100,7 @@ class MediaDecoder {
         void enableAccel(bool enableAccel);
 #endif
 
-        void startRecorder(std::shared_ptr<MediaRecorder>& rec);
+        void initRecorder(std::shared_ptr<MediaRecorder>& rec);
 
     private:
         NON_COPYABLE(MediaDecoder);
diff --git a/src/media/media_encoder.cpp b/src/media/media_encoder.cpp
index 44034e5b89001396589bab16e3e1c7d9a51b7745..f90221288cd69fb987892c61591e48b485007339 100644
--- a/src/media/media_encoder.cpp
+++ b/src/media/media_encoder.cpp
@@ -716,7 +716,7 @@ MediaEncoder::getStreamCount() const
 }
 
 void
-MediaEncoder::startRecorder(std::shared_ptr<MediaRecorder>& rec)
+MediaEncoder::initRecorder(std::shared_ptr<MediaRecorder>& rec)
 {
     // recording will start once we can send an AVPacket to the recorder
     recordingStarted_ = false;
diff --git a/src/media/media_encoder.h b/src/media/media_encoder.h
index 035c18febdd228ea0bd17fb93f27e2327597c955..1ccc7840708b097aac8121105152bd6455f558a0 100644
--- a/src/media/media_encoder.h
+++ b/src/media/media_encoder.h
@@ -98,7 +98,7 @@ public:
 
     unsigned getStreamCount() const;
 
-    void startRecorder(std::shared_ptr<MediaRecorder>& rec);
+    void initRecorder(std::shared_ptr<MediaRecorder>& rec);
 
 private:
     NON_COPYABLE(MediaEncoder);
diff --git a/src/media/rtp_session.h b/src/media/rtp_session.h
index ef9175ae12936c3e3ba551e2dceef7f393439379..6c85997efeb83cda525b08e2e359e00fa8fe3a36 100644
--- a/src/media/rtp_session.h
+++ b/src/media/rtp_session.h
@@ -55,7 +55,7 @@ public:
 
     void setMtu(uint16_t mtu) { mtu_ = mtu; }
 
-    virtual void startRecorder(std::shared_ptr<MediaRecorder>& rec) = 0;
+    virtual void initRecorder(std::shared_ptr<MediaRecorder>& rec) = 0;
 
 protected:
     std::recursive_mutex mutex_;
diff --git a/src/media/video/video_input.cpp b/src/media/video/video_input.cpp
index 367c1c6984d49b99b98900f7b1f775c410b75be0..b8570340c24748623c5a9be603f692bc72ad6a8c 100644
--- a/src/media/video/video_input.cpp
+++ b/src/media/video/video_input.cpp
@@ -588,10 +588,10 @@ VideoInput::foundDecOpts(const DeviceParams& params)
 }
 
 void
-VideoInput::startRecorder(std::shared_ptr<MediaRecorder>& rec)
+VideoInput::initRecorder(std::shared_ptr<MediaRecorder>& rec)
 {
     if (decoder_)
-        decoder_->startRecorder(rec);
+        decoder_->initRecorder(rec);
 }
 
 }} // namespace ring::video
diff --git a/src/media/video/video_input.h b/src/media/video/video_input.h
index 4ddcc81ade7cbeb70896dc20b86f650e18bcdf43..4561b4e83b30501c81a31638107278d73589c0ca 100644
--- a/src/media/video/video_input.h
+++ b/src/media/video/video_input.h
@@ -89,7 +89,7 @@ public:
     void releaseFrame(void *frame);
 #endif
 
-    void startRecorder(std::shared_ptr<MediaRecorder>& rec);
+    void initRecorder(std::shared_ptr<MediaRecorder>& rec);
 
 private:
     NON_COPYABLE(VideoInput);
diff --git a/src/media/video/video_receive_thread.cpp b/src/media/video/video_receive_thread.cpp
index e118bd4e75aaf0846d45f5650a71bcd87a7a7bfd..e7a83c4358bc81700d4437191f5fde88f0d49802 100644
--- a/src/media/video/video_receive_thread.cpp
+++ b/src/media/video/video_receive_thread.cpp
@@ -239,10 +239,10 @@ VideoReceiveThread::triggerKeyFrameRequest()
 }
 
 void
-VideoReceiveThread::startRecorder(std::shared_ptr<ring::MediaRecorder>& rec)
+VideoReceiveThread::initRecorder(std::shared_ptr<ring::MediaRecorder>& rec)
 {
     if (videoDecoder_)
-        videoDecoder_->startRecorder(rec);
+        videoDecoder_->initRecorder(rec);
 }
 
 }} // namespace ring::video
diff --git a/src/media/video/video_receive_thread.h b/src/media/video/video_receive_thread.h
index 7cd3e44c3752d553978f6148b60db0c89157ec9e..2c884d067bd309698517a7e0426b6dbce7b7641f 100644
--- a/src/media/video/video_receive_thread.h
+++ b/src/media/video/video_receive_thread.h
@@ -62,7 +62,7 @@ public:
     int getPixelFormat() const;
     void triggerKeyFrameRequest();
 
-    void startRecorder(std::shared_ptr<ring::MediaRecorder>& rec);
+    void initRecorder(std::shared_ptr<ring::MediaRecorder>& rec);
 
 private:
     NON_COPYABLE(VideoReceiveThread);
diff --git a/src/media/video/video_rtp_session.cpp b/src/media/video/video_rtp_session.cpp
index 50d7f8a2456c68764ff63ea763fde5843f773152..64d5d2787bd6f3bab6c7c2f44ce08410df161d3b 100644
--- a/src/media/video/video_rtp_session.cpp
+++ b/src/media/video/video_rtp_session.cpp
@@ -565,14 +565,14 @@ VideoRtpSession::processPacketLoss()
 }
 
 void
-VideoRtpSession::startRecorder(std::shared_ptr<MediaRecorder>& rec)
+VideoRtpSession::initRecorder(std::shared_ptr<MediaRecorder>& rec)
 {
     // video recording needs to start with keyframes
     const constexpr int keyframes = 3;
     if (receiveThread_)
-        receiveThread_->startRecorder(rec);
+        receiveThread_->initRecorder(rec);
     if (auto vidInput = std::static_pointer_cast<VideoInput>(videoLocal_))
-        vidInput->startRecorder(rec);
+        vidInput->initRecorder(rec);
     for (int i = 0; i < keyframes; ++i)
         if (receiveThread_)
             receiveThread_->triggerKeyFrameRequest();
diff --git a/src/media/video/video_rtp_session.h b/src/media/video/video_rtp_session.h
index 670ff75ec79a68f6e763ea10d60fc1f325c4f04b..bb1bade19f3efd5fc213e470228e2ba0db00be91 100644
--- a/src/media/video/video_rtp_session.h
+++ b/src/media/video/video_rtp_session.h
@@ -80,7 +80,7 @@ public:
 
     bool useCodec(const AccountVideoCodecInfo* codec) const;
 
-    void startRecorder(std::shared_ptr<MediaRecorder>& rec) override;
+    void initRecorder(std::shared_ptr<MediaRecorder>& rec) override;
 
 private:
     void setupConferenceVideoPipeline(Conference& conference);
diff --git a/src/sip/sipcall.cpp b/src/sip/sipcall.cpp
index 06c973f19b8c9652b96a8631fec29403cadd97bc..c81c4ddcdd7ede228821712e887b4b56fdb69ce7 100644
--- a/src/sip/sipcall.cpp
+++ b/src/sip/sipcall.cpp
@@ -1159,10 +1159,10 @@ SIPCall::toggleRecording()
             << getSIPAccount().getUserUri() << " and " << peerUri_;
         recorder_->setMetadata(ss.str(), ""); // use default description
         if (avformatrtp_)
-            avformatrtp_->startRecorder(recorder_);
+            avformatrtp_->initRecorder(recorder_);
 #ifdef RING_VIDEO
         if (!isAudioOnly_ && videortp_)
-            videortp_->startRecorder(recorder_);
+            videortp_->initRecorder(recorder_);
 #endif
     }
     return startRecording;