package com.tridium.videoDriver.videoStream.decoder; import com.tridium.videoDriver.ui.BIVideoPlayer; import com.tridium.videoDriver.videoStream.BIVideoSource; import com.tridium.videoDriver.videoStream.IVideoDestination; import com.tridium.videoDriver.videoStream.IVideoSession; import com.tridium.videoDriver.videoStream.WaitForStopDecoding; import javax.baja.sys.BRelTime; public interface IVideoDecoder extends IVideoDestination { void decodeFrame(VidFrame vidFrame) throws Exception; IVideoMultistreamDecoder getMultistreamDecoder(); BIVideoPlayer getVideoPlayer(); IVideoSession getVideoSession(); BIVideoSource getVideoSource(); void init(BIVideoSource bIVideoSource, BIVideoPlayer bIVideoPlayer, BRelTime bRelTime, IVideoSession iVideoSession); boolean isFinished(); void keepAlive(); void readFrameData(VidFrame vidFrame) throws Exception; void setMultistreamDecoder(IVideoMultistreamDecoder iVideoMultistreamDecoder); void stopDecoding(WaitForStopDecoding waitForStopDecoding); }