mirror of
https://github.com/samsonjs/media.git
synced 2026-04-03 10:55:48 +00:00
Move getRendererCapabilities to DownloadHelper
PiperOrigin-RevId: 290934472
This commit is contained in:
parent
c8f0814bd0
commit
a0f6bc877b
3 changed files with 30 additions and 33 deletions
|
|
@ -24,9 +24,11 @@ import android.util.SparseIntArray;
|
|||
import androidx.annotation.Nullable;
|
||||
import com.google.android.exoplayer2.C;
|
||||
import com.google.android.exoplayer2.ExoPlaybackException;
|
||||
import com.google.android.exoplayer2.Renderer;
|
||||
import com.google.android.exoplayer2.RendererCapabilities;
|
||||
import com.google.android.exoplayer2.RenderersFactory;
|
||||
import com.google.android.exoplayer2.Timeline;
|
||||
import com.google.android.exoplayer2.audio.AudioRendererEventListener;
|
||||
import com.google.android.exoplayer2.drm.DrmSessionManager;
|
||||
import com.google.android.exoplayer2.drm.FrameworkMediaCrypto;
|
||||
import com.google.android.exoplayer2.source.MediaPeriod;
|
||||
|
|
@ -54,6 +56,7 @@ import com.google.android.exoplayer2.upstream.DefaultAllocator;
|
|||
import com.google.android.exoplayer2.upstream.TransferListener;
|
||||
import com.google.android.exoplayer2.util.Assertions;
|
||||
import com.google.android.exoplayer2.util.Util;
|
||||
import com.google.android.exoplayer2.video.VideoRendererEventListener;
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -154,6 +157,29 @@ public final class DownloadHelper {
|
|||
private static final Constructor<? extends MediaSourceFactory> HLS_FACTORY_CONSTRUCTOR =
|
||||
getConstructor("com.google.android.exoplayer2.source.hls.HlsMediaSource$Factory");
|
||||
|
||||
/**
|
||||
* Extracts renderer capabilities for the renderers created by the provided renderers factory.
|
||||
*
|
||||
* @param renderersFactory A {@link RenderersFactory}.
|
||||
* @return The {@link RendererCapabilities} for each renderer created by the {@code
|
||||
* renderersFactory}.
|
||||
*/
|
||||
public static RendererCapabilities[] getRendererCapabilities(RenderersFactory renderersFactory) {
|
||||
Renderer[] renderers =
|
||||
renderersFactory.createRenderers(
|
||||
Util.createHandler(),
|
||||
new VideoRendererEventListener() {},
|
||||
new AudioRendererEventListener() {},
|
||||
(cues) -> {},
|
||||
(metadata) -> {},
|
||||
/* drmSessionManager= */ null);
|
||||
RendererCapabilities[] capabilities = new RendererCapabilities[renderers.length];
|
||||
for (int i = 0; i < renderers.length; i++) {
|
||||
capabilities[i] = renderers[i].getCapabilities();
|
||||
}
|
||||
return capabilities;
|
||||
}
|
||||
|
||||
/** @deprecated Use {@link #forProgressive(Context, Uri)} */
|
||||
@Deprecated
|
||||
@SuppressWarnings("deprecation")
|
||||
|
|
@ -269,7 +295,7 @@ public final class DownloadHelper {
|
|||
drmSessionManager,
|
||||
/* streamKeys= */ null),
|
||||
trackSelectorParameters,
|
||||
Util.getRendererCapabilities(renderersFactory));
|
||||
getRendererCapabilities(renderersFactory));
|
||||
}
|
||||
|
||||
/** @deprecated Use {@link #forHls(Context, Uri, Factory, RenderersFactory)} */
|
||||
|
|
@ -339,7 +365,7 @@ public final class DownloadHelper {
|
|||
drmSessionManager,
|
||||
/* streamKeys= */ null),
|
||||
trackSelectorParameters,
|
||||
Util.getRendererCapabilities(renderersFactory));
|
||||
getRendererCapabilities(renderersFactory));
|
||||
}
|
||||
|
||||
/** @deprecated Use {@link #forSmoothStreaming(Context, Uri, Factory, RenderersFactory)} */
|
||||
|
|
@ -409,7 +435,7 @@ public final class DownloadHelper {
|
|||
drmSessionManager,
|
||||
/* streamKeys= */ null),
|
||||
trackSelectorParameters,
|
||||
Util.getRendererCapabilities(renderersFactory));
|
||||
getRendererCapabilities(renderersFactory));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -51,13 +51,8 @@ import com.google.android.exoplayer2.C;
|
|||
import com.google.android.exoplayer2.ExoPlayerLibraryInfo;
|
||||
import com.google.android.exoplayer2.Format;
|
||||
import com.google.android.exoplayer2.ParserException;
|
||||
import com.google.android.exoplayer2.Renderer;
|
||||
import com.google.android.exoplayer2.RendererCapabilities;
|
||||
import com.google.android.exoplayer2.RenderersFactory;
|
||||
import com.google.android.exoplayer2.SeekParameters;
|
||||
import com.google.android.exoplayer2.audio.AudioRendererEventListener;
|
||||
import com.google.android.exoplayer2.upstream.DataSource;
|
||||
import com.google.android.exoplayer2.video.VideoRendererEventListener;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.Closeable;
|
||||
import java.io.File;
|
||||
|
|
@ -2008,29 +2003,6 @@ public final class Util {
|
|||
return displaySize;
|
||||
}
|
||||
|
||||
/**
|
||||
* Extract renderer capabilities for the renderers created by the provided renderers factory.
|
||||
*
|
||||
* @param renderersFactory A {@link RenderersFactory}.
|
||||
* @return The {@link RendererCapabilities} for each renderer created by the {@code
|
||||
* renderersFactory}.
|
||||
*/
|
||||
public static RendererCapabilities[] getRendererCapabilities(RenderersFactory renderersFactory) {
|
||||
Renderer[] renderers =
|
||||
renderersFactory.createRenderers(
|
||||
Util.createHandler(),
|
||||
new VideoRendererEventListener() {},
|
||||
new AudioRendererEventListener() {},
|
||||
(cues) -> {},
|
||||
(metadata) -> {},
|
||||
/* drmSessionManager= */ null);
|
||||
RendererCapabilities[] capabilities = new RendererCapabilities[renderers.length];
|
||||
for (int i = 0; i < renderers.length; i++) {
|
||||
capabilities[i] = renderers[i].getCapabilities();
|
||||
}
|
||||
return capabilities;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of a {@code TRACK_TYPE_*} constant defined in {@link C}.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -41,7 +41,6 @@ import com.google.android.exoplayer2.trackselection.MappingTrackSelector.MappedT
|
|||
import com.google.android.exoplayer2.trackselection.TrackSelection;
|
||||
import com.google.android.exoplayer2.upstream.Allocator;
|
||||
import com.google.android.exoplayer2.util.MimeTypes;
|
||||
import com.google.android.exoplayer2.util.Util;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
|
@ -134,7 +133,7 @@ public class DownloadHelperTest {
|
|||
TEST_CACHE_KEY,
|
||||
new TestMediaSource(),
|
||||
DownloadHelper.DEFAULT_TRACK_SELECTOR_PARAMETERS_WITHOUT_VIEWPORT,
|
||||
Util.getRendererCapabilities(renderersFactory));
|
||||
DownloadHelper.getRendererCapabilities(renderersFactory));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
Loading…
Reference in a new issue