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
7b8f33e8
authored
Jan 24, 2022
by
kimvde
Committed by
Ian Baker
Jan 25, 2022
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Various nits in Transformer
PiperOrigin-RevId: 423822317
parent
8f3439ae
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
14 additions
and
22 deletions
libraries/transformer/src/main/java/androidx/media3/transformer/AudioSamplePipeline.java → libraries/transformer/src/main/java/androidx/media3/transformer/AudioTranscodingSamplePipeline.java
libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java
libraries/transformer/src/main/java/androidx/media3/transformer/TransformerAudioRenderer.java
libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java
libraries/transformer/src/main/java/androidx/media3/transformer/VideoSamplePipeline.java → libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java
libraries/transformer/src/main/java/androidx/media3/transformer/AudioSamplePipeline.java
→
libraries/transformer/src/main/java/androidx/media3/transformer/Audio
Transcoding
SamplePipeline.java
View file @
7b8f33e8
...
@@ -18,7 +18,6 @@ package androidx.media3.transformer;
...
@@ -18,7 +18,6 @@ package androidx.media3.transformer;
import
static
androidx
.
media3
.
common
.
util
.
Assertions
.
checkNotNull
;
import
static
androidx
.
media3
.
common
.
util
.
Assertions
.
checkNotNull
;
import
static
androidx
.
media3
.
common
.
util
.
Assertions
.
checkState
;
import
static
androidx
.
media3
.
common
.
util
.
Assertions
.
checkState
;
import
static
androidx
.
media3
.
common
.
util
.
Assertions
.
checkStateNotNull
;
import
static
java
.
lang
.
Math
.
min
;
import
static
java
.
lang
.
Math
.
min
;
import
android.media.MediaCodec.BufferInfo
;
import
android.media.MediaCodec.BufferInfo
;
...
@@ -37,9 +36,8 @@ import org.checkerframework.dataflow.qual.Pure;
...
@@ -37,9 +36,8 @@ import org.checkerframework.dataflow.qual.Pure;
/**
/**
* Pipeline to decode audio samples, apply transformations on the raw samples, and re-encode them.
* Pipeline to decode audio samples, apply transformations on the raw samples, and re-encode them.
*/
*/
/* package */
final
class
AudioSamplePipeline
implements
SamplePipeline
{
/* package */
final
class
Audio
Transcoding
SamplePipeline
implements
SamplePipeline
{
private
static
final
String
TAG
=
"AudioSamplePipeline"
;
private
static
final
int
DEFAULT_ENCODER_BITRATE
=
128
*
1024
;
private
static
final
int
DEFAULT_ENCODER_BITRATE
=
128
*
1024
;
private
final
Codec
decoder
;
private
final
Codec
decoder
;
...
@@ -61,7 +59,7 @@ import org.checkerframework.dataflow.qual.Pure;
...
@@ -61,7 +59,7 @@ import org.checkerframework.dataflow.qual.Pure;
private
boolean
drainingSonicForSpeedChange
;
private
boolean
drainingSonicForSpeedChange
;
private
float
currentSpeed
;
private
float
currentSpeed
;
public
AudioSamplePipeline
(
public
Audio
Transcoding
SamplePipeline
(
Format
inputFormat
,
Format
inputFormat
,
TransformationRequest
transformationRequest
,
TransformationRequest
transformationRequest
,
Codec
.
DecoderFactory
decoderFactory
,
Codec
.
DecoderFactory
decoderFactory
,
...
@@ -142,41 +140,37 @@ import org.checkerframework.dataflow.qual.Pure;
...
@@ -142,41 +140,37 @@ import org.checkerframework.dataflow.qual.Pure;
@Override
@Override
@Nullable
@Nullable
public
Format
getOutputFormat
()
throws
TransformationException
{
public
Format
getOutputFormat
()
throws
TransformationException
{
return
encoder
!=
null
?
encoder
.
getOutputFormat
()
:
null
;
return
encoder
.
getOutputFormat
()
;
}
}
@Override
@Override
@Nullable
@Nullable
public
DecoderInputBuffer
getOutputBuffer
()
throws
TransformationException
{
public
DecoderInputBuffer
getOutputBuffer
()
throws
TransformationException
{
if
(
encoder
!=
null
)
{
encoderOutputBuffer
.
data
=
encoder
.
getOutputBuffer
();
encoderOutputBuffer
.
data
=
encoder
.
getOutputBuffer
();
if
(
encoderOutputBuffer
.
data
!=
null
)
{
if
(
encoderOutputBuffer
.
data
==
null
)
{
return
null
;
}
encoderOutputBuffer
.
timeUs
=
checkNotNull
(
encoder
.
getOutputBufferInfo
()).
presentationTimeUs
;
encoderOutputBuffer
.
timeUs
=
checkNotNull
(
encoder
.
getOutputBufferInfo
()).
presentationTimeUs
;
encoderOutputBuffer
.
setFlags
(
C
.
BUFFER_FLAG_KEY_FRAME
);
encoderOutputBuffer
.
setFlags
(
C
.
BUFFER_FLAG_KEY_FRAME
);
return
encoderOutputBuffer
;
return
encoderOutputBuffer
;
}
}
}
return
null
;
}
@Override
@Override
public
void
releaseOutputBuffer
()
throws
TransformationException
{
public
void
releaseOutputBuffer
()
throws
TransformationException
{
checkStateNotNull
(
encoder
)
.
releaseOutputBuffer
();
encoder
.
releaseOutputBuffer
();
}
}
@Override
@Override
public
boolean
isEnded
()
{
public
boolean
isEnded
()
{
return
encoder
!=
null
&&
encoder
.
isEnded
();
return
encoder
.
isEnded
();
}
}
@Override
@Override
public
void
release
()
{
public
void
release
()
{
sonicAudioProcessor
.
reset
();
sonicAudioProcessor
.
reset
();
decoder
.
release
();
decoder
.
release
();
if
(
encoder
!=
null
)
{
encoder
.
release
();
encoder
.
release
();
}
}
}
/**
/**
* Attempts to pass decoder output data to the encoder, and returns whether it may be possible to
* Attempts to pass decoder output data to the encoder, and returns whether it may be possible to
...
...
libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java
View file @
7b8f33e8
...
@@ -919,7 +919,7 @@ public final class Transformer {
...
@@ -919,7 +919,7 @@ public final class Transformer {
@Override
@Override
public
void
onPlayerError
(
PlaybackException
error
)
{
public
void
onPlayerError
(
PlaybackException
error
)
{
Throwable
cause
=
error
.
getCause
();
@Nullable
Throwable
cause
=
error
.
getCause
();
handleTransformationEnded
(
handleTransformationEnded
(
cause
instanceof
TransformationException
cause
instanceof
TransformationException
?
(
TransformationException
)
cause
?
(
TransformationException
)
cause
...
...
libraries/transformer/src/main/java/androidx/media3/transformer/TransformerAudioRenderer.java
View file @
7b8f33e8
...
@@ -73,7 +73,7 @@ import androidx.media3.extractor.metadata.mp4.SlowMotionData;
...
@@ -73,7 +73,7 @@ import androidx.media3.extractor.metadata.mp4.SlowMotionData;
new
PassthroughSamplePipeline
(
inputFormat
,
transformationRequest
,
fallbackListener
);
new
PassthroughSamplePipeline
(
inputFormat
,
transformationRequest
,
fallbackListener
);
}
else
{
}
else
{
samplePipeline
=
samplePipeline
=
new
AudioSamplePipeline
(
new
Audio
Transcoding
SamplePipeline
(
inputFormat
,
inputFormat
,
transformationRequest
,
transformationRequest
,
decoderFactory
,
decoderFactory
,
...
...
libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java
View file @
7b8f33e8
...
@@ -82,7 +82,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
...
@@ -82,7 +82,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
new
PassthroughSamplePipeline
(
inputFormat
,
transformationRequest
,
fallbackListener
);
new
PassthroughSamplePipeline
(
inputFormat
,
transformationRequest
,
fallbackListener
);
}
else
{
}
else
{
samplePipeline
=
samplePipeline
=
new
VideoSamplePipeline
(
new
Video
Transcoding
SamplePipeline
(
context
,
context
,
inputFormat
,
inputFormat
,
transformationRequest
,
transformationRequest
,
...
...
libraries/transformer/src/main/java/androidx/media3/transformer/VideoSamplePipeline.java
→
libraries/transformer/src/main/java/androidx/media3/transformer/Video
Transcoding
SamplePipeline.java
View file @
7b8f33e8
...
@@ -36,9 +36,7 @@ import org.checkerframework.dataflow.qual.Pure;
...
@@ -36,9 +36,7 @@ import org.checkerframework.dataflow.qual.Pure;
/**
/**
* Pipeline to decode video samples, apply transformations on the raw samples, and re-encode them.
* Pipeline to decode video samples, apply transformations on the raw samples, and re-encode them.
*/
*/
/* package */
final
class
VideoSamplePipeline
implements
SamplePipeline
{
/* package */
final
class
VideoTranscodingSamplePipeline
implements
SamplePipeline
{
private
static
final
String
TAG
=
"VideoSamplePipeline"
;
private
final
int
outputRotationDegrees
;
private
final
int
outputRotationDegrees
;
private
final
DecoderInputBuffer
decoderInputBuffer
;
private
final
DecoderInputBuffer
decoderInputBuffer
;
...
@@ -51,7 +49,7 @@ import org.checkerframework.dataflow.qual.Pure;
...
@@ -51,7 +49,7 @@ import org.checkerframework.dataflow.qual.Pure;
private
boolean
waitingForFrameEditorInput
;
private
boolean
waitingForFrameEditorInput
;
public
VideoSamplePipeline
(
public
Video
Transcoding
SamplePipeline
(
Context
context
,
Context
context
,
Format
inputFormat
,
Format
inputFormat
,
TransformationRequest
transformationRequest
,
TransformationRequest
transformationRequest
,
...
@@ -233,7 +231,7 @@ import org.checkerframework.dataflow.qual.Pure;
...
@@ -233,7 +231,7 @@ import org.checkerframework.dataflow.qual.Pure;
@Override
@Override
@Nullable
@Nullable
public
Format
getOutputFormat
()
throws
TransformationException
{
public
Format
getOutputFormat
()
throws
TransformationException
{
Format
format
=
encoder
.
getOutputFormat
();
@Nullable
Format
format
=
encoder
.
getOutputFormat
();
return
format
==
null
return
format
==
null
?
null
?
null
:
format
.
buildUpon
().
setRotationDegrees
(
outputRotationDegrees
).
build
();
:
format
.
buildUpon
().
setRotationDegrees
(
outputRotationDegrees
).
build
();
...
...
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