Bypass sniffing for single extractor
Sniffing is performed in ProgressiveMediaPeriod even if a single extractor is provided. Skip it in that case to improve performances. Issue:#6325 PiperOrigin-RevId: 266766373
This commit is contained in:
parent
aff9e731b2
commit
82d10e2ea8
@ -2,6 +2,8 @@
|
||||
|
||||
### dev-v2 (not yet released) ###
|
||||
|
||||
* Bypass sniffing in `ProgressiveMediaPeriod` in case a single extractor is
|
||||
provided ([#6325](https://github.com/google/ExoPlayer/issues/6325)).
|
||||
* Surface information provided by methods `isHardwareAccelerated`,
|
||||
`isSoftwareOnly` and `isVendor` added in Android Q in `MediaCodecInfo` class
|
||||
([#5839](https://github.com/google/ExoPlayer/issues/5839)).
|
||||
|
@ -1068,21 +1068,28 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
|
||||
if (extractor != null) {
|
||||
return extractor;
|
||||
}
|
||||
for (Extractor extractor : extractors) {
|
||||
try {
|
||||
if (extractor.sniff(input)) {
|
||||
this.extractor = extractor;
|
||||
break;
|
||||
if (extractors.length == 1) {
|
||||
this.extractor = extractors[0];
|
||||
} else {
|
||||
for (Extractor extractor : extractors) {
|
||||
try {
|
||||
if (extractor.sniff(input)) {
|
||||
this.extractor = extractor;
|
||||
break;
|
||||
}
|
||||
} catch (EOFException e) {
|
||||
// Do nothing.
|
||||
} finally {
|
||||
input.resetPeekPosition();
|
||||
}
|
||||
} catch (EOFException e) {
|
||||
// Do nothing.
|
||||
} finally {
|
||||
input.resetPeekPosition();
|
||||
}
|
||||
}
|
||||
if (extractor == null) {
|
||||
throw new UnrecognizedInputFormatException("None of the available extractors ("
|
||||
+ Util.getCommaDelimitedSimpleClassNames(extractors) + ") could read the stream.", uri);
|
||||
if (extractor == null) {
|
||||
throw new UnrecognizedInputFormatException(
|
||||
"None of the available extractors ("
|
||||
+ Util.getCommaDelimitedSimpleClassNames(extractors)
|
||||
+ ") could read the stream.",
|
||||
uri);
|
||||
}
|
||||
}
|
||||
extractor.init(output);
|
||||
return extractor;
|
||||
|
Loading…
x
Reference in New Issue
Block a user