1 #ifndef filethread_HEADER_GUARD 2 #define filethread_HEADER_GUARD 67 filename(filename), slot(slot), framefilter(framefilter), seektime_(st),
68 duration(0), mstimestamp(0), status(
FileState::none)
70 FileContext() : filename(
""), slot(0), framefilter(NULL), seektime_(0),
71 duration(0), mstimestamp(0), status(
FileState::none)
94 AVFormatContext *input_context;
98 AVBitStreamFilterContext *annexb;
129 AVFormatContext *input_context;
130 std::vector<AVBitStreamFilterContext*> filters;
143 SlotNumber getSlot() {
return ctx.
slot;}
146 void setRefMstime(
long int ms_streamtime_);
147 void seek(
long int ms_streamtime_);
150 long int update(
long int mstimestamp);
151 long int pullNextFrame();
235 void handleSignals();
238 int safeGetSlot (SlotNumber slot,
FileStream*& stream);
251 void requestStopCall();
AVPacket * avpkt
Data for the next frame in ffmpeg AVPacket format.
Definition: filethread.h:140
long int seektime_
incoming: used by signal seek_stream // <pyapi>
Definition: filethread.h:76
FrameFilter * framefilter
incoming: the frames are feeded into this FrameFilter // <pyapi>
Definition: filethread.h:75
long int duration
outgoing: duration of the stream // <pyapi>
Definition: filethread.h:77
std::string filename
incoming: the filename // <pyapi>
Definition: filethread.h:73
FrameFifo infifo
A FrameFifo for incoming frames.
Definition: filethread.h:207
std::deque< FileSignalContext > signal_fifo
Redefinition of signal fifo (Thread::signal_fifo is now hidden from usage)
Definition: filethread.h:211
This class in analogous to LiveThread, but it handles files instead of live streams.
Definition: filethread.h:193
Describes the stack structure and fifo behaviour for a FrameFifo.
Definition: framefifo.h:45
signal to AVThread or OpenGLThread
FileState
Describes the state of a FileStream.
Definition: filethread.h:48
FileState status
outgoing: status of the file // <pyapi>
Definition: filethread.h:79
Custom payload Frame.
Definition: frame.h:141
Identifies the information the signals FileSignal carry.
Definition: filethread.h:175
long int mstimestamp
outgoing: current position of the stream (stream time) // <pyapi>
Definition: filethread.h:78
A thread-safe combination of a fifo (first-in-first-out) queue and an associated stack.
Definition: framefifo.h:69
SetupFrame setupframe
Setup frame written to the filterchain.
Definition: filethread.h:133
long int frame_mstimestamp_
Timestamp of previous frame sent, -1 means there was no previous frame (underscore means stream time)...
Definition: filethread.h:138
FifoFrameFilter infilter
A FrameFilter for writing incoming frames.
Definition: filethread.h:208
query information about the stream
SlotNumber slot
incoming: a unique stream slot that identifies this stream // <pyapi>
Definition: filethread.h:74
Base class for multithreading.
BasicFrame out_frame
This frame is written to the filterchain (i.e. to FileStream::ctx and there to FileContext::framefilt...
Definition: filethread.h:134
This class in analogous to the Connection class in live streams.
Definition: filethread.h:117
FileContext()
Dummy constructor. Set values by manipulating members // <pyapi>
Definition: filethread.h:70
long int reftime
Relation between the stream time and wallclock time. See Presention timing and playing.
Definition: filethread.h:136
FileState state
Decribes the FileStream state: errors, stopped, playing, etc.
Definition: filethread.h:139
bool loop
Controls the execution of the main loop.
Definition: filethread.h:217
std::list< SlotNumber > active_slots
Slots that are activated.
Definition: filethread.h:216
FileContext & ctx
FileContext describing this stream.
Definition: filethread.h:128
FileSignal
Characteristic signals for the FileThread.
Definition: filethread.h:160
long int target_mstimestamp_
Where the stream would like to be (underscore means stream time)
Definition: filethread.h:137
Definition of FrameFilter and derived classes for various purposes.
FileContext(std::string filename, SlotNumber slot, FrameFilter *framefilter, long int st=0)
Default constructor // <pyapi>
Definition: filethread.h:66
Setup frame for decoders.
Definition: frame.h:191
A class for multithreading with a signaling system.
Definition: thread.h:89
Passes frames to a multiprocessing fifo.
Definition: framefilter.h:452
long int duration
Duration of the stream.
Definition: filethread.h:135
Definition: filethread.h:84
This class descibes the origin and state of a FileStream.
Definition: filethread.h:65
The mother class of all frame filters! FrameFilters are used to create "filter chains".
Definition: framefilter.h:46
FileContext * file_context
pointer, cause we have return values
Definition: filethread.h:177
AVPacket * avpkt
Data for the next frame in ffmpeg AVPacket format.
Definition: filethread.h:97
std::vector< FileStream * > slots_
Slots: a vector of FileStream instances.
Definition: filethread.h:214