mux: allow build-time version label override (FREEMKV_BUILD_LABEL)

build.rs emits FREEMKV_VERSION = FREEMKV_BUILD_LABEL when that env is set
(non-empty), else the Cargo package version. The muxing/writing-application
field and the FVI generator tag use it, so a pre-release/test build can be
stamped without bumping Cargo.toml and disturbing the tag-pinned [patch]
version matching. The git short hash is still appended either way.
This commit is contained in:
Matthew Jackson
2026-06-26 19:38:13 -07:00
parent c49a180ce7
commit 80ecb671fd
3 changed files with 14 additions and 2 deletions
+1 -1
View File
@@ -774,7 +774,7 @@ impl<W: Write + Seek> MkvMuxer<W> {
// Stamp the freemkv version so any muxed file is traceable to the build
// that produced it (MediaInfo "Writing application"/"library").
const FREEMKV_MUX_APP: &str =
concat!("freemkv ", env!("CARGO_PKG_VERSION"), env!("GIT_SUFFIX"));
concat!("freemkv ", env!("FREEMKV_VERSION"), env!("GIT_SUFFIX"));
ebml::write_string(&mut writer, ebml::MUXING_APP, FREEMKV_MUX_APP)?;
ebml::write_string(&mut writer, ebml::WRITING_APP, FREEMKV_MUX_APP)?;
if let Some(t) = title {
+1 -1
View File
@@ -37,7 +37,7 @@ pub const FVI_VERSION: u32 = 1;
/// Producing tool tag for the header `"generator"` member
/// (`docs/FVI_FORMAT.md` §6).
pub const FVI_GENERATOR: &str = concat!("freemkv/", env!("CARGO_PKG_VERSION"), env!("GIT_SUFFIX"));
pub const FVI_GENERATOR: &str = concat!("freemkv/", env!("FREEMKV_VERSION"), env!("GIT_SUFFIX"));
/// Header `"timescale"` for all `pts`/`dts` ticks (`docs/FVI_FORMAT.md` §10).
/// The highway carries presentation timestamps in nanoseconds, so the timescale