diff options
author | Amit Shekhar <ashekhar@codeaurora.org> | 2015-01-20 20:26:49 -0800 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2015-10-06 03:30:15 -0600 |
commit | ea74b5398a1b2cf88a094b02c8ebfb752463c065 (patch) | |
tree | 137dac0e1649790a28ceccdac9bc4634eab82a4c /compress.c | |
parent | 00302a57958bbabfd07116b12a9047cac6c832ed (diff) | |
download | android_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.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -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; } |