Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
SDK
/
exoplayer
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
a0f6bc87
authored
Jan 22, 2020
by
andrewlewis
Committed by
Ian Baker
Jan 24, 2020
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Move getRendererCapabilities to DownloadHelper
PiperOrigin-RevId: 290934472
parent
c8f0814b
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
30 additions
and
33 deletions
library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadHelper.java
library/core/src/main/java/com/google/android/exoplayer2/util/Util.java
library/core/src/test/java/com/google/android/exoplayer2/offline/DownloadHelperTest.java
library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadHelper.java
View file @
a0f6bc87
...
...
@@ -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
));
}
/**
...
...
library/core/src/main/java/com/google/android/exoplayer2/util/Util.java
View file @
a0f6bc87
...
...
@@ -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
;
...
...
@@ -2009,29 +2004,6 @@ public final class Util {
}
/**
* 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}.
*
* @param trackType A {@code TRACK_TYPE_*} constant,
...
...
library/core/src/test/java/com/google/android/exoplayer2/offline/DownloadHelperTest.java
View file @
a0f6bc87
...
...
@@ -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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment