Java Code Examples for com.google.android.exoplayer2.source.SampleQueue#advanceTo()
The following examples show how to use
com.google.android.exoplayer2.source.SampleQueue#advanceTo() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: HlsSampleStreamWrapper.java From MediaSDK with Apache License 2.0 | 6 votes |
/** * Attempts to seek to the specified position within the sample queues. * * @param positionUs The seek position in microseconds. * @return Whether the in-buffer seek was successful. */ private boolean seekInsideBufferUs(long positionUs) { int sampleQueueCount = sampleQueues.length; for (int i = 0; i < sampleQueueCount; i++) { SampleQueue sampleQueue = sampleQueues[i]; sampleQueue.rewind(); boolean seekInsideQueue = sampleQueue.advanceTo(positionUs, true, false) != SampleQueue.ADVANCE_FAILED; // If we have AV tracks then an in-queue seek is successful if the seek into every AV queue // is successful. We ignore whether seeks within non-AV queues are successful in this case, as // they may be sparse or poorly interleaved. If we only have non-AV tracks then a seek is // successful only if the seek into every queue succeeds. if (!seekInsideQueue && (sampleQueueIsAudioVideoFlags[i] || !haveAudioVideoSampleQueues)) { return false; } } return true; }
Example 2
Source File: HlsSampleStreamWrapper.java From TelePlus-Android with GNU General Public License v2.0 | 6 votes |
/** * Attempts to seek to the specified position within the sample queues. * * @param positionUs The seek position in microseconds. * @return Whether the in-buffer seek was successful. */ private boolean seekInsideBufferUs(long positionUs) { int sampleQueueCount = sampleQueues.length; for (int i = 0; i < sampleQueueCount; i++) { SampleQueue sampleQueue = sampleQueues[i]; sampleQueue.rewind(); boolean seekInsideQueue = sampleQueue.advanceTo(positionUs, true, false) != SampleQueue.ADVANCE_FAILED; // If we have AV tracks then an in-queue seek is successful if the seek into every AV queue // is successful. We ignore whether seeks within non-AV queues are successful in this case, as // they may be sparse or poorly interleaved. If we only have non-AV tracks then a seek is // successful only if the seek into every queue succeeds. if (!seekInsideQueue && (sampleQueueIsAudioVideoFlags[i] || !haveAudioVideoSampleQueues)) { return false; } } return true; }
Example 3
Source File: HlsSampleStreamWrapper.java From TelePlus-Android with GNU General Public License v2.0 | 6 votes |
/** * Attempts to seek to the specified position within the sample queues. * * @param positionUs The seek position in microseconds. * @return Whether the in-buffer seek was successful. */ private boolean seekInsideBufferUs(long positionUs) { int sampleQueueCount = sampleQueues.length; for (int i = 0; i < sampleQueueCount; i++) { SampleQueue sampleQueue = sampleQueues[i]; sampleQueue.rewind(); boolean seekInsideQueue = sampleQueue.advanceTo(positionUs, true, false) != SampleQueue.ADVANCE_FAILED; // If we have AV tracks then an in-queue seek is successful if the seek into every AV queue // is successful. We ignore whether seeks within non-AV queues are successful in this case, as // they may be sparse or poorly interleaved. If we only have non-AV tracks then a seek is // successful only if the seek into every queue succeeds. if (!seekInsideQueue && (sampleQueueIsAudioVideoFlags[i] || !haveAudioVideoSampleQueues)) { return false; } } return true; }
Example 4
Source File: HlsSampleStreamWrapper.java From Telegram-FOSS with GNU General Public License v2.0 | 6 votes |
/** * Attempts to seek to the specified position within the sample queues. * * @param positionUs The seek position in microseconds. * @return Whether the in-buffer seek was successful. */ private boolean seekInsideBufferUs(long positionUs) { int sampleQueueCount = sampleQueues.length; for (int i = 0; i < sampleQueueCount; i++) { SampleQueue sampleQueue = sampleQueues[i]; sampleQueue.rewind(); boolean seekInsideQueue = sampleQueue.advanceTo(positionUs, true, false) != SampleQueue.ADVANCE_FAILED; // If we have AV tracks then an in-queue seek is successful if the seek into every AV queue // is successful. We ignore whether seeks within non-AV queues are successful in this case, as // they may be sparse or poorly interleaved. If we only have non-AV tracks then a seek is // successful only if the seek into every queue succeeds. if (!seekInsideQueue && (sampleQueueIsAudioVideoFlags[i] || !haveAudioVideoSampleQueues)) { return false; } } return true; }
Example 5
Source File: HlsSampleStreamWrapper.java From Telegram with GNU General Public License v2.0 | 6 votes |
/** * Attempts to seek to the specified position within the sample queues. * * @param positionUs The seek position in microseconds. * @return Whether the in-buffer seek was successful. */ private boolean seekInsideBufferUs(long positionUs) { int sampleQueueCount = sampleQueues.length; for (int i = 0; i < sampleQueueCount; i++) { SampleQueue sampleQueue = sampleQueues[i]; sampleQueue.rewind(); boolean seekInsideQueue = sampleQueue.advanceTo(positionUs, true, false) != SampleQueue.ADVANCE_FAILED; // If we have AV tracks then an in-queue seek is successful if the seek into every AV queue // is successful. We ignore whether seeks within non-AV queues are successful in this case, as // they may be sparse or poorly interleaved. If we only have non-AV tracks then a seek is // successful only if the seek into every queue succeeds. if (!seekInsideQueue && (sampleQueueIsAudioVideoFlags[i] || !haveAudioVideoSampleQueues)) { return false; } } return true; }
Example 6
Source File: HlsSampleStreamWrapper.java From MediaSDK with Apache License 2.0 | 5 votes |
public int skipData(int sampleQueueIndex, long positionUs) { if (isPendingReset()) { return 0; } SampleQueue sampleQueue = sampleQueues[sampleQueueIndex]; if (loadingFinished && positionUs > sampleQueue.getLargestQueuedTimestampUs()) { return sampleQueue.advanceToEnd(); } else { int skipCount = sampleQueue.advanceTo(positionUs, true, true); return skipCount == SampleQueue.ADVANCE_FAILED ? 0 : skipCount; } }
Example 7
Source File: HlsSampleStreamWrapper.java From TelePlus-Android with GNU General Public License v2.0 | 5 votes |
public int skipData(int sampleQueueIndex, long positionUs) { if (isPendingReset()) { return 0; } SampleQueue sampleQueue = sampleQueues[sampleQueueIndex]; if (loadingFinished && positionUs > sampleQueue.getLargestQueuedTimestampUs()) { return sampleQueue.advanceToEnd(); } else { int skipCount = sampleQueue.advanceTo(positionUs, true, true); return skipCount == SampleQueue.ADVANCE_FAILED ? 0 : skipCount; } }
Example 8
Source File: HlsSampleStreamWrapper.java From TelePlus-Android with GNU General Public License v2.0 | 5 votes |
public int skipData(int sampleQueueIndex, long positionUs) { if (isPendingReset()) { return 0; } SampleQueue sampleQueue = sampleQueues[sampleQueueIndex]; if (loadingFinished && positionUs > sampleQueue.getLargestQueuedTimestampUs()) { return sampleQueue.advanceToEnd(); } else { int skipCount = sampleQueue.advanceTo(positionUs, true, true); return skipCount == SampleQueue.ADVANCE_FAILED ? 0 : skipCount; } }
Example 9
Source File: HlsSampleStreamWrapper.java From Telegram-FOSS with GNU General Public License v2.0 | 5 votes |
public int skipData(int sampleQueueIndex, long positionUs) { if (isPendingReset()) { return 0; } SampleQueue sampleQueue = sampleQueues[sampleQueueIndex]; if (loadingFinished && positionUs > sampleQueue.getLargestQueuedTimestampUs()) { return sampleQueue.advanceToEnd(); } else { int skipCount = sampleQueue.advanceTo(positionUs, true, true); return skipCount == SampleQueue.ADVANCE_FAILED ? 0 : skipCount; } }
Example 10
Source File: HlsSampleStreamWrapper.java From Telegram with GNU General Public License v2.0 | 5 votes |
public int skipData(int sampleQueueIndex, long positionUs) { if (isPendingReset()) { return 0; } SampleQueue sampleQueue = sampleQueues[sampleQueueIndex]; if (loadingFinished && positionUs > sampleQueue.getLargestQueuedTimestampUs()) { return sampleQueue.advanceToEnd(); } else { int skipCount = sampleQueue.advanceTo(positionUs, true, true); return skipCount == SampleQueue.ADVANCE_FAILED ? 0 : skipCount; } }