• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java Extractor类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.google.android.exoplayer2.extractor.Extractor的典型用法代码示例。如果您正苦于以下问题:Java Extractor类的具体用法?Java Extractor怎么用?Java Extractor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Extractor类属于com.google.android.exoplayer2.extractor包,在下文中一共展示了Extractor类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: assertThrows

import com.google.android.exoplayer2.extractor.Extractor; //导入依赖的package包/类
/**
 * Asserts {@code extractor} throws {@code expectedThrowable} while consuming {@code sampleFile}.
 *
 * @param extractor The {@link Extractor} to be tested.
 * @param fileData Content of the input file.
 * @param expectedThrowable Expected {@link Throwable} class.
 * @param simulateIOErrors If true simulates IOErrors.
 * @param simulateUnknownLength If true simulates unknown input length.
 * @param simulatePartialReads If true simulates partial reads.
 * @throws IOException If reading from the input fails.
 * @throws InterruptedException If interrupted while reading from the input.
 */
public static void assertThrows(Extractor extractor, byte[] fileData,
    Class<? extends Throwable> expectedThrowable, boolean simulateIOErrors,
    boolean simulateUnknownLength, boolean simulatePartialReads) throws IOException,
    InterruptedException {
  FakeExtractorInput input = new FakeExtractorInput.Builder().setData(fileData)
      .setSimulateIOErrors(simulateIOErrors)
      .setSimulateUnknownLength(simulateUnknownLength)
      .setSimulatePartialReads(simulatePartialReads).build();
  try {
    consumeTestData(extractor, input, 0, true);
    throw new AssertionError(expectedThrowable.getSimpleName() + " expected but not thrown");
  } catch (Throwable throwable) {
    if (expectedThrowable.equals(throwable.getClass())) {
      return; // Pass!
    }
    throw throwable;
  }
}
 
开发者ID:ashwanijanghu,项目名称:ExoPlayer-Offline,代码行数:31,代码来源:TestUtil.java


示例2: maybeLoadInitData

import com.google.android.exoplayer2.extractor.Extractor; //导入依赖的package包/类
private void maybeLoadInitData() throws IOException, InterruptedException {
  if (previousExtractor == extractor || initLoadCompleted || initDataSpec == null) {
    // According to spec, for packed audio, initDataSpec is expected to be null.
    return;
  }
  DataSpec initSegmentDataSpec = Util.getRemainderDataSpec(initDataSpec, initSegmentBytesLoaded);
  try {
    ExtractorInput input = new DefaultExtractorInput(initDataSource,
        initSegmentDataSpec.absoluteStreamPosition, initDataSource.open(initSegmentDataSpec));
    try {
      int result = Extractor.RESULT_CONTINUE;
      while (result == Extractor.RESULT_CONTINUE && !loadCanceled) {
        result = extractor.read(input, null);
      }
    } finally {
      initSegmentBytesLoaded = (int) (input.getPosition() - initDataSpec.absoluteStreamPosition);
    }
  } finally {
    Util.closeQuietly(dataSource);
  }
  initLoadCompleted = true;
}
 
开发者ID:sanjaysingh1990,项目名称:Exoplayer2Radio,代码行数:23,代码来源:HlsMediaChunk.java


示例3: read

import com.google.android.exoplayer2.extractor.Extractor; //导入依赖的package包/类
@Override
public int read(ExtractorInput input, PositionHolder seekPosition)
    throws IOException, InterruptedException {
  int currentFileSize = (int) input.getLength();

  // Increase the size of sampleData if necessary.
  if (sampleSize == sampleData.length) {
    sampleData = Arrays.copyOf(sampleData,
        (currentFileSize != C.LENGTH_UNSET ? currentFileSize : sampleData.length) * 3 / 2);
  }

  // Consume to the input.
  int bytesRead = input.read(sampleData, sampleSize, sampleData.length - sampleSize);
  if (bytesRead != C.RESULT_END_OF_INPUT) {
    sampleSize += bytesRead;
    if (currentFileSize == C.LENGTH_UNSET || sampleSize != currentFileSize) {
      return Extractor.RESULT_CONTINUE;
    }
  }

  // We've reached the end of the input, which corresponds to the end of the current file.
  processSample();
  return Extractor.RESULT_END_OF_INPUT;
}
 
开发者ID:sanjaysingh1990,项目名称:Exoplayer2Radio,代码行数:25,代码来源:WebvttExtractor.java


