summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetri Hintukainen <phintuka@users.sourceforge.net>2012-01-16 22:33:23 +0200
committerPetri Hintukainen <phintuka@users.sourceforge.net>2012-01-16 22:33:23 +0200
commitd09162d992bcda8ee38cb5c0b13557e395876c64 (patch)
treec4d30920cf6398601c7d199c22cf665e7532fd72
parent48c8cc338c561352e531cd8ccdbfe8b19b281473 (diff)
downloadxine-lib-d09162d992bcda8ee38cb5c0b13557e395876c64.tar.gz
xine-lib-d09162d992bcda8ee38cb5c0b13557e395876c64.tar.bz2
Fixed matroska header compression when using lacing (ex. multiple audio frames in one block)
--HG-- branch : point-release
-rw-r--r--src/demuxers/demux_matroska.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/demuxers/demux_matroska.c b/src/demuxers/demux_matroska.c
index 3d1935587..ff2658a0c 100644
--- a/src/demuxers/demux_matroska.c
+++ b/src/demuxers/demux_matroska.c
@@ -2049,6 +2049,13 @@ static int parse_block (demux_matroska_t *this, size_t block_size,
}
/* send each frame to the decoder */
for (i = 0; i <= lace_num; i++) {
+
+ if (headers_len) {
+ data -= headers_len;
+ xine_fast_memcpy(data, track->compress_settings, headers_len);
+ frame[i] += headers_len;
+ }
+
if (track->handle_content != NULL) {
track->handle_content((demux_plugin_t *)this, track,
decoder_flags,