public class PeripheralsDecoderFilter extends AbstractYYMediaFilter implements android.graphics.SurfaceTexture.OnFrameAvailableListener, BaseHardwareDecoder.OnDecoderSizeChangeListener
mDownStreamList, mImageHeight, mImageWidth, mOutputHeight, mOutputWidth, mSlaveVertexBuffer| Constructor and Description |
|---|
PeripheralsDecoderFilter(VideoLiveFilterContext context) |
| Modifier and Type | Method and Description |
|---|---|
void |
deInit() |
java.lang.String |
getFrameTypeStr(DecodeVideoSample sample) |
void |
handlePeripheralsVideoConfig(DecodeVideoConfig config,
BaseHardwareDecoder.OnDecoderSizeChangeListener SizeChangeListener) |
void |
handlePeripheralsVideoData(DecodeVideoSample sample)
处理外设视频数据
需要初始化解码器,初始化解码器是需要用到width,height,sps和pps等数据
往解码器喂数据
数据帧格式:27 01 00 00 00 00 00 08 c1 41 f6 02 be 14 8a 18
前5个字节无需关注,紧接着的4个字节是表示后面数据的长度,大端格式
DJI I帧数据格式:17 01 00 00 00 00 00 00 02 09 10 00 00 00 2f 27,参考一下链接:
https://github.com/DJI-Mobile-SDK-Tutorials/Android-VideoStreamDecodingSample/blob/master/android-videostreamdecodingsample/jni/dji_video_jni.c
DecodeVideoSample的dataLenght为data数组的长度
|
void |
handlePerpheralsVideoEnd() |
boolean |
isPeripheraHasEnd() |
void |
onDecoderSizeChanged(int width,
int height) |
void |
onFrameAvailable(android.graphics.SurfaceTexture surfaceTexture) |
boolean |
processMediaSample(YYMediaSample sample,
java.lang.Object upstream) |
void |
setRenderSurface(android.view.Surface surface) |
addDownStream, checkImageSizeUpdated, checkOuptuSizeUpdate, deliverToDownStream, removeAllDownStream, removeDownStream, setImageSize, setOutputSizepublic PeripheralsDecoderFilter(VideoLiveFilterContext context)
public void setRenderSurface(android.view.Surface surface)
public void deInit()
deInit in class AbstractYYMediaFilterpublic boolean processMediaSample(YYMediaSample sample, java.lang.Object upstream)
processMediaSample in interface IMediaFilterprocessMediaSample in class AbstractYYMediaFilterpublic void onFrameAvailable(android.graphics.SurfaceTexture surfaceTexture)
onFrameAvailable in interface android.graphics.SurfaceTexture.OnFrameAvailableListenerpublic java.lang.String getFrameTypeStr(DecodeVideoSample sample)
public void handlePeripheralsVideoData(DecodeVideoSample sample)
sample - public void handlePerpheralsVideoEnd()
public boolean isPeripheraHasEnd()
public void handlePeripheralsVideoConfig(DecodeVideoConfig config, BaseHardwareDecoder.OnDecoderSizeChangeListener SizeChangeListener)
public void onDecoderSizeChanged(int width,
int height)
onDecoderSizeChanged in interface BaseHardwareDecoder.OnDecoderSizeChangeListener