Deprecate SingleSampleMediaSource.Factory#setTrackId

This method is no longer needed since we added SubtitleConfiguration#id
in 59d98b9a4e.

Issue: google/ExoPlayer#10016

#minor-release

PiperOrigin-RevId: 432169262
This commit is contained in:
ibaker 2022-03-03 13:20:51 +00:00 committed by Ian Baker
parent 2cb2f6ded4
commit 540f2061cb
2 changed files with 16 additions and 10 deletions

View file

@ -20,6 +20,12 @@
* FMP4: Fix issue where emsg sample metadata could be output in the wrong * FMP4: Fix issue where emsg sample metadata could be output in the wrong
order for streams containing both v0 and v1 emsg atoms order for streams containing both v0 and v1 emsg atoms
([#9996](https://github.com/google/ExoPlayer/issues/9996)). ([#9996](https://github.com/google/ExoPlayer/issues/9996)).
* Text:
* Fix the interaction of `SingleSampleMediaSource.Factory.setTrackId` and
`MediaItem.SubtitleConfiguration.Builder.setId` to prioritise the
`SubtitleConfiguration` field and fall back to the `Factory` value if
it's not set
([#10016](https://github.com/google/ExoPlayer/issues/10016)).
* RTSP: * RTSP:
* Add RTP reader for HEVC * Add RTP reader for HEVC
([#36](https://github.com/androidx/media/pull/36)). ([#36](https://github.com/androidx/media/pull/36)).

View file

@ -72,11 +72,12 @@ public final class SingleSampleMediaSource extends BaseMediaSource {
} }
/** /**
* Sets an optional track id to be used. * @deprecated Use {@link MediaItem.SubtitleConfiguration.Builder#setId(String)} instead (on the
* * {@link MediaItem.SubtitleConfiguration} passed to {@link
* @param trackId An optional track id. * #createMediaSource(MediaItem.SubtitleConfiguration, long)}). {@code trackId} will only be
* @return This factory, for convenience. * used if {@link MediaItem.SubtitleConfiguration#id} is {@code null}.
*/ */
@Deprecated
public Factory setTrackId(@Nullable String trackId) { public Factory setTrackId(@Nullable String trackId) {
this.trackId = trackId; this.trackId = trackId;
return this; return this;
@ -155,29 +156,28 @@ public final class SingleSampleMediaSource extends BaseMediaSource {
this.durationUs = durationUs; this.durationUs = durationUs;
this.loadErrorHandlingPolicy = loadErrorHandlingPolicy; this.loadErrorHandlingPolicy = loadErrorHandlingPolicy;
this.treatLoadErrorsAsEndOfStream = treatLoadErrorsAsEndOfStream; this.treatLoadErrorsAsEndOfStream = treatLoadErrorsAsEndOfStream;
mediaItem = this.mediaItem =
new MediaItem.Builder() new MediaItem.Builder()
.setUri(Uri.EMPTY) .setUri(Uri.EMPTY)
.setMediaId(subtitleConfiguration.uri.toString()) .setMediaId(subtitleConfiguration.uri.toString())
.setSubtitleConfigurations(ImmutableList.of(subtitleConfiguration)) .setSubtitleConfigurations(ImmutableList.of(subtitleConfiguration))
.setTag(tag) .setTag(tag)
.build(); .build();
format = this.format =
new Format.Builder() new Format.Builder()
.setId(trackId)
.setSampleMimeType(firstNonNull(subtitleConfiguration.mimeType, MimeTypes.TEXT_UNKNOWN)) .setSampleMimeType(firstNonNull(subtitleConfiguration.mimeType, MimeTypes.TEXT_UNKNOWN))
.setLanguage(subtitleConfiguration.language) .setLanguage(subtitleConfiguration.language)
.setSelectionFlags(subtitleConfiguration.selectionFlags) .setSelectionFlags(subtitleConfiguration.selectionFlags)
.setRoleFlags(subtitleConfiguration.roleFlags) .setRoleFlags(subtitleConfiguration.roleFlags)
.setLabel(subtitleConfiguration.label) .setLabel(subtitleConfiguration.label)
.setId(subtitleConfiguration.id) .setId(subtitleConfiguration.id != null ? subtitleConfiguration.id : trackId)
.build(); .build();
dataSpec = this.dataSpec =
new DataSpec.Builder() new DataSpec.Builder()
.setUri(subtitleConfiguration.uri) .setUri(subtitleConfiguration.uri)
.setFlags(DataSpec.FLAG_ALLOW_GZIP) .setFlags(DataSpec.FLAG_ALLOW_GZIP)
.build(); .build();
timeline = this.timeline =
new SinglePeriodTimeline( new SinglePeriodTimeline(
durationUs, durationUs,
/* isSeekable= */ true, /* isSeekable= */ true,