Package io.antmedia.streamsource
Class StreamFetcher.WorkerThread
java.lang.Object
java.lang.Thread
io.antmedia.streamsource.StreamFetcher.WorkerThread
- All Implemented Interfaces:
Runnable
- Enclosing class:
- StreamFetcher
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler -
Field Summary
FieldsModifier and TypeFieldDescription(package private) longprivate AtomicBooleanprivate longprivate ConcurrentSkipListSet<org.bytedeco.ffmpeg.avcodec.AVPacket>private longprivate long(package private) long(package private) org.bytedeco.ffmpeg.avformat.AVFormatContextprotected AtomicBooleanprivate longprivate longprivate static final int(package private) longprivate static final longprivate boolean(package private) longFields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidvoidclose(org.bytedeco.ffmpeg.avcodec.AVPacket pkt) voidlongConcurrentSkipListSet<org.bytedeco.ffmpeg.avcodec.AVPacket>intgetCodecType(int streamIndex) long[]org.bytedeco.ffmpeg.avutil.AVRationalgetStreamTimebase(int streamIndex) voidvoidpacketRead(org.bytedeco.ffmpeg.avcodec.AVPacket pkt) prepare(org.bytedeco.ffmpeg.avformat.AVFormatContext inputFormatContext) prepareInput(org.bytedeco.ffmpeg.avformat.AVFormatContext inputFormatContext) booleanprepareInputContext(Broadcast broadcast) booleanreadMore(org.bytedeco.ffmpeg.avcodec.AVPacket pkt) intreadNextPacket(org.bytedeco.ffmpeg.avcodec.AVPacket pkt) voidrun()intvoidsetInputFormatContext(org.bytedeco.ffmpeg.avformat.AVFormatContext inputFormatContext) voidunReferencePacket(org.bytedeco.ffmpeg.avcodec.AVPacket pkt) private voidvoidvoidwritePacket(org.bytedeco.ffmpeg.avformat.AVStream stream, org.bytedeco.ffmpeg.avcodec.AVPacket pkt) Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
-
Field Details
-
PACKET_WRITER_PERIOD_IN_MS
private static final int PACKET_WRITER_PERIOD_IN_MS- See Also:
-
STREAM_FETCH_RE_TRY_PERIOD_MS
private static final long STREAM_FETCH_RE_TRY_PERIOD_MS- See Also:
-
streamPublished
private volatile boolean streamPublished -
isJobRunning
-
inputFormatContext
org.bytedeco.ffmpeg.avformat.AVFormatContext inputFormatContext -
buffering
-
bufferQueue
-
bufferingFinishTimeMs
private volatile long bufferingFinishTimeMs -
firstPacketReadyToSentTimeMs
private volatile long firstPacketReadyToSentTimeMs -
lastPacketTimeMsInQueue
private long lastPacketTimeMsInQueue -
firstPacketTime
long firstPacketTime -
bufferDuration
long bufferDuration -
timeOffsetInMs
long timeOffsetInMs -
packetWriterJobName
long packetWriterJobName -
firstPacketDtsInMs
private long firstPacketDtsInMs -
lastSycnCheckTime
private long lastSycnCheckTime
-
-
Constructor Details
-
WorkerThread
public WorkerThread()
-
-
Method Details
-
prepare
-
prepareInput
-
run
public void run() -
readMore
public boolean readMore(org.bytedeco.ffmpeg.avcodec.AVPacket pkt) -
seekFrame
public int seekFrame() -
readNextPacket
public int readNextPacket(org.bytedeco.ffmpeg.avcodec.AVPacket pkt) -
unReferencePacket
public void unReferencePacket(org.bytedeco.ffmpeg.avcodec.AVPacket pkt) -
prepareInputContext
- Throws:
Exception
-
packetRead
public void packetRead(org.bytedeco.ffmpeg.avcodec.AVPacket pkt) -
closeInputFormatContext
public void closeInputFormatContext() -
close
public void close(org.bytedeco.ffmpeg.avcodec.AVPacket pkt) -
writeAllBufferedPackets
private void writeAllBufferedPackets() -
writePacket
public void writePacket(org.bytedeco.ffmpeg.avformat.AVStream stream, org.bytedeco.ffmpeg.avcodec.AVPacket pkt) -
getLastSentDTS
public long[] getLastSentDTS() -
getCodecType
public int getCodecType(int streamIndex) -
getStreamTimebase
public org.bytedeco.ffmpeg.avutil.AVRational getStreamTimebase(int streamIndex) -
checkAndFixSynch
public void checkAndFixSynch() -
writeBufferedPacket
public void writeBufferedPacket() -
calculateBufferStatus
public void calculateBufferStatus() -
logBufferStatus
public void logBufferStatus() -
getBufferedDurationMs
public long getBufferedDurationMs() -
getBufferQueue
-
setInputFormatContext
public void setInputFormatContext(org.bytedeco.ffmpeg.avformat.AVFormatContext inputFormatContext)
-