3a7b7a8499
Libmkv was started from Handbrake but is now unmaintained upstream. Patches: - A01: add constant to header file - A02: Breaks API: Allow changing output sampling frequency - P00: Fix accessing large files on Mingw32
29 lines
1.1 KiB
Diff
29 lines
1.1 KiB
Diff
diff --git a/include/libmkv.h b/include/libmkv.h
|
|
index 146a91f..f03d608 100644
|
|
--- a/include/libmkv.h
|
|
+++ b/include/libmkv.h
|
|
@@ -203,6 +204,7 @@ struct mk_TrackConfig_s {
|
|
} video;
|
|
struct {
|
|
float samplingFreq; /* Sampling Frequency in Hz */
|
|
+ float outputSamplingFreq; /* Playback Sampling Frequency in Hz (e.g. for AAC w/SBR) */
|
|
unsigned channels; /* Number of channels for this track */
|
|
unsigned bitDepth; /* Bits per sample (PCM) */
|
|
} audio;
|
|
diff --git a/src/tracks.c b/src/tracks.c
|
|
index f9c7e48..a2a60ca 100644
|
|
--- a/src/tracks.c
|
|
+++ b/src/tracks.c
|
|
@@ -174,6 +174,11 @@ mk_Track *mk_createTrack(mk_Writer *w, mk_TrackConfig *tc)
|
|
/* SamplingFrequency */
|
|
if (mk_writeFloat(v, MATROSKA_ID_AUDIOSAMPLINGFREQ, tc->extra.audio.samplingFreq) < 0)
|
|
return NULL;
|
|
+ if (tc->extra.audio.outputSamplingFreq) {
|
|
+ /* Output SamplingFrequency */
|
|
+ if (mk_writeFloat(v, MATROSKA_ID_AUDIOOUTSAMPLINGFREQ, tc->extra.audio.outputSamplingFreq) < 0)
|
|
+ return NULL;
|
|
+ }
|
|
/* Channels */
|
|
if (mk_writeUInt(v, MATROSKA_ID_AUDIOCHANNELS, tc->extra.audio.channels) < 0)
|
|
return NULL;
|