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
Modifier and TypeFieldDescription(package private) long
private AtomicBoolean
private long
private ConcurrentSkipListSet<org.bytedeco.ffmpeg.avcodec.AVPacket>
private long
private long
(package private) long
(package private) org.bytedeco.ffmpeg.avformat.AVFormatContext
protected AtomicBoolean
private long
private long
private static final int
(package private) long
private static final long
private boolean
(package private) long
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
void
void
close
(org.bytedeco.ffmpeg.avcodec.AVPacket pkt) void
long
ConcurrentSkipListSet<org.bytedeco.ffmpeg.avcodec.AVPacket>
int
getCodecType
(int streamIndex) long[]
org.bytedeco.ffmpeg.avutil.AVRational
getStreamTimebase
(int streamIndex) void
void
packetRead
(org.bytedeco.ffmpeg.avcodec.AVPacket pkt) prepare
(org.bytedeco.ffmpeg.avformat.AVFormatContext inputFormatContext) prepareInput
(org.bytedeco.ffmpeg.avformat.AVFormatContext inputFormatContext) boolean
prepareInputContext
(Broadcast broadcast) boolean
readMore
(org.bytedeco.ffmpeg.avcodec.AVPacket pkt) int
readNextPacket
(org.bytedeco.ffmpeg.avcodec.AVPacket pkt) void
run()
int
void
setInputFormatContext
(org.bytedeco.ffmpeg.avformat.AVFormatContext inputFormatContext) void
unReferencePacket
(org.bytedeco.ffmpeg.avcodec.AVPacket pkt) private void
void
void
writePacket
(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)
-