7#include "declarative/PropertyMacros.h"
23 template<
typename PropsT>
26 const std::map<std::string, apra::ScalarPropertyValue>& values,
27 std::vector<std::string>& missingRequired
29 apra::applyProp(props.lowerWaterMark,
"lowerWaterMark", values,
false, missingRequired);
30 apra::applyProp(props.upperWaterMark,
"upperWaterMark", values,
false, missingRequired);
44 bool process(frame_container& frames);
46 void addInputPin(framemetadata_sp& metadata,
string& pinId);
87 void*
prependSpsPps(frame_sp& iFrame,
size_t& spsPpsFrameSize);
CommandType
Definition Command.h:9
Definition H264Decoder.h:10
uint upperWaterMark
Definition H264Decoder.h:18
static void applyProperties(PropsT &props, const std::map< std::string, apra::ScalarPropertyValue > &values, std::vector< std::string > &missingRequired)
Definition H264Decoder.h:24
H264DecoderProps(uint _lowerWaterMark=300, uint _upperWaterMark=350)
Definition H264Decoder.h:12
uint lowerWaterMark
Definition H264Decoder.h:17
Definition H264Decoder.cpp:18
Definition H264Decoder.h:35
void sendDecodedFrame()
Definition H264Decoder.cpp:512
bool resumeBwdPlayback
Definition H264Decoder.h:101
std::deque< frame_sp > latestBackwardGop
Definition H264Decoder.h:70
void flushQue()
Definition H264Decoder.cpp:745
void bufferBackwardEncodedFrames(frame_sp &frame, short naluType)
Definition H264Decoder.cpp:198
void decodeFrameFromBwdGOP()
Definition H264Decoder.cpp:321
float playbackSpeed
Definition H264Decoder.h:97
virtual ~H264Decoder()
Definition H264Decoder.cpp:101
void bufferAndDecodeForwardEncodedFrames(frame_sp &frame, short naluType)
Definition H264Decoder.cpp:220
bool shouldTriggerSOS()
Definition H264Decoder.cpp:729
void saveSpsPps(frame_sp frame)
Definition H264Decoder.cpp:353
bool dirChangedToFwd
Definition H264Decoder.h:78
boost::shared_ptr< Detail > mDetail
Definition H264Decoder.h:59
bool mShouldTriggerSOS
Definition H264Decoder.h:60
int previousFps
Definition H264Decoder.h:96
std::string mOutputPinId
Definition H264Decoder.h:62
bool term()
Definition H264Decoder.cpp:156
void dropFarthestFromCurrentTs(uint64_t ts)
Definition H264Decoder.cpp:587
framemetadata_sp mOutputMetadata
Definition H264Decoder.h:61
bool resumePlayback
Definition H264Decoder.h:102
bool processSOS(frame_sp &frame)
Definition H264Decoder.cpp:651
std::deque< std::deque< frame_sp > > backwardGopBuffer
Definition H264Decoder.h:68
std::map< uint64, frame_sp > decodedFramesCache
Definition H264Decoder.h:75
bool prevFrameInCache
Definition H264Decoder.h:82
bool processEOS(string &pinId)
Definition H264Decoder.cpp:734
int incomingFramesTSQSize
Definition H264Decoder.h:103
bool foundIFrameOfReverseGop
Definition H264Decoder.h:80
bool handleCommand(Command::CommandType type, frame_sp &frame)
Definition H264Decoder.cpp:678
int currentFps
Definition H264Decoder.h:95
bool dirChangedToBwd
Definition H264Decoder.h:79
std::deque< uint64_t > incomingFramesTSQ
Definition H264Decoder.h:84
bool decodePreviousFramesOfTheForwardGop
Definition H264Decoder.h:81
std::deque< frame_sp > latestForwardGop
Definition H264Decoder.h:74
bool validateInputPins()
Definition H264Decoder.cpp:103
boost::asio::const_buffer spsBuffer
Definition H264Decoder.h:90
bool process(frame_container &frames)
Definition H264Decoder.cpp:370
int gop
Definition H264Decoder.h:98
H264Decoder(H264DecoderProps _props)
Definition H264Decoder.cpp:90
void clearIncompleteBwdGopTsFromIncomingTSQ(std::deque< frame_sp > &latestGop)
Definition H264Decoder.cpp:185
std::mutex m
Definition H264Decoder.h:92
void bufferDecodedFrames(frame_sp &frame)
Definition H264Decoder.cpp:582
int iFramesToSkip
Definition H264Decoder.h:94
void addInputPin(framemetadata_sp &metadata, string &pinId)
Definition H264Decoder.cpp:142
uint64_t lastFrameSent
Definition H264Decoder.h:99
bool mDirection
Definition H264Decoder.h:77
boost::asio::const_buffer ppsBuffer
Definition H264Decoder.h:91
void * prependSpsPps(frame_sp &iFrame, size_t &spsPpsFrameSize)
Definition H264Decoder.cpp:166
bool validateOutputPins()
Definition H264Decoder.cpp:123
int framesToSkip
Definition H264Decoder.h:93
frame_sp mHeaderFrame
Definition H264Decoder.h:89
H264DecoderProps mProps
Definition H264Decoder.h:63
bool init()
Definition H264Decoder.cpp:147
bool resumeFwdPlayback
Definition H264Decoder.h:100
void applyProp(T &member, const char *propName, const std::map< std::string, ScalarPropertyValue > &values, bool isRequired, std::vector< std::string > &missingRequired)
Definition PropertyMacros.h:36