-
Notifications
You must be signed in to change notification settings - Fork 830
isFFmpegCommandRunning() not working #79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hey, you could try using this code. FFmpeg ffmpeg = FFmpeg.getInstance(context);
}); |
Ok yes, that could be a possible workaround thanks. But what if i want to stop the current process (for example in the onDestroy() method)? |
Let's assume the ffmpeg command was executed and was in progress OnProgress function will be called again and again (try adding toast , to cross check) ffmpeg.killRunningProcesses(); |
I'm having the same issue, that workaround will not work, as the issue is in killRunningProcesses() itself (don't work no matter what or where is called) |
well,that's weird.let me check! |
I manage to have it work by recompiling the aar from the sources - this means the patch is actually already there but not in the gradle or the public build on the site ( it's actually in this state from quite a while: #3 ) |
@sam7700 Nice Catch! How did you manage to get master source in android studio and get same result as Compiling Gradle? |
Just get the source, import in android studio and then run a build, you will find the aar generated under FFmpegAndroid/build/outputs/aar/ - I was prepared to get some some dependency hell but all went smooth |
haha, thanks! |
Version 0.2.5. FFmpeg.java |
@sam7700 can you provide the aar ? |
Is this issue still in 0.3.2? I'm trying to re run my command multiple time but it always end up with FFmpeg already running. I'm trying to run this command: private int count = 0;
private void seekToPosition(long currentVideoPosition){
String[] cmd = {"-ss", String.valueOf(currentVideoPosition), "-i", "/storage/emulated/0/Videos/01.mp4",
"-frames:v", "1", "/storage/emulated/0/Videos/out"+ count +".jpg"};
final FFmpeg ffmpeg = FFmpeg.getInstance(this);
try {
// to execute "ffmpeg -version" command you just need to pass "-version"
ffmpeg.execute(cmd, new ExecuteBinaryResponseHandler() {
@Override
public void onStart() {
isSeekable = false;
}
@Override
public void onProgress(String message) {}
@Override
public void onFailure(String message) {
Log.d(TAG, "FFmpeg cmd failure");
}
@Override
public void onSuccess(String message) {
Log.d(TAG, "FFmpeg cmd success");
count++;
isSeekable = true;
ffmpeg.killRunningProcesses();
Log.d(TAG, "FFmpeg kill running process: " + ffmpeg.killRunningProcesses());
}
@Override
public void onFinish() {
Log.d(TAG, "FFmpeg cmd finished: is FFmpeg process running: " + ffmpeg.isFFmpegCommandRunning());
}
});
} catch (FFmpegCommandAlreadyRunningException e) {
// Handle if FFmpeg is already running
Log.d(TAG, "FFmpeg exception: " + e);
}
} I can replicate this with the demo as well. Try running this command:
Then re run with a different output's name:
It behave as expected with 2 different output files. But if you accidentally run any of those command twice then nothing happen for the next run even if you change the output's name. |
I am also facing the same problem like vxhviet mentioned. |
Just using sam7700 solution:
And that's the release.aar For the "accidentally running it twice" just need to pass |
Hi vxhviet, using -y option solved my problem Thanks. |
I think still a problem on gradle today. Need to resort to compile from source code option. |
@sam7700 @JayParikh20 I am having the same issue with Whenever I execute a process it ends up moving in the catch block where I have written this:
When
@hiteshsondhi88 Can you please help me on this please? |
Is there any workaround is available for this problem? |
When i run a command with ffmpeg.execute() inside the FFmpegExecuteResponseHandler onProgress() method when i call ffmpeg.isFFmpegCommandRunning() it's returning false.
Also killRunningProcesses() is not working, because when i execute and run this method it always return false
Could you please conside a fix please? Thanks
The text was updated successfully, but these errors were encountered: