Print underlying extractor name in UnrecognizedInputFormatException
If subtitle-parsing-during-extraction is enabled (now defaults to on), the 'outer' extractor class name is often `SubtitleTranscodingExtractor`, leading to some slightly useless error messages like: `None of the available extractors (FragmentedMp4Extractor, Mp4Extractor, SubtitleTranscodingExtractor, SubtitleTranscodingExtractor, SubtitleTranscodingExtractor, SubtitleTranscodingExtractor, SubtitleTranscodingExtractor, SubtitleTranscodingExtractor, TsExtractor, MatroskaExtractor, SubtitleTranscodingExtractor, SubtitleTranscodingExtractor, SubtitleTranscodingExtractor, SubtitleTranscodingExtractor, AviExtractor, SubtitleTranscodingExtractor, SubtitleTranscodingExtractor, SubtitleTranscodingExtractor, SubtitleTranscodingExtractor, SubtitleTranscodingExtractor, SubtitleTranscodingExtractor)` PiperOrigin-RevId: 636834354
This commit is contained in:
parent
0a58832d85
commit
4fb2255eb9
@ -21,7 +21,6 @@ import androidx.media3.common.C;
|
|||||||
import androidx.media3.common.DataReader;
|
import androidx.media3.common.DataReader;
|
||||||
import androidx.media3.common.util.Assertions;
|
import androidx.media3.common.util.Assertions;
|
||||||
import androidx.media3.common.util.UnstableApi;
|
import androidx.media3.common.util.UnstableApi;
|
||||||
import androidx.media3.common.util.Util;
|
|
||||||
import androidx.media3.extractor.DefaultExtractorInput;
|
import androidx.media3.extractor.DefaultExtractorInput;
|
||||||
import androidx.media3.extractor.Extractor;
|
import androidx.media3.extractor.Extractor;
|
||||||
import androidx.media3.extractor.ExtractorInput;
|
import androidx.media3.extractor.ExtractorInput;
|
||||||
@ -30,7 +29,9 @@ import androidx.media3.extractor.ExtractorsFactory;
|
|||||||
import androidx.media3.extractor.PositionHolder;
|
import androidx.media3.extractor.PositionHolder;
|
||||||
import androidx.media3.extractor.SniffFailure;
|
import androidx.media3.extractor.SniffFailure;
|
||||||
import androidx.media3.extractor.mp3.Mp3Extractor;
|
import androidx.media3.extractor.mp3.Mp3Extractor;
|
||||||
|
import com.google.common.base.Joiner;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
|
import com.google.common.collect.Lists;
|
||||||
import java.io.EOFException;
|
import java.io.EOFException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -96,7 +97,12 @@ public final class BundledExtractorsAdapter implements ProgressiveMediaExtractor
|
|||||||
if (extractor == null) {
|
if (extractor == null) {
|
||||||
throw new UnrecognizedInputFormatException(
|
throw new UnrecognizedInputFormatException(
|
||||||
"None of the available extractors ("
|
"None of the available extractors ("
|
||||||
+ Util.getCommaDelimitedSimpleClassNames(extractors)
|
+ Joiner.on(", ")
|
||||||
|
.join(
|
||||||
|
Lists.transform(
|
||||||
|
ImmutableList.copyOf(extractors),
|
||||||
|
extractor ->
|
||||||
|
extractor.getUnderlyingImplementation().getClass().getSimpleName()))
|
||||||
+ ") could read the stream.",
|
+ ") could read the stream.",
|
||||||
Assertions.checkNotNull(uri),
|
Assertions.checkNotNull(uri),
|
||||||
sniffFailures.build());
|
sniffFailures.build());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user