public class TuSdkMediaUtils
extends java.lang.Object
限定符和类型 | 字段和说明 |
---|---|
static long |
CODEC_TIMEOUT_US
编解码器超时时间 [微秒]
|
构造器和说明 |
---|
TuSdkMediaUtils() |
限定符和类型 | 方法和说明 |
---|---|
static void |
addADTStoPacket(byte[] packet,
int packetLen,
int profile,
int freqIdx,
int chanCfg)
Add ADTS header at the beginning of each and every AAC packet.
|
static void |
addADTStoPacket(byte[] packet,
int packetLen,
android.media.MediaFormat format)
Add ADTS header at the beginning of each and every AAC packet.
|
static android.media.MediaCodec.BufferInfo |
cloneBufferInfo(android.media.MediaCodec.BufferInfo info)
克隆BufferInfo
|
static int |
getMediaTrackIndex(TuSdkMediaExtractor extractor,
java.lang.String mediaType)
获取指定类型媒体文件所在轨道
|
static void |
processOutputBuffer(TuSdkMediaMuxer muxer,
int trackIndex,
java.nio.ByteBuffer byteBuf,
android.media.MediaCodec.BufferInfo bufferInfo)
处理输出的视频 Buffer
|
static boolean |
putBufferToCoderUntilEnd(TuSdkMediaExtractor extractor,
TuSdkMediaCodec decoder)
将缓冲区传递至解码器
|
static boolean |
putBufferToCoderUntilEnd(TuSdkMediaExtractor extractor,
TuSdkMediaCodec decoder,
boolean writeEos)
将缓冲区传递至解码器
|
static boolean |
putBufferToCoderUntilEnd(TuSdkMediaExtractor extractor,
TuSdkMediaCodec decoder,
boolean writeEos,
long timestampUs)
将缓冲区传递至解码器
|
static boolean |
putBufferToCoderUntilEnd(TuSdkMediaExtractor extractor,
TuSdkMediaCodec decoder,
java.nio.ByteBuffer[] inputBuffers,
long timeOutUs)
将缓冲区传递至解码器
|
static boolean |
putBufferToCoderUntilEnd(TuSdkMediaExtractor extractor,
TuSdkMediaCodec decoder,
java.nio.ByteBuffer[] inputBuffers,
long timeOutUs,
boolean writeEos)
将缓冲区传递至解码器
|
static boolean |
putBufferToCoderUntilEnd(TuSdkMediaExtractor extractor,
TuSdkMediaCodec decoder,
java.nio.ByteBuffer[] inputBuffers,
long timeOutUs,
boolean writeEos,
long timestampUs)
将缓冲区传递至解码器
|
static boolean |
putEosToCoder(TuSdkMediaExtractor extractor,
TuSdkMediaCodec decoder)
直接写入解码器结尾信息
|
static byte |
samplingFrequencyIndex(int sampleRate)
Sampling Frequency Index
|
public static final long CODEC_TIMEOUT_US
public static int getMediaTrackIndex(TuSdkMediaExtractor extractor, java.lang.String mediaType)
extractor
- 媒体分离器mediaType
- 媒体类型public static boolean putBufferToCoderUntilEnd(TuSdkMediaExtractor extractor, TuSdkMediaCodec decoder)
extractor
- 媒体分离器decoder
- 解码器public static boolean putBufferToCoderUntilEnd(TuSdkMediaExtractor extractor, TuSdkMediaCodec decoder, boolean writeEos)
extractor
- 媒体分离器decoder
- 解码器writeEos
- 是否自动写入结尾public static boolean putBufferToCoderUntilEnd(TuSdkMediaExtractor extractor, TuSdkMediaCodec decoder, boolean writeEos, long timestampUs)
extractor
- 媒体分离器decoder
- 解码器writeEos
- 是否自动写入结尾timestampUs
- 自定义时间戳public static boolean putBufferToCoderUntilEnd(TuSdkMediaExtractor extractor, TuSdkMediaCodec decoder, java.nio.ByteBuffer[] inputBuffers, long timeOutUs)
extractor
- 媒体分离器decoder
- 解码器inputBuffers
- 输入缓存队列timeOutUs
- 等待超时时间 [微秒]public static boolean putBufferToCoderUntilEnd(TuSdkMediaExtractor extractor, TuSdkMediaCodec decoder, java.nio.ByteBuffer[] inputBuffers, long timeOutUs, boolean writeEos)
extractor
- 媒体分离器decoder
- 解码器inputBuffers
- 输入缓存队列timeOutUs
- 等待超时时间 [微秒]writeEos
- 是否自动写入结尾public static boolean putBufferToCoderUntilEnd(TuSdkMediaExtractor extractor, TuSdkMediaCodec decoder, java.nio.ByteBuffer[] inputBuffers, long timeOutUs, boolean writeEos, long timestampUs)
extractor
- 媒体分离器decoder
- 解码器inputBuffers
- 输入缓存队列timeOutUs
- 等待超时时间 [微秒]writeEos
- 是否自动写入结尾timestampUs
- 自定义时间戳public static boolean putEosToCoder(TuSdkMediaExtractor extractor, TuSdkMediaCodec decoder)
extractor
- 媒体分离器decoder
- 解码器public static void processOutputBuffer(TuSdkMediaMuxer muxer, int trackIndex, java.nio.ByteBuffer byteBuf, android.media.MediaCodec.BufferInfo bufferInfo)
muxer
- 媒体合成器接口trackIndex
- The track index for this sample.byteBuf
- The encoded sample.bufferInfo
- The buffer information related to this sample.public static void addADTStoPacket(byte[] packet, int packetLen, android.media.MediaFormat format)
Note the packetLen must count in the ADTS header itself.
public static void addADTStoPacket(byte[] packet, int packetLen, int profile, int freqIdx, int chanCfg)
packet
- 数据缓存packetLen
- 数据长度profile
- aac profilefreqIdx
- sampleRate indexchanCfg
- channel Countpublic static byte samplingFrequencyIndex(int sampleRate)
sampleRate
- 采样率public static android.media.MediaCodec.BufferInfo cloneBufferInfo(android.media.MediaCodec.BufferInfo info)