Remove non-progressive limitation from DefaultMediaSourceFactory.experimentalParseSubtitlesDuringExtraction
This involves promoting `setTextTranscodingEnabled` to `ExtractorsFactory`, and also making it experimental, to indicate it's a short-lived method. PiperOrigin-RevId: 597235252
This commit is contained in:
parent
d6ef48fff8
commit
3f9e0540b7
@ -190,12 +190,6 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory {
|
||||
liveMaxSpeed = C.RATE_UNSET;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The current limitation is that this method will have no effect when progressive media with
|
||||
* muxed subtitles is {@linkplain #createMediaSource created}.
|
||||
*/
|
||||
@CanIgnoreReturnValue
|
||||
@UnstableApi
|
||||
@Override
|
||||
@ -664,6 +658,7 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory {
|
||||
|
||||
public void setParseSubtitlesDuringExtraction(boolean parseSubtitlesDuringExtraction) {
|
||||
this.parseSubtitlesDuringExtraction = parseSubtitlesDuringExtraction;
|
||||
extractorsFactory.experimentalSetTextTrackTranscodingEnabled(parseSubtitlesDuringExtraction);
|
||||
for (MediaSource.Factory mediaSourceFactory : mediaSourceFactories.values()) {
|
||||
mediaSourceFactory.experimentalParseSubtitlesDuringExtraction(
|
||||
parseSubtitlesDuringExtraction);
|
||||
|
@ -25,7 +25,6 @@ import androidx.annotation.GuardedBy;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.media3.common.FileTypes;
|
||||
import androidx.media3.common.Format;
|
||||
import androidx.media3.common.MimeTypes;
|
||||
import androidx.media3.common.PlaybackException;
|
||||
import androidx.media3.common.Player;
|
||||
import androidx.media3.common.util.TimestampAdjuster;
|
||||
@ -359,18 +358,18 @@ public final class DefaultExtractorsFactory implements ExtractorsFactory {
|
||||
}
|
||||
|
||||
/**
|
||||
* Enables transcoding of text track samples to {@link MimeTypes#APPLICATION_MEDIA3_CUES} before
|
||||
* the data is emitted to {@link TrackOutput}.
|
||||
*
|
||||
* <p>Transcoding is disabled by default.
|
||||
*
|
||||
* @param textTrackTranscodingEnabled Whether to enable transcoding.
|
||||
* @return The factory, for convenience.
|
||||
* @deprecated Use {@link #experimentalSetTextTrackTranscodingEnabled(boolean)} instead.
|
||||
*/
|
||||
// TODO: b/289916598 - Flip this to default to enabled and deprecate it.
|
||||
@Deprecated
|
||||
@CanIgnoreReturnValue
|
||||
public synchronized DefaultExtractorsFactory setTextTrackTranscodingEnabled(
|
||||
boolean textTrackTranscodingEnabled) {
|
||||
return experimentalSetTextTrackTranscodingEnabled(textTrackTranscodingEnabled);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DefaultExtractorsFactory experimentalSetTextTrackTranscodingEnabled(
|
||||
boolean textTrackTranscodingEnabled) {
|
||||
this.textTrackTranscodingEnabled = textTrackTranscodingEnabled;
|
||||
return this;
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
package androidx.media3.extractor;
|
||||
|
||||
import android.net.Uri;
|
||||
import androidx.media3.common.MimeTypes;
|
||||
import androidx.media3.common.util.UnstableApi;
|
||||
import com.google.errorprone.annotations.CanIgnoreReturnValue;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ -30,6 +32,24 @@ public interface ExtractorsFactory {
|
||||
*/
|
||||
ExtractorsFactory EMPTY = () -> new Extractor[] {};
|
||||
|
||||
/**
|
||||
* Enables transcoding of text track samples to {@link MimeTypes#APPLICATION_MEDIA3_CUES} before
|
||||
* the data is emitted to {@link TrackOutput}.
|
||||
*
|
||||
* <p>Transcoding is disabled by default.
|
||||
*
|
||||
* <p>This method is experimental and will be renamed or removed in a future release.
|
||||
*
|
||||
* @param textTrackTranscodingEnabled Whether to enable transcoding.
|
||||
* @return The factory, for convenience.
|
||||
*/
|
||||
// TODO: b/289916598 - Flip this to default to enabled and deprecate it.
|
||||
@CanIgnoreReturnValue
|
||||
default ExtractorsFactory experimentalSetTextTrackTranscodingEnabled(
|
||||
boolean textTrackTranscodingEnabled) {
|
||||
return this;
|
||||
}
|
||||
|
||||
/** Returns an array of new {@link Extractor} instances. */
|
||||
Extractor[] createExtractors();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user