示例4: read

import com.google.android.exoplayer2.extractor.Extractor; //导入依赖的package包/类
/**
 * @see Extractor#read(ExtractorInput, PositionHolder)
 */
final int read(ExtractorInput input, PositionHolder seekPosition)
    throws IOException, InterruptedException {
  switch (state) {
    case STATE_READ_HEADERS:
      return readHeaders(input);
    case STATE_SKIP_HEADERS:
      input.skipFully((int) payloadStartPosition);
      state = STATE_READ_PAYLOAD;
      return Extractor.RESULT_CONTINUE;
    case STATE_READ_PAYLOAD:
      return readPayload(input, seekPosition);
    default:
      // Never happens.
      throw new IllegalStateException();
  }
}
 
开发者ID:sanjaysingh1990,项目名称:Exoplayer2Radio,代码行数:20,代码来源:StreamReader.java


示例5: read

import com.google.android.exoplayer2.extractor.Extractor; //导入依赖的package包/类
@Override
public int read(ExtractorInput input, PositionHolder seekPosition)
    throws IOException, InterruptedException {
  while (true) {
    switch (parserState) {
      case STATE_READING_ATOM_HEADER:
        if (!readAtomHeader(input)) {
          return Extractor.RESULT_END_OF_INPUT;
        }
        break;
      case STATE_READING_ATOM_PAYLOAD:
        readAtomPayload(input);
        break;
      case STATE_READING_ENCRYPTION_DATA:
        readEncryptionData(input);
        break;
      default:
        if (readSample(input)) {
          return RESULT_CONTINUE;
        }
    }
  }
}
 
开发者ID:sanjaysingh1990,项目名称:Exoplayer2Radio,代码行数:24,代码来源:FragmentedMp4Extractor.java


示例6: load

import com.google.android.exoplayer2.extractor.Extractor; //导入依赖的package包/类
@SuppressWarnings("NonAtomicVolatileUpdate")
@Override
public void load() throws IOException, InterruptedException {
  DataSpec loadDataSpec = Util.getRemainderDataSpec(dataSpec, bytesLoaded);
  try {
    // Create and open the input.
    ExtractorInput input = new DefaultExtractorInput(dataSource,
        loadDataSpec.absoluteStreamPosition, dataSource.open(loadDataSpec));
    if (bytesLoaded == 0) {
      extractorWrapper.init(null);
    }
    // Load and decode the initialization data.
    try {
      Extractor extractor = extractorWrapper.extractor;
      int result = Extractor.RESULT_CONTINUE;
      while (result == Extractor.RESULT_CONTINUE && !loadCanceled) {
        result = extractor.read(input, null);
      }
      Assertions.checkState(result != Extractor.RESULT_SEEK);
    } finally {
      bytesLoaded = (int) (input.getPosition() - dataSpec.absoluteStreamPosition);
    }
  } finally {
    Util.closeQuietly(dataSource);
  }
}
 
开发者ID:sanjaysingh1990,项目名称:Exoplayer2Radio,代码行数:27,代码来源:InitializationChunk.java


示例7: read

import com.google.android.exoplayer2.extractor.Extractor; //导入依赖的package包/类
/**
 * @see Extractor#read(ExtractorInput, PositionHolder)
 */
final int read(ExtractorInput input, PositionHolder seekPosition)
    throws IOException, InterruptedException {
  switch (state) {
    case STATE_READ_HEADERS:
      return readHeaders(input);

    case STATE_SKIP_HEADERS:
      input.skipFully((int) payloadStartPosition);
      state = STATE_READ_PAYLOAD;
      return Extractor.RESULT_CONTINUE;

    case STATE_READ_PAYLOAD:
      return readPayload(input, seekPosition);

    default:
      // Never happens.
      throw new IllegalStateException();
  }
}
 
开发者ID:jcodeing,项目名称:K-Sonic,代码行数:23,代码来源:StreamReader.java


示例8: load

import com.google.android.exoplayer2.extractor.Extractor; //导入依赖的package包/类
@Override
public void load() throws IOException, InterruptedException {
  DataSpec loadDataSpec = Util.getRemainderDataSpec(dataSpec, bytesLoaded);
  try {
    ExtractorInput input = new DefaultExtractorInput(dataSource,
        loadDataSpec.absoluteStreamPosition, dataSource.open(loadDataSpec));
    try {
      int result = Extractor.RESULT_CONTINUE;
      while (result == Extractor.RESULT_CONTINUE && !loadCanceled) {
        result = extractor.read(input, null);
      }
    } finally {
      bytesLoaded = (int) (input.getPosition() - dataSpec.absoluteStreamPosition);
    }
  } finally {
    dataSource.close();
  }
}
 
