1 #ifndef _AV_TRANSCODER_STREAM_TRANSCODER_HPP_
2 #define _AV_TRANSCODER_STREAM_TRANSCODER_HPP_
38 const int subStreamIndex = -1,
const float offset = 0);
53 void preProcessCodecLatency();
63 void switchToGeneratorDecoder();
64 void switchToInputDecoder();
72 float getDuration()
const;
93 bool canSwitchToGenerator();
100 void needToSwitchToGenerator(
const bool needToSwitch =
true);
106 void setOffset(
const float offset);
114 eProcessCaseGenerator
116 EProcessCase getProcessCase()
const;
120 bool processRewrap();
121 bool processTranscode(
const int subStreamIndex = -1);
bool _needToSwitchToGenerator
IEncoder * getEncoder() const
Returns a pointer to the encoder.
IOutputfile is the interface to wrap and write medias. It can be overloaded to integrate custom wrapp...
IDecoder * _inputDecoder
Decoder of packets read from _inputStream (has ownership)
ITransform * getTransform() const
Returns a pointer to the object which transforms the decoded data.
IInputStream * getInputStream() const
Returns a pointer to the stream which unwraps data.
Frame * _sourceBuffer
Has ownership.
FilterGraph * getFilterGraph() const
Returns a pointer to the object which manage filtering.
IDecoder * _generator
Generator of audio or video packets (has ownership)
std::map< std::string, std::string > Profile
IEncoder * _outputEncoder
Encoder of packets which will be wrapped by _outputStream (has ownership)
int _subStreamIndex
Index of channel that is processed from the input stream (<0 if no demultiplexing).
IDecoder * _currentDecoder
Link to _inputDecoder or _generator.
Frame * _frameBuffer
Has ownership.
IOutputStream * _outputStream
Output stream to wrap next packet (has link, no ownership)
FilterGraph * _filterGraph
Filter graph (has ownership)
This class describes decoded (raw) audio or video data.
IInputStream * _inputStream
Input stream to read next packet (has link, no ownership)
float _offset
Offset, in seconds, at the beginning of the StreamTranscoder.
IOutputStream & getOutputStream() const
Returns a reference to the stream which wraps data.
IDecoder * getCurrentDecoder() const
Returns a pointer to the current decoder (from input file or from generator)
ITransform * _transform
Video or audio transform (has ownership)