summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libavformat/matroska.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/libavformat/matroska.c b/libavformat/matroska.c
index e4763f3..4917388 100644
--- a/libavformat/matroska.c
+++ b/libavformat/matroska.c
@@ -110,6 +110,8 @@
/* IDs in the trackaudio master */
#define MATROSKA_ID_AUDIOSAMPLINGFREQ 0xB5
+#define MATROSKA_ID_AUDIOOUTSAMPLINGFREQ 0x78B5
+
#define MATROSKA_ID_AUDIOBITDEPTH 0x6264
#define MATROSKA_ID_AUDIOCHANNELS 0x9F
@@ -273,6 +275,7 @@ typedef struct MatroskaAudioTrack {
int channels,
bitdepth,
+ internal_samplerate,
samplerate;
//..
} MatroskaAudioTrack;
@@ -1433,6 +1436,16 @@ matroska_add_stream (MatroskaDemuxContext *matroska)
if ((res = ebml_read_float(matroska, &id,
&num)) < 0)
break;
+ audiotrack->internal_samplerate =
+ audiotrack->samplerate = num;
+ break;
+ }
+
+ case MATROSKA_ID_AUDIOOUTSAMPLINGFREQ: {
+ double num;
+ if ((res = ebml_read_float(matroska, &id,
+ &num)) < 0)
+ break;
audiotrack->samplerate = num;
break;
}
OpenPOWER on IntegriCloud