开发者ID:zhanglibin123488,项目名称:videoPickPlayer,代码行数:19,代码来源:HlsInitializationChunk.java


示例9: load

import com.google.android.exoplayer2.extractor.Extractor; //导入依赖的package包/类
@SuppressWarnings("NonAtomicVolatileUpdate")
@Override
public void load() throws IOException, InterruptedException {
  DataSpec loadDataSpec = Util.getRemainderDataSpec(dataSpec, bytesLoaded);
  try {
    // Create and open the input.
    ExtractorInput input = new DefaultExtractorInput(dataSource,
        loadDataSpec.absoluteStreamPosition, dataSource.open(loadDataSpec));
    if (bytesLoaded == 0) {
      // Set the target to ourselves.
      extractorWrapper.init(this, this);
    }
    // Load and decode the initialization data.
    try {
      int result = Extractor.RESULT_CONTINUE;
      while (result == Extractor.RESULT_CONTINUE && !loadCanceled) {
        result = extractorWrapper.read(input);
      }
    } finally {
      bytesLoaded = (int) (input.getPosition() - dataSpec.absoluteStreamPosition);
    }
  } finally {
    dataSource.close();
  }
}
 
开发者ID:zhanglibin123488,项目名称:videoPickPlayer,代码行数:26,代码来源:InitializationChunk.java


示例10: testIncompleteSample

import com.google.android.exoplayer2.extractor.Extractor; //导入依赖的package包/类
public void testIncompleteSample() throws Exception {
  Random random = new Random(0);
  byte[] fileData = TestUtil.getByteArray(getInstrumentation(), "ts/sample.ts");
  ByteArrayOutputStream out = new ByteArrayOutputStream(fileData.length * 2);
  writeJunkData(out, random.nextInt(TS_PACKET_SIZE - 1) + 1);
  out.write(fileData, 0, TS_PACKET_SIZE * 5);
  for (int i = TS_PACKET_SIZE * 5; i < fileData.length; i += TS_PACKET_SIZE) {
    writeJunkData(out, random.nextInt(TS_PACKET_SIZE));
    out.write(fileData, i, TS_PACKET_SIZE);
  }
  out.write(TS_SYNC_BYTE);
  writeJunkData(out, random.nextInt(TS_PACKET_SIZE - 1) + 1);
  fileData = out.toByteArray();

  TestUtil.assertOutput(new TestUtil.ExtractorFactory() {
    @Override
    public Extractor create() {
      return new TsExtractor();
    }
  }, "ts/sample.ts", fileData, getInstrumentation());
}
 
开发者ID:zhanglibin123488,项目名称:videoPickPlayer,代码行数:22,代码来源:TsExtractorTest.java


示例11: testCustomPesReader

import com.google.android.exoplayer2.extractor.Extractor; //导入依赖的package包/类
public void testCustomPesReader() throws Exception {
  CustomEsReaderFactory factory = new CustomEsReaderFactory();
  TsExtractor tsExtractor = new TsExtractor(new TimestampAdjuster(0), factory, false);
  FakeExtractorInput input = new FakeExtractorInput.Builder()
      .setData(TestUtil.getByteArray(getInstrumentation(), "ts/sample.ts"))
      .setSimulateIOErrors(false)
      .setSimulateUnknownLength(false)
      .setSimulatePartialReads(false).build();
  FakeExtractorOutput output = new FakeExtractorOutput();
  tsExtractor.init(output);
  tsExtractor.seek(input.getPosition());
  PositionHolder seekPositionHolder = new PositionHolder();
  int readResult = Extractor.RESULT_CONTINUE;
  while (readResult != Extractor.RESULT_END_OF_INPUT) {
    readResult = tsExtractor.read(input, seekPositionHolder);
  }
  CustomEsReader reader = factory.reader;
  assertEquals(2, reader.packetsRead);
  TrackOutput trackOutput = reader.getTrackOutput();
  assertTrue(trackOutput == output.trackOutputs.get(257 /* PID of audio track. */));
  assertEquals(
      Format.createTextSampleFormat("Overriding format", "mime", null, 0, 0, "und", null, 0),
      ((FakeTrackOutput) trackOutput).format);
}
 
