summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorRodeo <[email protected]>2012-06-18 19:54:54 +0000
committerRodeo <[email protected]>2012-06-18 19:54:54 +0000
commitf7a7a65d4c8898ca3173e7fdff9457e9944d028e (patch)
tree0acc3efe209e34480c23d945e962a7ca4e0f6ac5 /contrib
parent007eba8be0d6f329d3823fbb067a26166f78ecfb (diff)
Bugfix branch: fix HE-AAC in MKV.
HandBrake's output should now play correctly on Sigma-based hardware players (among others). git-svn-id: svn://svn.handbrake.fr/HandBrake/branches/0.9.x@4752 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'contrib')
-rw-r--r--contrib/libmkv/A02-audio-out-sampling-freq.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/contrib/libmkv/A02-audio-out-sampling-freq.patch b/contrib/libmkv/A02-audio-out-sampling-freq.patch
new file mode 100644
index 000000000..ea31957c1
--- /dev/null
+++ b/contrib/libmkv/A02-audio-out-sampling-freq.patch
@@ -0,0 +1,28 @@
+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;