28 std::shared_ptr<ffmpegkit::FFmpegSession> session = std::static_pointer_cast<ffmpegkit::FFmpegSession>(std::make_shared<ffmpegkit::FFmpegSession::PublicFFmpegSession>(arguments,
nullptr,
nullptr,
nullptr,
ffmpegkit::FFmpegKitConfig::getLogRedirectionStrategy()));
34 std::shared_ptr<ffmpegkit::FFmpegSession> session = std::static_pointer_cast<ffmpegkit::FFmpegSession>(std::make_shared<ffmpegkit::FFmpegSession::PublicFFmpegSession>(arguments, completeCallback,
nullptr,
nullptr,
ffmpegkit::FFmpegKitConfig::getLogRedirectionStrategy()));
46 std::shared_ptr<ffmpegkit::FFmpegSession> session = std::static_pointer_cast<ffmpegkit::FFmpegSession>(std::make_shared<ffmpegkit::FFmpegSession::PublicFFmpegSession>(arguments, completeCallback,
logCallback,
statisticsCallback, logRedirectionStrategy));
62 return _statisticsCallback;
66 return _completeCallback;
70 this->waitForAsynchronousMessagesInTransmit(waitTimeout);
72 if (this->thereAreAsynchronousMessagesInTransmit()) {
73 std::cout <<
"getAllStatisticsWithTimeout was called to return all statistics but there are still statistics being transmitted for session id " << this->getSessionId() <<
"." << std::endl;
76 return this->getStatistics();
88 if (_statistics->size() > 0) {
89 return _statistics->back();
96 _statistics->push_back(statistics);
void addSessionToSessionHistory(const std::shared_ptr< ffmpegkit::Session > session)
static ffmpegkit::LogCallback logCallback
static ffmpegkit::StatisticsCallback statisticsCallback
void addSessionToSessionHistory(const std::shared_ptr< ffmpegkit::Session > session)
static constexpr int DefaultTimeoutForAsynchronousMessagesInTransmit
static LogRedirectionStrategy getLogRedirectionStrategy()
FFmpegSession(const std::list< std::string > &arguments, ffmpegkit::FFmpegSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback, ffmpegkit::StatisticsCallback statisticsCallback, ffmpegkit::LogRedirectionStrategy logRedirectionStrategy)
ffmpegkit::StatisticsCallback getStatisticsCallback()
bool isFFprobe() const override
void addStatistics(const std::shared_ptr< ffmpegkit::Statistics > statistics)
std::shared_ptr< std::list< std::shared_ptr< ffmpegkit::Statistics > > > getAllStatistics()
ffmpegkit::FFmpegSessionCompleteCallback getCompleteCallback()
bool isFFmpeg() const override
std::shared_ptr< ffmpegkit::Statistics > getLastReceivedStatistics()
std::shared_ptr< std::list< std::shared_ptr< ffmpegkit::Statistics > > > getAllStatisticsWithTimeout(const int waitTimeout)
bool isMediaInformation() const override
std::shared_ptr< std::list< std::shared_ptr< ffmpegkit::Statistics > > > getStatistics()
static std::shared_ptr< ffmpegkit::FFmpegSession > create(const std::list< std::string > &arguments)
std::function< void(const std::shared_ptr< ffmpegkit::Statistics > statistics)> StatisticsCallback
std::function< void(const std::shared_ptr< ffmpegkit::Log > log)> LogCallback
std::function< void(const std::shared_ptr< ffmpegkit::FFmpegSession > session)> FFmpegSessionCompleteCallback