开发者ID:zhanglibin123488,项目名称:videoPickPlayer,代码行数:25,代码来源:TsExtractorTest.java


示例12: maybeLoadInitData

import com.google.android.exoplayer2.extractor.Extractor; //导入依赖的package包/类
private void maybeLoadInitData() throws IOException, InterruptedException {
  if (initLoadCompleted || initDataSpec == null) {
    // Note: The HLS spec forbids initialization segments for packed audio.
    return;
  }
  DataSpec initSegmentDataSpec = initDataSpec.subrange(initSegmentBytesLoaded);
  try {
    ExtractorInput input = new DefaultExtractorInput(initDataSource,
        initSegmentDataSpec.absoluteStreamPosition, initDataSource.open(initSegmentDataSpec));
    try {
      int result = Extractor.RESULT_CONTINUE;
      while (result == Extractor.RESULT_CONTINUE && !loadCanceled) {
        result = extractor.read(input, null);
      }
    } finally {
      initSegmentBytesLoaded = (int) (input.getPosition() - initDataSpec.absoluteStreamPosition);
    }
  } finally {
    Util.closeQuietly(dataSource);
  }
  initLoadCompleted = true;
}
 
开发者ID:y20k,项目名称:transistor,代码行数:23,代码来源:HlsMediaChunk.java


示例13: load

import com.google.android.exoplayer2.extractor.Extractor; //导入依赖的package包/类
@SuppressWarnings("NonAtomicVolatileUpdate")
@Override
public void load() throws IOException, InterruptedException {
  DataSpec loadDataSpec = dataSpec.subrange(bytesLoaded);
  try {
    // Create and open the input.
    ExtractorInput input = new DefaultExtractorInput(dataSource,
        loadDataSpec.absoluteStreamPosition, dataSource.open(loadDataSpec));
    if (bytesLoaded == 0) {
      extractorWrapper.init(null);
    }
    // Load and decode the initialization data.
    try {
      Extractor extractor = extractorWrapper.extractor;
      int result = Extractor.RESULT_CONTINUE;
      while (result == Extractor.RESULT_CONTINUE && !loadCanceled) {
        result = extractor.read(input, null);
      }
      Assertions.checkState(result != Extractor.RESULT_SEEK);
    } finally {
      bytesLoaded = (int) (input.getPosition() - dataSpec.absoluteStreamPosition);
    }
  } finally {
    Util.closeQuietly(dataSource);
  }
}
 
开发者ID:y20k,项目名称:transistor,代码行数:27,代码来源:InitializationChunk.java


示例14: testIncompleteSample

import com.google.android.exoplayer2.extractor.Extractor; //导入依赖的package包/类
public void testIncompleteSample() throws Exception {
  Random random = new Random(0);
  byte[] fileData = TestUtil.getByteArray(getInstrumentation(), "ts/sample.ts");
  ByteArrayOutputStream out = new ByteArrayOutputStream(fileData.length * 2);
  writeJunkData(out, random.nextInt(TS_PACKET_SIZE - 1) + 1);
  out.write(fileData, 0, TS_PACKET_SIZE * 5);
  for (int i = TS_PACKET_SIZE * 5; i < fileData.length; i += TS_PACKET_SIZE) {
    writeJunkData(out, random.nextInt(TS_PACKET_SIZE));
    out.write(fileData, i, TS_PACKET_SIZE);
  }
  out.write(TS_SYNC_BYTE);
  writeJunkData(out, random.nextInt(TS_PACKET_SIZE - 1) + 1);
  fileData = out.toByteArray();

  ExtractorAsserts.assertOutput(new ExtractorFactory() {
    @Override
    public Extractor create() {
      return new TsExtractor();
    }
  }, "ts/sample.ts", fileData, getInstrumentation());
}
 
开发者ID:y20k,项目名称:transistor,代码行数:22,代码来源:TsExtractorTest.java


示例15: testCustomPesReader

