public class TuSdkVideoDecodecSyncBase extends java.lang.Object implements TuSdkVideoDecodecSync
限定符和类型 | 字段和说明 |
---|---|
protected long |
mDurationUs
最后处理的视频时长 [微秒]
|
protected long |
mFlushAndSeekto
通知刷新视频编码器并且跳到指定位置
|
protected long |
mFrameIntervalUs
解码视频帧间隔时间 [微秒]
|
protected java.lang.Object |
mLocker
线程锁
|
protected long |
mMaxFrameTimeUs
解码视频最大帧时间戳
|
protected long |
mMinFrameTimeUs
解码视频最小帧时间戳
|
protected long |
mOutputTimeUs
最后处理的视频时间戳 [微秒] 输出时间
|
protected long |
mPreviousTimeUs
前一个处理的视频解码时间戳 [微秒]
|
protected long |
mRelativeStartNs
相对开始时间 [纳秒]
|
protected boolean |
mReleased
是否已释放
|
构造器和说明 |
---|
TuSdkVideoDecodecSyncBase() |
限定符和类型 | 方法和说明 |
---|---|
long |
calcEffectFrameTimeUs(long outputTimeUs)
如果需要子类实现该方法
|
long |
calcInputTimeUs(long outputTimeUs)
如果需要子类实现该方法
|
long |
durationUs()
解码视频总时长 [微秒]
|
protected void |
flush(TuSdkMediaCodec codec)
刷新设备
|
long |
frameIntervalUs()
解码视频帧间隔时间 [微秒]
|
TuSdkMediaFrameInfo |
getFrameInfo()
关键帧间隔帧数
|
boolean |
hasVideoDecodeTrack()
视频解码轨道是否存在
|
boolean |
isInterrupted()
是否中断等待
|
boolean |
isNeedRestart()
是否需要重启
|
boolean |
isPause()
是否为暂停状态
|
boolean |
isSupportPrecise()
是否支持精确控制
|
boolean |
isVideoDecodeCompleted()
视频解码是否已完成
|
boolean |
isVideoDecodeCrashed()
是否音频解码器奔溃
|
long |
outputTimeUs()
最后视频时间戳 [微秒]
|
void |
pauseSave()
保存当前是否为暂停状态并设置为暂停,与resume配合使用
|
void |
release()
释放同步器
|
void |
resume(boolean isPause)
恢复前一个状态
|
void |
resumeSave()
恢复前一个状态 与pauseSave配合使用
|
protected void |
save()
重置状态
|
void |
setPause()
设置暂停状态
|
void |
setPlay()
设置播放状态
|
void |
syncFlushAndSeekto(long timeUs)
同步刷新解码器并跳到指定位置
|
protected void |
syncPause()
等待暂停
|
protected boolean |
syncPlay(long reduceNs)
同步播放
|
void |
syncRestart()
同步重新启动
|
boolean |
syncVideoDecodecExtractor(TuSdkMediaExtractor extractor,
TuSdkMediaCodec codec)
同步视频分离器数据 [解码前]
|
void |
syncVideoDecodecInfo(TuSdkVideoInfo info,
TuSdkMediaExtractor extractor)
同步视频解码器信息
|
void |
syncVideoDecodeCompleted()
同步视频解码已完成
|
void |
syncVideoDecodecOutputBuffer(java.nio.ByteBuffer byteBuf,
android.media.MediaCodec.BufferInfo bufferInfo,
TuSdkVideoInfo info)
同步视频解码后数据 [解码后]
|
void |
syncVideoDecodeCrashed(java.lang.Exception e)
同步是否视频解码器奔溃
|
void |
syncVideoDecodecUpdated(android.media.MediaCodec.BufferInfo bufferInfo)
同步音频解码完成一帧数据
|
boolean |
syncWithVideo()
与视频时间同步
|
protected boolean mReleased
protected final java.lang.Object mLocker
protected long mDurationUs
protected long mOutputTimeUs
protected long mPreviousTimeUs
protected long mFrameIntervalUs
protected long mMaxFrameTimeUs
protected long mMinFrameTimeUs
protected long mFlushAndSeekto
protected long mRelativeStartNs
public void release()
TuSdkMediaSync
release
在接口中 TuSdkMediaSync
public long outputTimeUs()
public long durationUs()
public long frameIntervalUs()
public void syncFlushAndSeekto(long timeUs)
public void syncVideoDecodeCompleted()
public boolean isVideoDecodeCompleted()
isVideoDecodeCompleted
在接口中 TuSdkVideoDecodecSync
public boolean isVideoDecodeCrashed()
isVideoDecodeCrashed
在接口中 TuSdkVideoDecodecSync
public boolean hasVideoDecodeTrack()
hasVideoDecodeTrack
在接口中 TuSdkVideoDecodecSync
public void syncVideoDecodeCrashed(java.lang.Exception e)
syncVideoDecodeCrashed
在接口中 TuSdkVideoDecodecSync
e
- 错误类型public TuSdkMediaFrameInfo getFrameInfo()
public boolean isSupportPrecise()
public boolean isPause()
public void setPause()
public void setPlay()
public void syncRestart()
public void pauseSave()
public void resumeSave()
public void resume(boolean isPause)
protected void flush(TuSdkMediaCodec codec)
protected void save()
public boolean isNeedRestart()
public boolean isInterrupted()
protected void syncPause()
protected boolean syncPlay(long reduceNs)
reduceNs
- 等到时间 [纳秒]public boolean syncWithVideo()
public void syncVideoDecodecInfo(TuSdkVideoInfo info, TuSdkMediaExtractor extractor)
syncVideoDecodecInfo
在接口中 TuSdkVideoDecodecSync
info
- 解码视频信息extractor
- 分离器对象public boolean syncVideoDecodecExtractor(TuSdkMediaExtractor extractor, TuSdkMediaCodec codec)
syncVideoDecodecExtractor
在接口中 TuSdkVideoDecodecSync
extractor
- 媒体分离器接口codec
- 解码器对象public void syncVideoDecodecOutputBuffer(java.nio.ByteBuffer byteBuf, android.media.MediaCodec.BufferInfo bufferInfo, TuSdkVideoInfo info)
syncVideoDecodecOutputBuffer
在接口中 TuSdkVideoDecodecSync
byteBuf
- 数据缓存bufferInfo
- 数据信息info
- 视频信息public void syncVideoDecodecUpdated(android.media.MediaCodec.BufferInfo bufferInfo)
syncVideoDecodecUpdated
在接口中 TuSdkVideoDecodecSync
bufferInfo
- 数据信息public long calcInputTimeUs(long outputTimeUs)
calcInputTimeUs
在接口中 TuSdkVideoDecodecSync
public long calcEffectFrameTimeUs(long outputTimeUs)
calcEffectFrameTimeUs
在接口中 TuSdkVideoDecodecSync