diff --git a/src/media/media_encoder.cpp b/src/media/media_encoder.cpp index 56c4046aa7152f02cc31ec5cbaf07133bc40a77c..91f3ab05e870f6cc7d21c8d58370f3edcf55540f 100644 --- a/src/media/media_encoder.cpp +++ b/src/media/media_encoder.cpp @@ -160,6 +160,12 @@ MediaEncoder::openFileOutput(const std::string& filename, std::map<std::string, { avformat_free_context(outputCtx_); avformat_alloc_output_context2(&outputCtx_, nullptr, nullptr, filename.c_str()); + + if (!options["title"].empty()) + av_dict_set(&outputCtx_->metadata, "title", options["title"].c_str(), 0); + if (!options["description"].empty()) + av_dict_set(&outputCtx_->metadata, "description", options["description"].c_str(), 0); + auto bitrate = SystemCodecInfo::DEFAULT_MAX_BITRATE; auto quality = SystemCodecInfo::DEFAULT_CODEC_QUALITY; // ensure all options retrieved later on are in options_ (insert does nothing if key exists) diff --git a/test/unitTest/media/test_media_encoder.cpp b/test/unitTest/media/test_media_encoder.cpp index 2a1fb24eb539355bf074dfb1336fee91fbd2320a..a251b518a73b1780a4c4a24829530336b0cf1e70 100644 --- a/test/unitTest/media/test_media_encoder.cpp +++ b/test/unitTest/media/test_media_encoder.cpp @@ -150,6 +150,8 @@ MediaEncoderTest::testMultiStream() const constexpr int width = 320; const constexpr int height = 240; std::map<std::string, std::string> options; + options["title"] = "Encoder Unit Test"; + options["description"] = "Description goes here"; options["sample_rate"] = std::to_string(sampleRate); options["channels"] = std::to_string(nbChannels); options["width"] = std::to_string(width);