From b171f76af6ac3b6bfe92fb6cd92961eef7650aa2 Mon Sep 17 00:00:00 2001
From: Nicolas Pope <nwpope@utu.fi>
Date: Sat, 16 May 2020 10:17:06 +0300
Subject: [PATCH] Set mkv metadata

---
 applications/ftl2mkv/src/main.cpp               | 5 +++++
 components/codecs/include/ftl/codecs/codecs.hpp | 1 +
 2 files changed, 6 insertions(+)

diff --git a/applications/ftl2mkv/src/main.cpp b/applications/ftl2mkv/src/main.cpp
index 665de6562..e02e2de0d 100644
--- a/applications/ftl2mkv/src/main.cpp
+++ b/applications/ftl2mkv/src/main.cpp
@@ -52,6 +52,8 @@ static AVStream *add_video_stream(AVFormatContext *oc, const ftl::codecs::Packet
 	st->codecpar->format = AV_PIX_FMT_NV12;
 	st->codecpar->bit_rate = 4000000;
 
+	if (pkt.flags & ftl::codecs::kFlagStereo) av_dict_set_int(&st->metadata, "stereo_mode", 1, 0);
+
     /* put sample parameters */
     //c->bit_rate = 4000000;
     /* resolution must be a multiple of two */
@@ -166,6 +168,9 @@ int main(int argc, char **argv) {
 	}
 
 	av_dump_format(oc, 0, "output.mkv", 1);
+	av_dict_set(&oc->metadata, "title", "Future Tech Lab Recording", 0);
+	av_dict_set(&oc->metadata, "artist", "University of Turku", 0);
+
 	if (avformat_write_header(oc, NULL) < 0) {
 		LOG(ERROR) << "Failed to write stream header";
 	}
diff --git a/components/codecs/include/ftl/codecs/codecs.hpp b/components/codecs/include/ftl/codecs/codecs.hpp
index e2047b54a..8c3a006ed 100644
--- a/components/codecs/include/ftl/codecs/codecs.hpp
+++ b/components/codecs/include/ftl/codecs/codecs.hpp
@@ -19,6 +19,7 @@ static constexpr uint8_t kFlagFlipRGB = 0x01;		// Swap blue and red channels [de
 static constexpr uint8_t kFlagMappedDepth = 0x02;	// Use Yuv mapping for float [deprecated]
 static constexpr uint8_t kFlagFloat = 0x04;			// Floating point output
 static constexpr uint8_t kFlagPartial = 0x10;		// This frameset is not complete
+static constexpr uint8_t kFlagStereo = 0x20;		// Left-Right stereo in single channel
 static constexpr uint8_t kFlagMultiple = 0x80;		// Multiple video frames in single packet
 
 /**
-- 
GitLab