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;
|
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
|
@CanIgnoreReturnValue
|
||||||
@UnstableApi
|
@UnstableApi
|
||||||
@Override
|
@Override
|
||||||
@ -664,6 +658,7 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory {
|
|||||||
|
|
||||||
public void setParseSubtitlesDuringExtraction(boolean parseSubtitlesDuringExtraction) {
|
public void setParseSubtitlesDuringExtraction(boolean parseSubtitlesDuringExtraction) {
|
||||||
this.parseSubtitlesDuringExtraction = parseSubtitlesDuringExtraction;
|
this.parseSubtitlesDuringExtraction = parseSubtitlesDuringExtraction;
|
||||||
|
extractorsFactory.experimentalSetTextTrackTranscodingEnabled(parseSubtitlesDuringExtraction);
|
||||||
for (MediaSource.Factory mediaSourceFactory : mediaSourceFactories.values()) {
|
for (MediaSource.Factory mediaSourceFactory : mediaSourceFactories.values()) {
|
||||||
mediaSourceFactory.experimentalParseSubtitlesDuringExtraction(
|
mediaSourceFactory.experimentalParseSubtitlesDuringExtraction(
|
||||||
parseSubtitlesDuringExtraction);
|
parseSubtitlesDuringExtraction);
|
||||||
|
@ -25,7 +25,6 @@ import androidx.annotation.GuardedBy;
|
|||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.media3.common.FileTypes;
|
import androidx.media3.common.FileTypes;
|
||||||
import androidx.media3.common.Format;
|
import androidx.media3.common.Format;
|
||||||
import androidx.media3.common.MimeTypes;
|
|
||||||
import androidx.media3.common.PlaybackException;
|
import androidx.media3.common.PlaybackException;
|
||||||
import androidx.media3.common.Player;
|
import androidx.media3.common.Player;
|
||||||
import androidx.media3.common.util.TimestampAdjuster;
|
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
|
* @deprecated Use {@link #experimentalSetTextTrackTranscodingEnabled(boolean)} instead.
|
||||||
* the data is emitted to {@link TrackOutput}.
|
|
||||||
*
|
|
||||||
* <p>Transcoding is disabled by default.
|
|
||||||
*
|
|
||||||
* @param textTrackTranscodingEnabled Whether to enable transcoding.
|
|
||||||
* @return The factory, for convenience.
|
|
||||||
*/
|
*/
|
||||||
// TODO: b/289916598 - Flip this to default to enabled and deprecate it.
|
@Deprecated
|
||||||
@CanIgnoreReturnValue
|
@CanIgnoreReturnValue
|
||||||
public synchronized DefaultExtractorsFactory setTextTrackTranscodingEnabled(
|
public synchronized DefaultExtractorsFactory setTextTrackTranscodingEnabled(
|
||||||
boolean textTrackTranscodingEnabled) {
|
boolean textTrackTranscodingEnabled) {
|
||||||
|
return experimentalSetTextTrackTranscodingEnabled(textTrackTranscodingEnabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DefaultExtractorsFactory experimentalSetTextTrackTranscodingEnabled(
|
||||||
|
boolean textTrackTranscodingEnabled) {
|
||||||
this.textTrackTranscodingEnabled = textTrackTranscodingEnabled;
|
this.textTrackTranscodingEnabled = textTrackTranscodingEnabled;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,9 @@
|
|||||||
package androidx.media3.extractor;
|
package androidx.media3.extractor;
|
||||||
|
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
import androidx.media3.common.MimeTypes;
|
||||||
import androidx.media3.common.util.UnstableApi;
|
import androidx.media3.common.util.UnstableApi;
|
||||||
|
import com.google.errorprone.annotations.CanIgnoreReturnValue;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@ -30,6 +32,24 @@ public interface ExtractorsFactory {
|
|||||||
*/
|
*/
|
||||||
ExtractorsFactory EMPTY = () -> new Extractor[] {};
|
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. */
|
/** Returns an array of new {@link Extractor} instances. */
|
||||||
Extractor[] createExtractors();
|
Extractor[] createExtractors();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user