mirror of
https://github.com/androidx/media.git
synced 2025-04-29 22:36:54 +08:00
Make some audio processors public
ChannelMappingAudioProcessor, TrimmingAudioProcessor and ToFloatPcmAudioProcessor are currently package-private even though they might be useful in custom audio processing chains or custom version of audio sinks. Issue: androidx/media#2339 PiperOrigin-RevId: 747857815
This commit is contained in:
parent
9cc7dd0dbe
commit
70e7121a51
@ -23,6 +23,9 @@
|
|||||||
* DataSource:
|
* DataSource:
|
||||||
* Audio:
|
* Audio:
|
||||||
* Allow constant power upmixing/downmixing in DefaultAudioMixer.
|
* Allow constant power upmixing/downmixing in DefaultAudioMixer.
|
||||||
|
* Make `ChannelMappingAudioProcessor`, `TrimmingAudioProcessor` and
|
||||||
|
`ToFloatPcmAudioProcessor` public
|
||||||
|
([#2339](https://github.com/androidx/media/issues/2339)).
|
||||||
* Video:
|
* Video:
|
||||||
* Add experimental `ExoPlayer` API to include the
|
* Add experimental `ExoPlayer` API to include the
|
||||||
`MediaCodec.BUFFER_FLAG_DECODE_ONLY` flag when queuing decode-only input
|
`MediaCodec.BUFFER_FLAG_DECODE_ONLY` flag when queuing decode-only input
|
||||||
|
@ -23,6 +23,7 @@ import androidx.media3.common.Format;
|
|||||||
import androidx.media3.common.audio.AudioProcessor;
|
import androidx.media3.common.audio.AudioProcessor;
|
||||||
import androidx.media3.common.audio.BaseAudioProcessor;
|
import androidx.media3.common.audio.BaseAudioProcessor;
|
||||||
import androidx.media3.common.util.Assertions;
|
import androidx.media3.common.util.Assertions;
|
||||||
|
import androidx.media3.common.util.UnstableApi;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
@ -30,7 +31,8 @@ import java.util.Arrays;
|
|||||||
* An {@link AudioProcessor} that applies a mapping from input channels onto specified output
|
* An {@link AudioProcessor} that applies a mapping from input channels onto specified output
|
||||||
* channels. This can be used to reorder, duplicate or discard channels.
|
* channels. This can be used to reorder, duplicate or discard channels.
|
||||||
*/
|
*/
|
||||||
/* package */ final class ChannelMappingAudioProcessor extends BaseAudioProcessor {
|
@UnstableApi
|
||||||
|
public final class ChannelMappingAudioProcessor extends BaseAudioProcessor {
|
||||||
|
|
||||||
@Nullable private int[] pendingOutputChannels;
|
@Nullable private int[] pendingOutputChannels;
|
||||||
@Nullable private int[] outputChannels;
|
@Nullable private int[] outputChannels;
|
||||||
|
@ -19,6 +19,7 @@ import androidx.media3.common.C;
|
|||||||
import androidx.media3.common.Format;
|
import androidx.media3.common.Format;
|
||||||
import androidx.media3.common.audio.AudioProcessor;
|
import androidx.media3.common.audio.AudioProcessor;
|
||||||
import androidx.media3.common.audio.BaseAudioProcessor;
|
import androidx.media3.common.audio.BaseAudioProcessor;
|
||||||
|
import androidx.media3.common.util.UnstableApi;
|
||||||
import androidx.media3.common.util.Util;
|
import androidx.media3.common.util.Util;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
|
|
||||||
@ -34,7 +35,8 @@ import java.nio.ByteBuffer;
|
|||||||
* <li>{@link C#ENCODING_PCM_FLOAT} ({@link #isActive()} will return {@code false})
|
* <li>{@link C#ENCODING_PCM_FLOAT} ({@link #isActive()} will return {@code false})
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
/* package */ final class ToFloatPcmAudioProcessor extends BaseAudioProcessor {
|
@UnstableApi
|
||||||
|
public final class ToFloatPcmAudioProcessor extends BaseAudioProcessor {
|
||||||
|
|
||||||
private static final int FLOAT_NAN_AS_INT = Float.floatToIntBits(Float.NaN);
|
private static final int FLOAT_NAN_AS_INT = Float.floatToIntBits(Float.NaN);
|
||||||
private static final double PCM_32_BIT_INT_TO_PCM_32_BIT_FLOAT_FACTOR = 1.0 / 0x7FFFFFFF;
|
private static final double PCM_32_BIT_INT_TO_PCM_32_BIT_FLOAT_FACTOR = 1.0 / 0x7FFFFFFF;
|
||||||
|
@ -20,11 +20,13 @@ import static java.lang.Math.min;
|
|||||||
import androidx.media3.common.C;
|
import androidx.media3.common.C;
|
||||||
import androidx.media3.common.Format;
|
import androidx.media3.common.Format;
|
||||||
import androidx.media3.common.audio.BaseAudioProcessor;
|
import androidx.media3.common.audio.BaseAudioProcessor;
|
||||||
|
import androidx.media3.common.util.UnstableApi;
|
||||||
import androidx.media3.common.util.Util;
|
import androidx.media3.common.util.Util;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
|
|
||||||
/** Audio processor for trimming samples from the start/end of data. */
|
/** Audio processor for trimming samples from the start/end of data. */
|
||||||
/* package */ final class TrimmingAudioProcessor extends BaseAudioProcessor {
|
@UnstableApi
|
||||||
|
public final class TrimmingAudioProcessor extends BaseAudioProcessor {
|
||||||
|
|
||||||
private int trimStartFrames;
|
private int trimStartFrames;
|
||||||
private int trimEndFrames;
|
private int trimEndFrames;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user