From c032109cda1de08ad06502c5924c0b82611b2f7e Mon Sep 17 00:00:00 2001 From: Ilya Nikolaevskiy Date: Mon, 11 Mar 2019 11:18:26 +0100 Subject: [PATCH] Improve bitstream dumping logic in VideoReceiveStream MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Specifying relative path like "~" somehow doesn't work in some cases. To pass an absolute path some parameter rewriting is required. Also, as the stream gets recreated several times at the beginning of the call, append the time to the filename to make them unique. Bug: none Change-Id: I1c914f9081adb4ac5c34584d96e542e8a863547b Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126700 Reviewed-by: Erik Språng Commit-Queue: Ilya Nikolaevskiy Cr-Commit-Position: refs/heads/master@{#27101} --- video/video_receive_stream.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/video/video_receive_stream.cc b/video/video_receive_stream.cc index 0f87d651da..f84bced45d 100644 --- a/video/video_receive_stream.cc +++ b/video/video_receive_stream.cc @@ -338,11 +338,16 @@ void VideoReceiveStream::Start() { std::string decoded_output_file = field_trial::FindFullName("WebRTC-DecoderDataDumpDirectory"); + // Because '/' can't be used inside a field trial parameter, we use ':' + // instead. + std::replace(decoded_output_file.begin(), decoded_output_file.end(), ':', + '/'); if (!decoded_output_file.empty()) { char filename_buffer[256]; rtc::SimpleStringBuilder ssb(filename_buffer); ssb << decoded_output_file << "/webrtc_receive_stream_" - << this->config_.rtp.local_ssrc << ".ivf"; + << this->config_.rtp.remote_ssrc << "-" << rtc::TimeMicros() + << ".ivf"; video_decoder = absl::make_unique( std::move(video_decoder), FileWrapper::OpenWriteOnly(ssb.str())); }