import com.google.android.exoplayer2.extractor.Extractor; //导入依赖的package包/类
public void testCustomPesReader() throws Exception {
  CustomTsPayloadReaderFactory factory = new CustomTsPayloadReaderFactory(true, false);
  TsExtractor tsExtractor = new TsExtractor(TsExtractor.MODE_MULTI_PMT, new TimestampAdjuster(0),
      factory);
  FakeExtractorInput input = new FakeExtractorInput.Builder()
      .setData(TestUtil.getByteArray(getInstrumentation(), "ts/sample.ts"))
      .setSimulateIOErrors(false)
      .setSimulateUnknownLength(false)
      .setSimulatePartialReads(false).build();
  FakeExtractorOutput output = new FakeExtractorOutput();
  tsExtractor.init(output);
  PositionHolder seekPositionHolder = new PositionHolder();
  int readResult = Extractor.RESULT_CONTINUE;
  while (readResult != Extractor.RESULT_END_OF_INPUT) {
    readResult = tsExtractor.read(input, seekPositionHolder);
  }
  CustomEsReader reader = factory.esReader;
  assertEquals(2, reader.packetsRead);
  TrackOutput trackOutput = reader.getTrackOutput();
  assertTrue(trackOutput == output.trackOutputs.get(257 /* PID of audio track. */));
  assertEquals(
      Format.createTextSampleFormat("1/257", "mime", null, 0, 0, "und", null, 0),
      ((FakeTrackOutput) trackOutput).format);
}
 
开发者ID:y20k,项目名称:transistor,代码行数:25,代码来源:TsExtractorTest.java


示例16: testCustomInitialSectionReader

import com.google.android.exoplayer2.extractor.Extractor; //导入依赖的package包/类
public void testCustomInitialSectionReader() throws Exception {
  CustomTsPayloadReaderFactory factory = new CustomTsPayloadReaderFactory(false, true);
  TsExtractor tsExtractor = new TsExtractor(TsExtractor.MODE_MULTI_PMT, new TimestampAdjuster(0),
      factory);
  FakeExtractorInput input = new FakeExtractorInput.Builder()
      .setData(TestUtil.getByteArray(getInstrumentation(), "ts/sample_with_sdt.ts"))
      .setSimulateIOErrors(false)
      .setSimulateUnknownLength(false)
      .setSimulatePartialReads(false).build();
  tsExtractor.init(new FakeExtractorOutput());
  PositionHolder seekPositionHolder = new PositionHolder();
  int readResult = Extractor.RESULT_CONTINUE;
  while (readResult != Extractor.RESULT_END_OF_INPUT) {
    readResult = tsExtractor.read(input, seekPositionHolder);
  }
  assertEquals(1, factory.sdtReader.consumedSdts);
}
 
开发者ID:y20k,项目名称:transistor,代码行数:18,代码来源:TsExtractorTest.java


示例17: sniffTestData

import com.google.android.exoplayer2.extractor.Extractor; //导入依赖的package包/类
public static boolean sniffTestData(Extractor extractor, FakeExtractorInput input)
    throws IOException, InterruptedException {
  while (true) {
    try {
      return extractor.sniff(input);
    } catch (SimulatedIOException e) {
      // Ignore.
    }
  }
}
 
开发者ID:ashwanijanghu,项目名称:ExoPlayer-Offline,代码行数:11,代码来源:TestUtil.java


示例18: consumeTestData

import com.google.android.exoplayer2.extractor.Extractor; //导入依赖的package包/类
public static FakeExtractorOutput consumeTestData(Extractor extractor, FakeExtractorInput input,
    long timeUs, boolean retryFromStartIfLive) throws IOException, InterruptedException {
  FakeExtractorOutput output = new FakeExtractorOutput();
  extractor.init(output);
  consumeTestData(extractor, input, timeUs, output, retryFromStartIfLive);
  return output;
}
 
开发者ID:ashwanijanghu,项目名称:ExoPlayer-Offline,代码行数:8,代码来源:TestUtil.java


示例19: assertOutput

import com.google.android.exoplayer2.extractor.Extractor; //导入依赖的package包/类
/**
 * Asserts that {@code extractor} consumes {@code sampleFile} successfully and its output equals
 * to a prerecorded output dump file with the name {@code sampleFile} + "{@value
 * #DUMP_EXTENSION}". If {@code simulateUnknownLength} is true and {@code sampleFile} + "{@value
 * #UNKNOWN_LENGTH_EXTENSION}" exists, it's preferred.
 *
 * @param extractor The {@link Extractor} to be tested.
 * @param sampleFile The path to the input sample.
 * @param fileData Content of the input file.
 * @param instrumentation To be used to load the sample file.
 * @param simulateIOErrors If true simulates IOErrors.
 * @param simulateUnknownLength If true simulates unknown input length.
 * @param simulatePartialReads If true simulates partial reads.
 * @return The {@link FakeExtractorOutput} used in the test.
 * @throws IOException If reading from the input fails.
 * @throws InterruptedException If interrupted while reading from the input.
 */
