update argument list types in linux api

This commit is contained in:
Taner Sener 2022-08-24 04:21:13 +01:00
parent ae01db54bc
commit b7eba6d709
14 changed files with 53 additions and 64 deletions

View File

@ -33,8 +33,8 @@ static std::atomic<long> sessionIdGenerator(1);
extern void addSessionToSessionHistory(const std::shared_ptr<ffmpegkit::Session> session); extern void addSessionToSessionHistory(const std::shared_ptr<ffmpegkit::Session> session);
ffmpegkit::AbstractSession::AbstractSession(const std::shared_ptr<std::list<std::string>> arguments, const ffmpegkit::LogCallback logCallback, const LogRedirectionStrategy logRedirectionStrategy) : ffmpegkit::AbstractSession::AbstractSession(const std::list<std::string>& arguments, const ffmpegkit::LogCallback logCallback, const LogRedirectionStrategy logRedirectionStrategy) :
_arguments{arguments}, _arguments{std::make_shared<std::list<std::string>>(arguments)},
_sessionId{sessionIdGenerator++}, _sessionId{sessionIdGenerator++},
_logCallback{logCallback}, _logCallback{logCallback},
_createTime{std::chrono::system_clock::now()}, _createTime{std::chrono::system_clock::now()},

View File

@ -43,7 +43,7 @@ namespace ffmpegkit {
* @param logCallback session specific log callback * @param logCallback session specific log callback
* @param logRedirectionStrategy session specific log redirection strategy * @param logRedirectionStrategy session specific log redirection strategy
*/ */
AbstractSession(const std::shared_ptr<std::list<std::string>> arguments, const ffmpegkit::LogCallback logCallback, const LogRedirectionStrategy logRedirectionStrategy); AbstractSession(const std::list<std::string>& arguments, const ffmpegkit::LogCallback logCallback, const LogRedirectionStrategy logRedirectionStrategy);
/** /**
* Waits for all asynchronous messages to be transmitted until the given timeout. * Waits for all asynchronous messages to be transmitted until the given timeout.

View File

@ -29,19 +29,19 @@ extern void* ffmpegKitInitialize();
const void* _ffmpegKitInitializeri{ffmpegKitInitialize()}; const void* _ffmpegKitInitializeri{ffmpegKitInitialize()};
std::shared_ptr<ffmpegkit::FFmpegSession> ffmpegkit::FFmpegKit::executeWithArguments(const std::shared_ptr<std::list<std::string>> arguments) { std::shared_ptr<ffmpegkit::FFmpegSession> ffmpegkit::FFmpegKit::executeWithArguments(const std::list<std::string>& arguments) {
auto session = ffmpegkit::FFmpegSession::create(arguments); auto session = ffmpegkit::FFmpegSession::create(arguments);
ffmpegkit::FFmpegKitConfig::ffmpegExecute(session); ffmpegkit::FFmpegKitConfig::ffmpegExecute(session);
return session; return session;
} }
std::shared_ptr<ffmpegkit::FFmpegSession> ffmpegkit::FFmpegKit::executeWithArgumentsAsync(const std::shared_ptr<std::list<std::string>> arguments, FFmpegSessionCompleteCallback completeCallback) { std::shared_ptr<ffmpegkit::FFmpegSession> ffmpegkit::FFmpegKit::executeWithArgumentsAsync(const std::list<std::string>& arguments, FFmpegSessionCompleteCallback completeCallback) {
auto session = ffmpegkit::FFmpegSession::create(arguments, completeCallback); auto session = ffmpegkit::FFmpegSession::create(arguments, completeCallback);
ffmpegkit::FFmpegKitConfig::asyncFFmpegExecute(session); ffmpegkit::FFmpegKitConfig::asyncFFmpegExecute(session);
return session; return session;
} }
std::shared_ptr<ffmpegkit::FFmpegSession> ffmpegkit::FFmpegKit::executeWithArgumentsAsync(const std::shared_ptr<std::list<std::string>> arguments, FFmpegSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback, ffmpegkit::StatisticsCallback statisticsCallback) { std::shared_ptr<ffmpegkit::FFmpegSession> ffmpegkit::FFmpegKit::executeWithArgumentsAsync(const std::list<std::string>& arguments, FFmpegSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback, ffmpegkit::StatisticsCallback statisticsCallback) {
auto session = ffmpegkit::FFmpegSession::create(arguments, completeCallback, logCallback, statisticsCallback); auto session = ffmpegkit::FFmpegSession::create(arguments, completeCallback, logCallback, statisticsCallback);
ffmpegkit::FFmpegKitConfig::asyncFFmpegExecute(session); ffmpegkit::FFmpegKitConfig::asyncFFmpegExecute(session);
return session; return session;

View File

@ -50,7 +50,7 @@ namespace ffmpegkit {
* @param arguments FFmpeg command options/arguments as string list * @param arguments FFmpeg command options/arguments as string list
* @return FFmpeg session created for this execution * @return FFmpeg session created for this execution
*/ */
static std::shared_ptr<ffmpegkit::FFmpegSession> executeWithArguments(const std::shared_ptr<std::list<std::string>> arguments); static std::shared_ptr<ffmpegkit::FFmpegSession> executeWithArguments(const std::list<std::string>& arguments);
/** /**
* <p>Starts an asynchronous FFmpeg execution with arguments provided. * <p>Starts an asynchronous FFmpeg execution with arguments provided.
@ -62,7 +62,7 @@ namespace ffmpegkit {
* @param completeCallback callback that will be called when the execution has completed * @param completeCallback callback that will be called when the execution has completed
* @return FFmpeg session created for this execution * @return FFmpeg session created for this execution
*/ */
static std::shared_ptr<ffmpegkit::FFmpegSession> executeWithArgumentsAsync(const std::shared_ptr<std::list<std::string>> arguments, FFmpegSessionCompleteCallback completeCallback); static std::shared_ptr<ffmpegkit::FFmpegSession> executeWithArgumentsAsync(const std::list<std::string>& arguments, FFmpegSessionCompleteCallback completeCallback);
/** /**
* <p>Starts an asynchronous FFmpeg execution with arguments provided. * <p>Starts an asynchronous FFmpeg execution with arguments provided.
@ -76,7 +76,7 @@ namespace ffmpegkit {
* @param statisticsCallback callback that will receive statistics * @param statisticsCallback callback that will receive statistics
* @return FFmpeg session created for this execution * @return FFmpeg session created for this execution
*/ */
static std::shared_ptr<ffmpegkit::FFmpegSession> executeWithArgumentsAsync(const std::shared_ptr<std::list<std::string>> arguments, FFmpegSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback, ffmpegkit::StatisticsCallback statisticsCallback); static std::shared_ptr<ffmpegkit::FFmpegSession> executeWithArgumentsAsync(const std::list<std::string>& arguments, FFmpegSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback, ffmpegkit::StatisticsCallback statisticsCallback);
/** /**
* <p>Synchronously executes FFmpeg command provided. Space character is used to split command * <p>Synchronously executes FFmpeg command provided. Space character is used to split command

View File

@ -1350,8 +1350,8 @@ std::string ffmpegkit::FFmpegKitConfig::sessionStateToString(SessionState state)
} }
} }
std::shared_ptr<std::list<std::string>> ffmpegkit::FFmpegKitConfig::parseArguments(const std::string& command) { std::list<std::string> ffmpegkit::FFmpegKitConfig::parseArguments(const std::string& command) {
auto argumentList = std::make_shared<std::list<std::string>>(); std::list<std::string> argumentList;
std::string currentArgument; std::string currentArgument;
bool singleQuoteStarted = false; bool singleQuoteStarted = false;
@ -1370,7 +1370,7 @@ std::shared_ptr<std::list<std::string>> ffmpegkit::FFmpegKitConfig::parseArgumen
if (singleQuoteStarted || doubleQuoteStarted) { if (singleQuoteStarted || doubleQuoteStarted) {
currentArgument += currentChar; currentArgument += currentChar;
} else if (currentArgument.size() > 0) { } else if (currentArgument.size() > 0) {
argumentList->push_back(currentArgument); argumentList.push_back(currentArgument);
currentArgument = ""; currentArgument = "";
} }
} else if (currentChar == '\'' && (previousChar == 0 || previousChar != '\\')) { } else if (currentChar == '\'' && (previousChar == 0 || previousChar != '\\')) {
@ -1395,7 +1395,7 @@ std::shared_ptr<std::list<std::string>> ffmpegkit::FFmpegKitConfig::parseArgumen
} }
if (currentArgument.size() > 0) { if (currentArgument.size() > 0) {
argumentList->push_back(currentArgument); argumentList.push_back(currentArgument);
} }
return argumentList; return argumentList;

View File

@ -414,7 +414,7 @@ namespace ffmpegkit {
* @param command string command * @param command string command
* @return list of arguments * @return list of arguments
*/ */
static std::shared_ptr<std::list<std::string>> parseArguments(const std::string& command); static std::list<std::string> parseArguments(const std::string& command);
/** /**
* <p>Concatenates arguments into a string adding a space character between two arguments. * <p>Concatenates arguments into a string adding a space character between two arguments.

View File

@ -24,37 +24,37 @@
extern void addSessionToSessionHistory(const std::shared_ptr<ffmpegkit::Session> session); extern void addSessionToSessionHistory(const std::shared_ptr<ffmpegkit::Session> session);
std::shared_ptr<ffmpegkit::FFmpegSession> ffmpegkit::FFmpegSession::create(const std::shared_ptr<std::list<std::string>> arguments) { std::shared_ptr<ffmpegkit::FFmpegSession> ffmpegkit::FFmpegSession::create(const std::list<std::string>& arguments) {
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())); 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()));
addSessionToSessionHistory(session); addSessionToSessionHistory(session);
return session; return session;
} }
std::shared_ptr<ffmpegkit::FFmpegSession> ffmpegkit::FFmpegSession::create(const std::shared_ptr<std::list<std::string>> arguments, FFmpegSessionCompleteCallback completeCallback) { std::shared_ptr<ffmpegkit::FFmpegSession> ffmpegkit::FFmpegSession::create(const std::list<std::string>& arguments, FFmpegSessionCompleteCallback completeCallback) {
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())); 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()));
addSessionToSessionHistory(session); addSessionToSessionHistory(session);
return session; return session;
} }
std::shared_ptr<ffmpegkit::FFmpegSession> ffmpegkit::FFmpegSession::create(const std::shared_ptr<std::list<std::string>> arguments, FFmpegSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback, ffmpegkit::StatisticsCallback statisticsCallback) { std::shared_ptr<ffmpegkit::FFmpegSession> ffmpegkit::FFmpegSession::create(const std::list<std::string>& arguments, FFmpegSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback, ffmpegkit::StatisticsCallback statisticsCallback) {
std::shared_ptr<ffmpegkit::FFmpegSession> session = std::static_pointer_cast<ffmpegkit::FFmpegSession>(std::make_shared<ffmpegkit::FFmpegSession::PublicFFmpegSession>(arguments, completeCallback, logCallback, statisticsCallback, ffmpegkit::FFmpegKitConfig::getLogRedirectionStrategy())); std::shared_ptr<ffmpegkit::FFmpegSession> session = std::static_pointer_cast<ffmpegkit::FFmpegSession>(std::make_shared<ffmpegkit::FFmpegSession::PublicFFmpegSession>(arguments, completeCallback, logCallback, statisticsCallback, ffmpegkit::FFmpegKitConfig::getLogRedirectionStrategy()));
addSessionToSessionHistory(session); addSessionToSessionHistory(session);
return session; return session;
} }
std::shared_ptr<ffmpegkit::FFmpegSession> ffmpegkit::FFmpegSession::create(const std::shared_ptr<std::list<std::string>> arguments, FFmpegSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback, ffmpegkit::StatisticsCallback statisticsCallback, LogRedirectionStrategy logRedirectionStrategy) { std::shared_ptr<ffmpegkit::FFmpegSession> ffmpegkit::FFmpegSession::create(const std::list<std::string>& arguments, FFmpegSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback, ffmpegkit::StatisticsCallback statisticsCallback, LogRedirectionStrategy logRedirectionStrategy) {
std::shared_ptr<ffmpegkit::FFmpegSession> session = std::static_pointer_cast<ffmpegkit::FFmpegSession>(std::make_shared<ffmpegkit::FFmpegSession::PublicFFmpegSession>(arguments, completeCallback, logCallback, statisticsCallback, logRedirectionStrategy)); std::shared_ptr<ffmpegkit::FFmpegSession> session = std::static_pointer_cast<ffmpegkit::FFmpegSession>(std::make_shared<ffmpegkit::FFmpegSession::PublicFFmpegSession>(arguments, completeCallback, logCallback, statisticsCallback, logRedirectionStrategy));
addSessionToSessionHistory(session); addSessionToSessionHistory(session);
return session; return session;
} }
struct ffmpegkit::FFmpegSession::PublicFFmpegSession : public ffmpegkit::FFmpegSession { struct ffmpegkit::FFmpegSession::PublicFFmpegSession : public ffmpegkit::FFmpegSession {
PublicFFmpegSession(const std::shared_ptr<std::list<std::string>> arguments, FFmpegSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback, ffmpegkit::StatisticsCallback statisticsCallback, LogRedirectionStrategy logRedirectionStrategy) : PublicFFmpegSession(const std::list<std::string>& arguments, FFmpegSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback, ffmpegkit::StatisticsCallback statisticsCallback, LogRedirectionStrategy logRedirectionStrategy) :
FFmpegSession(arguments, completeCallback, logCallback, statisticsCallback, logRedirectionStrategy) { FFmpegSession(arguments, completeCallback, logCallback, statisticsCallback, logRedirectionStrategy) {
} }
}; };
ffmpegkit::FFmpegSession::FFmpegSession(const std::shared_ptr<std::list<std::string>> arguments, FFmpegSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback, ffmpegkit::StatisticsCallback statisticsCallback, LogRedirectionStrategy logRedirectionStrategy) : ffmpegkit::FFmpegSession::FFmpegSession(const std::list<std::string>& arguments, FFmpegSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback, ffmpegkit::StatisticsCallback statisticsCallback, LogRedirectionStrategy logRedirectionStrategy) :
ffmpegkit::AbstractSession(arguments, logCallback, logRedirectionStrategy), _completeCallback{completeCallback}, _statisticsCallback{statisticsCallback}, _statistics{std::make_shared<std::list<std::shared_ptr<ffmpegkit::Statistics>>>()} { ffmpegkit::AbstractSession(arguments, logCallback, logRedirectionStrategy), _completeCallback{completeCallback}, _statisticsCallback{statisticsCallback}, _statistics{std::make_shared<std::list<std::shared_ptr<ffmpegkit::Statistics>>>()} {
} }

View File

@ -37,7 +37,7 @@ namespace ffmpegkit {
* *
* @param arguments command arguments * @param arguments command arguments
*/ */
static std::shared_ptr<ffmpegkit::FFmpegSession> create(const std::shared_ptr<std::list<std::string>> arguments); static std::shared_ptr<ffmpegkit::FFmpegSession> create(const std::list<std::string>& arguments);
/** /**
* Builds a new FFmpeg session. * Builds a new FFmpeg session.
@ -45,7 +45,7 @@ namespace ffmpegkit {
* @param arguments command arguments * @param arguments command arguments
* @param completeCallback session specific complete callback * @param completeCallback session specific complete callback
*/ */
static std::shared_ptr<ffmpegkit::FFmpegSession> create(const std::shared_ptr<std::list<std::string>> arguments, ffmpegkit::FFmpegSessionCompleteCallback completeCallback); static std::shared_ptr<ffmpegkit::FFmpegSession> create(const std::list<std::string>& arguments, ffmpegkit::FFmpegSessionCompleteCallback completeCallback);
/** /**
* Builds a new FFmpeg session. * Builds a new FFmpeg session.
@ -55,7 +55,7 @@ namespace ffmpegkit {
* @param logCallback session specific log callback * @param logCallback session specific log callback
* @param statisticsCallback session specific statistics callback * @param statisticsCallback session specific statistics callback
*/ */
static std::shared_ptr<ffmpegkit::FFmpegSession> create(const std::shared_ptr<std::list<std::string>> arguments, ffmpegkit::FFmpegSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback, ffmpegkit::StatisticsCallback statisticsCallback); static std::shared_ptr<ffmpegkit::FFmpegSession> create(const std::list<std::string>& arguments, ffmpegkit::FFmpegSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback, ffmpegkit::StatisticsCallback statisticsCallback);
/** /**
* Builds a new FFmpeg session. * Builds a new FFmpeg session.
@ -66,7 +66,7 @@ namespace ffmpegkit {
* @param statisticsCallback session specific statistics callback * @param statisticsCallback session specific statistics callback
* @param logRedirectionStrategy session specific log redirection strategy * @param logRedirectionStrategy session specific log redirection strategy
*/ */
static std::shared_ptr<ffmpegkit::FFmpegSession> create(const std::shared_ptr<std::list<std::string>> arguments, ffmpegkit::FFmpegSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback, ffmpegkit::StatisticsCallback statisticsCallback, ffmpegkit::LogRedirectionStrategy logRedirectionStrategy); static std::shared_ptr<ffmpegkit::FFmpegSession> create(const std::list<std::string>& arguments, ffmpegkit::FFmpegSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback, ffmpegkit::StatisticsCallback statisticsCallback, ffmpegkit::LogRedirectionStrategy logRedirectionStrategy);
/** /**
* Returns the session specific statistics callback. * Returns the session specific statistics callback.
@ -159,7 +159,7 @@ namespace ffmpegkit {
* @param statisticsCallback session specific statistics callback * @param statisticsCallback session specific statistics callback
* @param logRedirectionStrategy session specific log redirection strategy * @param logRedirectionStrategy session specific log redirection strategy
*/ */
FFmpegSession(const std::shared_ptr<std::list<std::string>> arguments, ffmpegkit::FFmpegSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback, ffmpegkit::StatisticsCallback statisticsCallback, ffmpegkit::LogRedirectionStrategy logRedirectionStrategy); FFmpegSession(const std::list<std::string>& arguments, ffmpegkit::FFmpegSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback, ffmpegkit::StatisticsCallback statisticsCallback, ffmpegkit::LogRedirectionStrategy logRedirectionStrategy);
ffmpegkit::StatisticsCallback _statisticsCallback; ffmpegkit::StatisticsCallback _statisticsCallback;
FFmpegSessionCompleteCallback _completeCallback; FFmpegSessionCompleteCallback _completeCallback;

View File

@ -26,34 +26,23 @@ extern void* ffmpegKitInitialize();
const void* _ffprobeKitInitializer{ffmpegKitInitialize()}; const void* _ffprobeKitInitializer{ffmpegKitInitialize()};
static std::shared_ptr<std::list<std::string>> defaultGetMediaInformationCommandArguments(const std::string& path) { static std::list<std::string> defaultGetMediaInformationCommandArguments(const std::string& path) {
std::shared_ptr<std::list<std::string>> arguments = std::make_shared<std::list<std::string>>(); return std::list<std::string>{"-v", "error", "-hide_banner", "-print_format", "json", "-show_format", "-show_streams", "-show_chapters", "-i", path};
arguments->push_back(std::string("-v"));
arguments->push_back(std::string("error"));
arguments->push_back(std::string("-hide_banner"));
arguments->push_back(std::string("-print_format"));
arguments->push_back(std::string("json"));
arguments->push_back(std::string("-show_format"));
arguments->push_back(std::string("-show_streams"));
arguments->push_back(std::string("-show_chapters"));
arguments->push_back(std::string("-i"));
arguments->push_back(path);
return arguments;
} }
std::shared_ptr<ffmpegkit::FFprobeSession> ffmpegkit::FFprobeKit::executeWithArguments(const std::shared_ptr<std::list<std::string>> arguments) { std::shared_ptr<ffmpegkit::FFprobeSession> ffmpegkit::FFprobeKit::executeWithArguments(const std::list<std::string>& arguments) {
auto session = ffmpegkit::FFprobeSession::create(arguments); auto session = ffmpegkit::FFprobeSession::create(arguments);
ffmpegkit::FFmpegKitConfig::ffprobeExecute(session); ffmpegkit::FFmpegKitConfig::ffprobeExecute(session);
return session; return session;
} }
std::shared_ptr<ffmpegkit::FFprobeSession> ffmpegkit::FFprobeKit::executeWithArgumentsAsync(const std::shared_ptr<std::list<std::string>> arguments, FFprobeSessionCompleteCallback completeCallback) { std::shared_ptr<ffmpegkit::FFprobeSession> ffmpegkit::FFprobeKit::executeWithArgumentsAsync(const std::list<std::string>& arguments, FFprobeSessionCompleteCallback completeCallback) {
auto session = ffmpegkit::FFprobeSession::create(arguments, completeCallback); auto session = ffmpegkit::FFprobeSession::create(arguments, completeCallback);
ffmpegkit::FFmpegKitConfig::asyncFFprobeExecute(session); ffmpegkit::FFmpegKitConfig::asyncFFprobeExecute(session);
return session; return session;
} }
std::shared_ptr<ffmpegkit::FFprobeSession> ffmpegkit::FFprobeKit::executeWithArgumentsAsync(const std::shared_ptr<std::list<std::string>> arguments, FFprobeSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback) { std::shared_ptr<ffmpegkit::FFprobeSession> ffmpegkit::FFprobeKit::executeWithArgumentsAsync(const std::list<std::string>& arguments, FFprobeSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback) {
auto session = ffmpegkit::FFprobeSession::create(arguments, completeCallback, logCallback); auto session = ffmpegkit::FFprobeSession::create(arguments, completeCallback, logCallback);
ffmpegkit::FFmpegKitConfig::asyncFFprobeExecute(session); ffmpegkit::FFmpegKitConfig::asyncFFprobeExecute(session);
return session; return session;

View File

@ -54,7 +54,7 @@ namespace ffmpegkit {
* @param arguments FFprobe command options/arguments as string array * @param arguments FFprobe command options/arguments as string array
* @return FFprobe session created for this execution * @return FFprobe session created for this execution
*/ */
static std::shared_ptr<ffmpegkit::FFprobeSession> executeWithArguments(const std::shared_ptr<std::list<std::string>> arguments); static std::shared_ptr<ffmpegkit::FFprobeSession> executeWithArguments(const std::list<std::string>& arguments);
/** /**
* <p>Starts an asynchronous FFprobe execution with arguments provided. * <p>Starts an asynchronous FFprobe execution with arguments provided.
@ -66,7 +66,7 @@ namespace ffmpegkit {
* @param completeCallback callback that will be called when the execution has completed * @param completeCallback callback that will be called when the execution has completed
* @return FFprobe session created for this execution * @return FFprobe session created for this execution
*/ */
static std::shared_ptr<ffmpegkit::FFprobeSession> executeWithArgumentsAsync(const std::shared_ptr<std::list<std::string>> arguments, FFprobeSessionCompleteCallback completeCallback); static std::shared_ptr<ffmpegkit::FFprobeSession> executeWithArgumentsAsync(const std::list<std::string>& arguments, FFprobeSessionCompleteCallback completeCallback);
/** /**
* <p>Starts an asynchronous FFprobe execution with arguments provided. * <p>Starts an asynchronous FFprobe execution with arguments provided.
@ -79,7 +79,7 @@ namespace ffmpegkit {
* @param logCallback callback that will receive logs * @param logCallback callback that will receive logs
* @return FFprobe session created for this execution * @return FFprobe session created for this execution
*/ */
static std::shared_ptr<ffmpegkit::FFprobeSession> executeWithArgumentsAsync(const std::shared_ptr<std::list<std::string>> arguments, FFprobeSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback); static std::shared_ptr<ffmpegkit::FFprobeSession> executeWithArgumentsAsync(const std::list<std::string>& arguments, FFprobeSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback);
/** /**
* <p>Synchronously executes FFprobe command provided. Space character is used to split command * <p>Synchronously executes FFprobe command provided. Space character is used to split command

View File

@ -23,37 +23,37 @@
extern void addSessionToSessionHistory(const std::shared_ptr<ffmpegkit::Session> session); extern void addSessionToSessionHistory(const std::shared_ptr<ffmpegkit::Session> session);
std::shared_ptr<ffmpegkit::FFprobeSession> ffmpegkit::FFprobeSession::create(const std::shared_ptr<std::list<std::string>> arguments) { std::shared_ptr<ffmpegkit::FFprobeSession> ffmpegkit::FFprobeSession::create(const std::list<std::string>& arguments) {
auto session = std::static_pointer_cast<ffmpegkit::FFprobeSession>(std::make_shared<ffmpegkit::FFprobeSession::PublicFFprobeSession>(arguments, nullptr, nullptr, ffmpegkit::FFmpegKitConfig::getLogRedirectionStrategy())); auto session = std::static_pointer_cast<ffmpegkit::FFprobeSession>(std::make_shared<ffmpegkit::FFprobeSession::PublicFFprobeSession>(arguments, nullptr, nullptr, ffmpegkit::FFmpegKitConfig::getLogRedirectionStrategy()));
addSessionToSessionHistory(session); addSessionToSessionHistory(session);
return session; return session;
} }
std::shared_ptr<ffmpegkit::FFprobeSession> ffmpegkit::FFprobeSession::create(const std::shared_ptr<std::list<std::string>> arguments, const FFprobeSessionCompleteCallback completeCallback) { std::shared_ptr<ffmpegkit::FFprobeSession> ffmpegkit::FFprobeSession::create(const std::list<std::string>& arguments, const FFprobeSessionCompleteCallback completeCallback) {
auto session = std::static_pointer_cast<ffmpegkit::FFprobeSession>(std::make_shared<ffmpegkit::FFprobeSession::PublicFFprobeSession>(arguments, completeCallback, nullptr, ffmpegkit::FFmpegKitConfig::getLogRedirectionStrategy())); auto session = std::static_pointer_cast<ffmpegkit::FFprobeSession>(std::make_shared<ffmpegkit::FFprobeSession::PublicFFprobeSession>(arguments, completeCallback, nullptr, ffmpegkit::FFmpegKitConfig::getLogRedirectionStrategy()));
addSessionToSessionHistory(session); addSessionToSessionHistory(session);
return session; return session;
} }
std::shared_ptr<ffmpegkit::FFprobeSession> ffmpegkit::FFprobeSession::create(const std::shared_ptr<std::list<std::string>> arguments, const FFprobeSessionCompleteCallback completeCallback, const ffmpegkit::LogCallback logCallback) { std::shared_ptr<ffmpegkit::FFprobeSession> ffmpegkit::FFprobeSession::create(const std::list<std::string>& arguments, const FFprobeSessionCompleteCallback completeCallback, const ffmpegkit::LogCallback logCallback) {
auto session = std::static_pointer_cast<ffmpegkit::FFprobeSession>(std::make_shared<ffmpegkit::FFprobeSession::PublicFFprobeSession>(arguments, completeCallback, logCallback, ffmpegkit::FFmpegKitConfig::getLogRedirectionStrategy())); auto session = std::static_pointer_cast<ffmpegkit::FFprobeSession>(std::make_shared<ffmpegkit::FFprobeSession::PublicFFprobeSession>(arguments, completeCallback, logCallback, ffmpegkit::FFmpegKitConfig::getLogRedirectionStrategy()));
addSessionToSessionHistory(session); addSessionToSessionHistory(session);
return session; return session;
} }
std::shared_ptr<ffmpegkit::FFprobeSession> ffmpegkit::FFprobeSession::create(const std::shared_ptr<std::list<std::string>> arguments, const FFprobeSessionCompleteCallback completeCallback, const ffmpegkit::LogCallback logCallback, const LogRedirectionStrategy logRedirectionStrategy) { std::shared_ptr<ffmpegkit::FFprobeSession> ffmpegkit::FFprobeSession::create(const std::list<std::string>& arguments, const FFprobeSessionCompleteCallback completeCallback, const ffmpegkit::LogCallback logCallback, const LogRedirectionStrategy logRedirectionStrategy) {
auto session = std::static_pointer_cast<ffmpegkit::FFprobeSession>(std::make_shared<ffmpegkit::FFprobeSession::PublicFFprobeSession>(arguments, completeCallback, logCallback, logRedirectionStrategy)); auto session = std::static_pointer_cast<ffmpegkit::FFprobeSession>(std::make_shared<ffmpegkit::FFprobeSession::PublicFFprobeSession>(arguments, completeCallback, logCallback, logRedirectionStrategy));
addSessionToSessionHistory(session); addSessionToSessionHistory(session);
return session; return session;
} }
struct ffmpegkit::FFprobeSession::PublicFFprobeSession : public ffmpegkit::FFprobeSession { struct ffmpegkit::FFprobeSession::PublicFFprobeSession : public ffmpegkit::FFprobeSession {
PublicFFprobeSession(const std::shared_ptr<std::list<std::string>> arguments, const FFprobeSessionCompleteCallback completeCallback, const ffmpegkit::LogCallback logCallback, const LogRedirectionStrategy logRedirectionStrategy) : PublicFFprobeSession(const std::list<std::string>& arguments, const FFprobeSessionCompleteCallback completeCallback, const ffmpegkit::LogCallback logCallback, const LogRedirectionStrategy logRedirectionStrategy) :
FFprobeSession(arguments, completeCallback, logCallback, logRedirectionStrategy) { FFprobeSession(arguments, completeCallback, logCallback, logRedirectionStrategy) {
} }
}; };
ffmpegkit::FFprobeSession::FFprobeSession(const std::shared_ptr<std::list<std::string>> arguments, const FFprobeSessionCompleteCallback completeCallback, const ffmpegkit::LogCallback logCallback, const LogRedirectionStrategy logRedirectionStrategy) : ffmpegkit::FFprobeSession::FFprobeSession(const std::list<std::string>& arguments, const FFprobeSessionCompleteCallback completeCallback, const ffmpegkit::LogCallback logCallback, const LogRedirectionStrategy logRedirectionStrategy) :
ffmpegkit::AbstractSession(arguments, logCallback, logRedirectionStrategy), _completeCallback{completeCallback} { ffmpegkit::AbstractSession(arguments, logCallback, logRedirectionStrategy), _completeCallback{completeCallback} {
} }

View File

@ -36,7 +36,7 @@ namespace ffmpegkit {
* *
* @param arguments command arguments * @param arguments command arguments
*/ */
static std::shared_ptr<ffmpegkit::FFprobeSession> create(const std::shared_ptr<std::list<std::string>> arguments); static std::shared_ptr<ffmpegkit::FFprobeSession> create(const std::list<std::string>& arguments);
/** /**
* Builds a new FFprobe session. * Builds a new FFprobe session.
@ -44,7 +44,7 @@ namespace ffmpegkit {
* @param arguments command arguments * @param arguments command arguments
* @param completeCallback session specific complete callback * @param completeCallback session specific complete callback
*/ */
static std::shared_ptr<ffmpegkit::FFprobeSession> create(const std::shared_ptr<std::list<std::string>> arguments, const FFprobeSessionCompleteCallback completeCallback); static std::shared_ptr<ffmpegkit::FFprobeSession> create(const std::list<std::string>& arguments, const FFprobeSessionCompleteCallback completeCallback);
/** /**
* Builds a new FFprobe session. * Builds a new FFprobe session.
@ -53,7 +53,7 @@ namespace ffmpegkit {
* @param completeCallback session specific complete callback * @param completeCallback session specific complete callback
* @param logCallback session specific log callback * @param logCallback session specific log callback
*/ */
static std::shared_ptr<ffmpegkit::FFprobeSession> create(const std::shared_ptr<std::list<std::string>> arguments, const FFprobeSessionCompleteCallback completeCallback, const ffmpegkit::LogCallback logCallback); static std::shared_ptr<ffmpegkit::FFprobeSession> create(const std::list<std::string>& arguments, const FFprobeSessionCompleteCallback completeCallback, const ffmpegkit::LogCallback logCallback);
/** /**
* Builds a new FFprobe session. * Builds a new FFprobe session.
@ -63,7 +63,7 @@ namespace ffmpegkit {
* @param logCallback session specific log callback * @param logCallback session specific log callback
* @param logRedirectionStrategy session specific log redirection strategy * @param logRedirectionStrategy session specific log redirection strategy
*/ */
static std::shared_ptr<ffmpegkit::FFprobeSession> create(const std::shared_ptr<std::list<std::string>> arguments, const FFprobeSessionCompleteCallback completeCallback, const ffmpegkit::LogCallback logCallback, const LogRedirectionStrategy logRedirectionStrategy); static std::shared_ptr<ffmpegkit::FFprobeSession> create(const std::list<std::string>& arguments, const FFprobeSessionCompleteCallback completeCallback, const ffmpegkit::LogCallback logCallback, const LogRedirectionStrategy logRedirectionStrategy);
/** /**
* Returns the session specific complete callback. * Returns the session specific complete callback.
@ -105,7 +105,7 @@ namespace ffmpegkit {
* @param logCallback session specific log callback * @param logCallback session specific log callback
* @param logRedirectionStrategy session specific log redirection strategy * @param logRedirectionStrategy session specific log redirection strategy
*/ */
FFprobeSession(const std::shared_ptr<std::list<std::string>> arguments, const FFprobeSessionCompleteCallback completeCallback, const ffmpegkit::LogCallback logCallback, const LogRedirectionStrategy logRedirectionStrategy); FFprobeSession(const std::list<std::string>& arguments, const FFprobeSessionCompleteCallback completeCallback, const ffmpegkit::LogCallback logCallback, const LogRedirectionStrategy logRedirectionStrategy);
FFprobeSessionCompleteCallback _completeCallback; FFprobeSessionCompleteCallback _completeCallback;
}; };

View File

@ -23,31 +23,31 @@
extern void addSessionToSessionHistory(const std::shared_ptr<ffmpegkit::Session> session); extern void addSessionToSessionHistory(const std::shared_ptr<ffmpegkit::Session> session);
std::shared_ptr<ffmpegkit::MediaInformationSession> ffmpegkit::MediaInformationSession::create(const std::shared_ptr<std::list<std::string>> arguments) { std::shared_ptr<ffmpegkit::MediaInformationSession> ffmpegkit::MediaInformationSession::create(const std::list<std::string>& arguments) {
auto session = std::static_pointer_cast<ffmpegkit::MediaInformationSession>(std::make_shared<ffmpegkit::MediaInformationSession::PublicMediaInformationSession>(arguments, nullptr, nullptr)); auto session = std::static_pointer_cast<ffmpegkit::MediaInformationSession>(std::make_shared<ffmpegkit::MediaInformationSession::PublicMediaInformationSession>(arguments, nullptr, nullptr));
addSessionToSessionHistory(session); addSessionToSessionHistory(session);
return session; return session;
} }
std::shared_ptr<ffmpegkit::MediaInformationSession> ffmpegkit::MediaInformationSession::create(const std::shared_ptr<std::list<std::string>> arguments, ffmpegkit::MediaInformationSessionCompleteCallback completeCallback) { std::shared_ptr<ffmpegkit::MediaInformationSession> ffmpegkit::MediaInformationSession::create(const std::list<std::string>& arguments, ffmpegkit::MediaInformationSessionCompleteCallback completeCallback) {
auto session = std::static_pointer_cast<ffmpegkit::MediaInformationSession>(std::make_shared<ffmpegkit::MediaInformationSession::PublicMediaInformationSession>(arguments, completeCallback, nullptr)); auto session = std::static_pointer_cast<ffmpegkit::MediaInformationSession>(std::make_shared<ffmpegkit::MediaInformationSession::PublicMediaInformationSession>(arguments, completeCallback, nullptr));
addSessionToSessionHistory(session); addSessionToSessionHistory(session);
return session; return session;
} }
std::shared_ptr<ffmpegkit::MediaInformationSession> ffmpegkit::MediaInformationSession::create(const std::shared_ptr<std::list<std::string>> arguments, ffmpegkit::MediaInformationSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback) { std::shared_ptr<ffmpegkit::MediaInformationSession> ffmpegkit::MediaInformationSession::create(const std::list<std::string>& arguments, ffmpegkit::MediaInformationSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback) {
auto session = std::static_pointer_cast<ffmpegkit::MediaInformationSession>(std::make_shared<ffmpegkit::MediaInformationSession::PublicMediaInformationSession>(arguments, completeCallback, logCallback)); auto session = std::static_pointer_cast<ffmpegkit::MediaInformationSession>(std::make_shared<ffmpegkit::MediaInformationSession::PublicMediaInformationSession>(arguments, completeCallback, logCallback));
addSessionToSessionHistory(session); addSessionToSessionHistory(session);
return session; return session;
} }
struct ffmpegkit::MediaInformationSession::PublicMediaInformationSession : public ffmpegkit::MediaInformationSession { struct ffmpegkit::MediaInformationSession::PublicMediaInformationSession : public ffmpegkit::MediaInformationSession {
PublicMediaInformationSession(const std::shared_ptr<std::list<std::string>> arguments, ffmpegkit::MediaInformationSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback) : PublicMediaInformationSession(const std::list<std::string>& arguments, ffmpegkit::MediaInformationSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback) :
MediaInformationSession(arguments, completeCallback, logCallback) { MediaInformationSession(arguments, completeCallback, logCallback) {
} }
}; };
ffmpegkit::MediaInformationSession::MediaInformationSession(const std::shared_ptr<std::list<std::string>> arguments, ffmpegkit::MediaInformationSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback) : ffmpegkit::MediaInformationSession::MediaInformationSession(const std::list<std::string>& arguments, ffmpegkit::MediaInformationSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback) :
ffmpegkit::AbstractSession(arguments, logCallback, ffmpegkit::LogRedirectionStrategyNeverPrintLogs), _completeCallback{completeCallback}, _mediaInformation{nullptr} { ffmpegkit::AbstractSession(arguments, logCallback, ffmpegkit::LogRedirectionStrategyNeverPrintLogs), _completeCallback{completeCallback}, _mediaInformation{nullptr} {
} }

View File

@ -38,7 +38,7 @@ namespace ffmpegkit {
* *
* @param arguments command arguments * @param arguments command arguments
*/ */
static std::shared_ptr<ffmpegkit::MediaInformationSession> create(const std::shared_ptr<std::list<std::string>> arguments); static std::shared_ptr<ffmpegkit::MediaInformationSession> create(const std::list<std::string>& arguments);
/** /**
* Creates a new media information session. * Creates a new media information session.
@ -46,7 +46,7 @@ namespace ffmpegkit {
* @param arguments command arguments * @param arguments command arguments
* @param completeCallback session specific complete callback * @param completeCallback session specific complete callback
*/ */
static std::shared_ptr<ffmpegkit::MediaInformationSession> create(const std::shared_ptr<std::list<std::string>> arguments, ffmpegkit::MediaInformationSessionCompleteCallback completeCallback); static std::shared_ptr<ffmpegkit::MediaInformationSession> create(const std::list<std::string>& arguments, ffmpegkit::MediaInformationSessionCompleteCallback completeCallback);
/** /**
* Creates a new media information session. * Creates a new media information session.
@ -55,7 +55,7 @@ namespace ffmpegkit {
* @param completeCallback session specific complete callback * @param completeCallback session specific complete callback
* @param logCallback session specific log callback * @param logCallback session specific log callback
*/ */
static std::shared_ptr<ffmpegkit::MediaInformationSession> create(const std::shared_ptr<std::list<std::string>> arguments, ffmpegkit::MediaInformationSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback); static std::shared_ptr<ffmpegkit::MediaInformationSession> create(const std::list<std::string>& arguments, ffmpegkit::MediaInformationSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback);
/** /**
* Returns the media information extracted in this session. * Returns the media information extracted in this session.
@ -111,7 +111,7 @@ namespace ffmpegkit {
* @param completeCallback session specific complete callback * @param completeCallback session specific complete callback
* @param logCallback session specific log callback * @param logCallback session specific log callback
*/ */
MediaInformationSession(const std::shared_ptr<std::list<std::string>> arguments, ffmpegkit::MediaInformationSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback); MediaInformationSession(const std::list<std::string>& arguments, ffmpegkit::MediaInformationSessionCompleteCallback completeCallback, ffmpegkit::LogCallback logCallback);
ffmpegkit::MediaInformationSessionCompleteCallback _completeCallback; ffmpegkit::MediaInformationSessionCompleteCallback _completeCallback;
std::shared_ptr<ffmpegkit::MediaInformation> _mediaInformation; std::shared_ptr<ffmpegkit::MediaInformation> _mediaInformation;