com.google.android.exoplayer2.util.Util.inflate()方法的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(1.8k)|赞(0)|评价(0)|浏览(204)

本文整理了Java中com.google.android.exoplayer2.util.Util.inflate()方法的一些代码示例,展示了Util.inflate()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Util.inflate()方法的具体详情如下:
包路径:com.google.android.exoplayer2.util.Util
类名称:Util
方法名:inflate

Util.inflate介绍

[英]Uncompresses the data in input.
[中]解压缩输入中的数据。

代码示例

代码示例来源:origin: google/ExoPlayer

  1. private void maybeInflateData(ParsableByteArray buffer) {
  2. if (buffer.bytesLeft() > 0 && buffer.peekUnsignedByte() == INFLATE_HEADER) {
  3. if (inflater == null) {
  4. inflater = new Inflater();
  5. }
  6. if (Util.inflate(buffer, inflatedBuffer, inflater)) {
  7. buffer.reset(inflatedBuffer.data, inflatedBuffer.limit());
  8. } // else assume data is not compressed.
  9. }
  10. }

代码示例来源:origin: google/ExoPlayer

  1. private static @Nullable ArrayList<Mesh> parseMshp(ParsableByteArray input) {
  2. int version = input.readUnsignedByte();
  3. if (version != 0) {
  4. return null;
  5. }
  6. input.skipBytes(7); // flags + crc.
  7. int encoding = input.readInt();
  8. if (encoding == TYPE_DFL8) {
  9. ParsableByteArray output = new ParsableByteArray();
  10. Inflater inflater = new Inflater(true);
  11. try {
  12. if (!Util.inflate(input, output, inflater)) {
  13. return null;
  14. }
  15. } finally {
  16. inflater.end();
  17. }
  18. input = output;
  19. } else if (encoding != TYPE_RAW) {
  20. return null;
  21. }
  22. return parseRawMshpData(input);
  23. }

代码示例来源:origin: google/ExoPlayer

  1. @Test
  2. public void testInflate() {
  3. byte[] testData = TestUtil.buildTestData(/*arbitrary test data size*/ 256 * 1024);
  4. byte[] compressedData = new byte[testData.length * 2];
  5. Deflater compresser = new Deflater(9);
  6. compresser.setInput(testData);
  7. compresser.finish();
  8. int compressedDataLength = compresser.deflate(compressedData);
  9. compresser.end();
  10. ParsableByteArray input = new ParsableByteArray(compressedData, compressedDataLength);
  11. ParsableByteArray output = new ParsableByteArray();
  12. assertThat(Util.inflate(input, output, /* inflater= */ null)).isTrue();
  13. assertThat(output.limit()).isEqualTo(testData.length);
  14. assertThat(Arrays.copyOf(output.data, output.limit())).isEqualTo(testData);
  15. }

相关文章