aboutsummaryrefslogtreecommitdiffstats
path: root/compress.c
diff options
context:
space:
mode:
authorAmit Shekhar <ashekhar@codeaurora.org>2015-01-20 20:26:49 -0800
committerLinux Build Service Account <lnxbuild@localhost>2015-10-06 03:30:15 -0600
commitea74b5398a1b2cf88a094b02c8ebfb752463c065 (patch)
tree137dac0e1649790a28ceccdac9bc4634eab82a4c /compress.c
parent00302a57958bbabfd07116b12a9047cac6c832ed (diff)
downloadandroid_external_tinycompress-ea74b5398a1b2cf88a094b02c8ebfb752463c065.tar.gz
android_external_tinycompress-ea74b5398a1b2cf88a094b02c8ebfb752463c065.tar.bz2
android_external_tinycompress-ea74b5398a1b2cf88a094b02c8ebfb752463c065.zip
tinycompress: Set additional metadata for flac stream
Currently, metadata such as min/max block size is sent only for first stream in FLAC gapless playback. This causes incorrect configuration and, subsequently, framedrops in decoding of second stream and onwards Set additional gapless metadata for flac streams Change-Id: I6b67ab3853637dff4fc6aee00137be2888ca6c86 CRs-Fixed: 781837
Diffstat (limited to 'compress.c')
-rw-r--r--compress.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/compress.c b/compress.c
index d1a2283..6a03e3b 100644
--- a/compress.c
+++ b/compress.c
@@ -568,6 +568,16 @@ int compress_set_gapless_metadata(struct compress *compress,
metadata.value[0] = mdata->encoder_delay;
if (ioctl(compress->fd, SNDRV_COMPRESS_SET_METADATA, &metadata))
return oops(compress, errno, "can't set metadata for stream\n");
+
+ metadata.key = SNDRV_COMPRESS_MIN_BLK_SIZE;
+ metadata.value[0] = mdata->min_blk_size;
+ if (ioctl(compress->fd, SNDRV_COMPRESS_SET_METADATA, &metadata))
+ return oops(compress, errno, "can't set metadata for stream\n");
+
+ metadata.key = SNDRV_COMPRESS_MAX_BLK_SIZE;
+ metadata.value[0] = mdata->max_blk_size;
+ if (ioctl(compress->fd, SNDRV_COMPRESS_SET_METADATA, &metadata))
+ return oops(compress, errno, "can't set metadata for stream\n");
compress->gapless_metadata = 1;
return 0;
}