public static FakeExtractorOutput assertOutput(Extractor extractor, String sampleFile,
    byte[] fileData, Instrumentation instrumentation, boolean simulateIOErrors,
    boolean simulateUnknownLength, boolean simulatePartialReads) throws IOException,
    InterruptedException {
  FakeExtractorInput input = new FakeExtractorInput.Builder().setData(fileData)
      .setSimulateIOErrors(simulateIOErrors)
      .setSimulateUnknownLength(simulateUnknownLength)
      .setSimulatePartialReads(simulatePartialReads).build();

  Assert.assertTrue(sniffTestData(extractor, input));
  input.resetPeekPosition();
  FakeExtractorOutput extractorOutput = consumeTestData(extractor, input, 0, true);

  if (simulateUnknownLength
      && assetExists(instrumentation, sampleFile + UNKNOWN_LENGTH_EXTENSION)) {
    extractorOutput.assertOutput(instrumentation, sampleFile + UNKNOWN_LENGTH_EXTENSION);
  } else {
    extractorOutput.assertOutput(instrumentation, sampleFile + ".0" + DUMP_EXTENSION);
  }

  SeekMap seekMap = extractorOutput.seekMap;
  if (seekMap.isSeekable()) {
    long durationUs = seekMap.getDurationUs();
    for (int j = 0; j < 4; j++) {
      long timeUs = (durationUs * j) / 3;
      long position = seekMap.getPosition(timeUs);
      input.setPosition((int) position);
      for (int i = 0; i < extractorOutput.numberOfTracks; i++) {
        extractorOutput.trackOutputs.valueAt(i).clear();
      }

      consumeTestData(extractor, input, timeUs, extractorOutput, false);
      extractorOutput.assertOutput(instrumentation, sampleFile + '.' + j + DUMP_EXTENSION);
    }
  }

  return extractorOutput;
}
 
开发者ID:ashwanijanghu,项目名称:ExoPlayer-Offline,代码行数:56,代码来源:TestUtil.java


示例20: readHeaders

import com.google.android.exoplayer2.extractor.Extractor; //导入依赖的package包/类
private int readHeaders(ExtractorInput input) throws IOException, InterruptedException {
  boolean readingHeaders = true;
  while (readingHeaders) {
    if (!oggPacket.populate(input)) {
      state = STATE_END_OF_INPUT;
      return Extractor.RESULT_END_OF_INPUT;
    }
    lengthOfReadPacket = input.getPosition() - payloadStartPosition;

    readingHeaders = readHeaders(oggPacket.getPayload(), payloadStartPosition, setupData);
    if (readingHeaders) {
      payloadStartPosition = input.getPosition();
    }
  }

  sampleRate = setupData.format.sampleRate;
  if (!formatSet) {
    trackOutput.format(setupData.format);
    formatSet = true;
  }

  if (setupData.oggSeeker != null) {
    oggSeeker = setupData.oggSeeker;
  } else if (input.getLength() == C.LENGTH_UNSET) {
    oggSeeker = new UnseekableOggSeeker();
  } else {
    OggPageHeader firstPayloadPageHeader = oggPacket.getPageHeader();
    oggSeeker = new DefaultOggSeeker(payloadStartPosition, input.getLength(), this,
        firstPayloadPageHeader.headerSize + firstPayloadPageHeader.bodySize,
        firstPayloadPageHeader.granulePosition);
  }

  setupData = null;
  state = STATE_READ_PAYLOAD;
  // First payload packet. Trim the payload array of the ogg packet after headers have been read.
  oggPacket.trimPayload();
  return Extractor.RESULT_CONTINUE;
}
 
开发者ID:sanjaysingh1990,项目名称:Exoplayer2Radio,代码行数:39,代码来源:StreamReader.java



注:本文中的com.google.android.exoplayer2.extractor.Extractor类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java StanfordNamedEntityRecognizer类代码示例发布时间:2022-05-22
下一篇:
Java BmobUpdateListener类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap