From 4d4e5bb3dc511247763dae10ec789947b71c0b10 Mon Sep 17 00:00:00 2001 From: philippegorley <philippe.gorley@savoirfairelinux.com> Date: Fri, 6 Jul 2018 16:49:40 -0400 Subject: [PATCH] recorder: log input streams Overloads << operator to more easily stringify a MediaStream. Change-Id: I701b85fb7b98a43d336f4cb9a3fe1ab419e04827 Reviewed-by: Sebastien Blin <sebastien.blin@savoirfairelinux.com> --- src/media/media_recorder.cpp | 16 ++++------------ src/media/media_stream.h | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/src/media/media_recorder.cpp b/src/media/media_recorder.cpp index 34c8eada2e..472555f895 100644 --- a/src/media/media_recorder.cpp +++ b/src/media/media_recorder.cpp @@ -200,6 +200,8 @@ MediaRecorder::addStream(bool isVideo, bool fromPeer, MediaStream ms) ms.name = (fromPeer ? "a:1" : "a:2"); ++nbReceivedAudioStreams_; } + // print index instead of count + RING_DBG() << "Recorder input #" << (nbReceivedAudioStreams_ + nbReceivedVideoStreams_ - 1) << ": " << ms; streams_[isVideo][fromPeer] = ms; // wait until all streams are ready before writing to the file @@ -365,12 +367,7 @@ MediaRecorder::setupVideoOutput() if (encoderStream.format < 0) return encoderStream; - RING_DBG() << "Video recorder '" - << (encoderStream.name.empty() ? "(null)" : encoderStream.name) - << "' properties: " - << av_get_pix_fmt_name(static_cast<AVPixelFormat>(encoderStream.format)) << ", " - << encoderStream.width << "x" << encoderStream.height << ", " - << encoderStream.frameRate << " fps"; + RING_DBG() << "Recorder output: " << encoderStream; return encoderStream; } @@ -437,12 +434,7 @@ MediaRecorder::setupAudioOutput() if (encoderStream.format < 0) return encoderStream; - RING_DBG() << "Audio recorder '" - << (encoderStream.name.empty() ? "(null)" : encoderStream.name) - << "' properties: " - << av_get_sample_fmt_name(static_cast<AVSampleFormat>(encoderStream.format)) << ", " - << encoderStream.sampleRate << " Hz, " - << encoderStream.nbChannels << " channels"; + RING_DBG() << "Recorder output: " << encoderStream; return encoderStream; } diff --git a/src/media/media_stream.h b/src/media/media_stream.h index 5e9fffb402..1475d8882b 100644 --- a/src/media/media_stream.h +++ b/src/media/media_stream.h @@ -96,4 +96,22 @@ struct MediaStream { } }; +inline std::ostream& operator<<(std::ostream& os, const MediaStream& ms) +{ + if (ms.isVideo) { + os << (ms.name.empty() ? "(null)" : ms.name) << ": " + << av_get_pix_fmt_name(static_cast<AVPixelFormat>(ms.format)) << " video, " + << ms.width << "x" << ms.height << ", " + << ms.frameRate << " fps (" << ms.timeBase << ")"; + } else { + os << (ms.name.empty() ? "(null)" : ms.name) << ": " + << av_get_sample_fmt_name(static_cast<AVSampleFormat>(ms.format)) << " audio, " + << ms.nbChannels << " channel(s), " + << ms.sampleRate << " Hz (" << ms.timeBase << ")"; + } + if (ms.firstTimestamp > 0) + os << ", start: " << ms.firstTimestamp; + return os; +} + }; // namespace ring -- GitLab