Package com.arthenica.ffmpegkit
Class FFmpegSession
- java.lang.Object
-
- com.arthenica.ffmpegkit.AbstractSession
-
- com.arthenica.ffmpegkit.FFmpegSession
-
- All Implemented Interfaces:
Session
public class FFmpegSession extends AbstractSession implements Session
An FFmpeg session.
-
-
Field Summary
-
Fields inherited from class com.arthenica.ffmpegkit.AbstractSession
arguments, createTime, DEFAULT_TIMEOUT_FOR_ASYNCHRONOUS_MESSAGES_IN_TRANSMIT, endTime, failStackTrace, future, logCallback, logRedirectionStrategy, logs, logsLock, returnCode, sessionId, sessionIdGenerator, startTime, state
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddStatistics(Statistics statistics)Adds a new statistics entry for this session.static FFmpegSessioncreate(java.lang.String[] arguments)Builds a new FFmpeg session.static FFmpegSessioncreate(java.lang.String[] arguments, FFmpegSessionCompleteCallback completeCallback)Builds a new FFmpeg session.static FFmpegSessioncreate(java.lang.String[] arguments, FFmpegSessionCompleteCallback completeCallback, LogCallback logCallback, StatisticsCallback statisticsCallback)Builds a new FFmpeg session.static FFmpegSessioncreate(java.lang.String[] arguments, FFmpegSessionCompleteCallback completeCallback, LogCallback logCallback, StatisticsCallback statisticsCallback, LogRedirectionStrategy logRedirectionStrategy)Builds a new FFmpeg session.java.util.List<Statistics>getAllStatistics()Returns all statistics entries generated for this session.java.util.List<Statistics>getAllStatistics(int waitTimeout)Returns all statistics entries generated for this session.FFmpegSessionCompleteCallbackgetCompleteCallback()Returns the session specific complete callback.StatisticsgetLastReceivedStatistics()Returns the last received statistics entry.java.util.List<Statistics>getStatistics()Returns all statistics entries delivered for this session.StatisticsCallbackgetStatisticsCallback()Returns the session specific statistics callback.booleanisFFmpeg()Returns whether it is anFFmpegsession or not.booleanisFFprobe()Returns whether it is anFFprobesession or not.booleanisMediaInformation()Returns whether it is aMediaInformationsession or not.java.lang.StringtoString()-
Methods inherited from class com.arthenica.ffmpegkit.AbstractSession
addLog, cancel, getAllLogs, getAllLogs, getAllLogsAsString, getAllLogsAsString, getArguments, getCommand, getCreateTime, getDuration, getEndTime, getFailStackTrace, getFuture, getLogCallback, getLogRedirectionStrategy, getLogs, getLogsAsString, getOutput, getReturnCode, getSessionId, getStartTime, getState, thereAreAsynchronousMessagesInTransmit, waitForAsynchronousMessagesInTransmit
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.arthenica.ffmpegkit.Session
addLog, cancel, getAllLogs, getAllLogs, getAllLogsAsString, getAllLogsAsString, getArguments, getCommand, getCreateTime, getDuration, getEndTime, getFailStackTrace, getFuture, getLogCallback, getLogRedirectionStrategy, getLogs, getLogsAsString, getOutput, getReturnCode, getSessionId, getStartTime, getState, thereAreAsynchronousMessagesInTransmit
-
-
-
-
Method Detail
-
create
public static FFmpegSession create(java.lang.String[] arguments)
Builds a new FFmpeg session.- Parameters:
arguments- command arguments- Returns:
- created session
-
create
public static FFmpegSession create(java.lang.String[] arguments, FFmpegSessionCompleteCallback completeCallback)
Builds a new FFmpeg session.- Parameters:
arguments- command argumentscompleteCallback- session specific complete callback- Returns:
- created session
-
create
public static FFmpegSession create(java.lang.String[] arguments, FFmpegSessionCompleteCallback completeCallback, LogCallback logCallback, StatisticsCallback statisticsCallback)
Builds a new FFmpeg session.- Parameters:
arguments- command argumentscompleteCallback- session specific complete callbacklogCallback- session specific log callbackstatisticsCallback- session specific statistics callback- Returns:
- created session
-
create
public static FFmpegSession create(java.lang.String[] arguments, FFmpegSessionCompleteCallback completeCallback, LogCallback logCallback, StatisticsCallback statisticsCallback, LogRedirectionStrategy logRedirectionStrategy)
Builds a new FFmpeg session.- Parameters:
arguments- command argumentscompleteCallback- session specific complete callbacklogCallback- session specific log callbackstatisticsCallback- session specific statistics callbacklogRedirectionStrategy- session specific log redirection strategy- Returns:
- created session
-
getStatisticsCallback
public StatisticsCallback getStatisticsCallback()
Returns the session specific statistics callback.- Returns:
- session specific statistics callback
-
getCompleteCallback
public FFmpegSessionCompleteCallback getCompleteCallback()
Returns the session specific complete callback.- Returns:
- session specific complete callback
-
getAllStatistics
public java.util.List<Statistics> getAllStatistics(int waitTimeout)
Returns all statistics entries generated for this session. If there are asynchronous messages that are not delivered yet, this method waits for them until the given timeout.- Parameters:
waitTimeout- wait timeout for asynchronous messages in milliseconds- Returns:
- list of statistics entries generated for this session
-
getAllStatistics
public java.util.List<Statistics> getAllStatistics()
Returns all statistics entries generated for this session. If there are asynchronous messages that are not delivered yet, this method waits for them untilAbstractSession.DEFAULT_TIMEOUT_FOR_ASYNCHRONOUS_MESSAGES_IN_TRANSMITexpires.- Returns:
- list of statistics entries generated for this session
-
getStatistics
public java.util.List<Statistics> getStatistics()
Returns all statistics entries delivered for this session. Note that if there are asynchronous messages that are not delivered yet, this method will not wait for them and will return immediately.- Returns:
- list of statistics entries received for this session
-
getLastReceivedStatistics
public Statistics getLastReceivedStatistics()
Returns the last received statistics entry.- Returns:
- the last received statistics entry or null if there are not any statistics entries received
-
addStatistics
public void addStatistics(Statistics statistics)
Adds a new statistics entry for this session. It is invoked internally byFFmpegKitlibrary methods. Must not be used by user applications.- Parameters:
statistics- statistics entry
-
isFFmpeg
public boolean isFFmpeg()
Description copied from interface:SessionReturns whether it is anFFmpegsession or not.
-
isFFprobe
public boolean isFFprobe()
Description copied from interface:SessionReturns whether it is anFFprobesession or not.
-
isMediaInformation
public boolean isMediaInformation()
Description copied from interface:SessionReturns whether it is aMediaInformationsession or not.- Specified by:
isMediaInformationin interfaceSession- Returns:
- true if it is a
MediaInformationsession, false otherwise
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-