4
4
import android .os .AsyncTask ;
5
5
6
6
import java .io .File ;
7
- import java .lang .reflect .Array ;
8
7
import java .util .Map ;
9
8
10
9
public class FFprobe implements FFbinaryInterface {
@@ -52,8 +51,9 @@ public boolean isSupported() {
52
51
@ Override
53
52
public FFtask execute (Map <String , String > environvenmentVars , String [] cmd , FFcommandExecuteResponseHandler ffcommandExecuteResponseHandler ) {
54
53
if (cmd .length != 0 ) {
55
- String [] ffprobeBinary = new String []{FileUtils .getFFprobe (context .provide ()).getAbsolutePath ()};
56
- String [] command = concatenate (ffprobeBinary , cmd );
54
+ final String [] command = new String [cmd .length + 1 ];
55
+ command [0 ] = FileUtils .getFFprobe (context .provide ()).getAbsolutePath ();
56
+ System .arraycopy (cmd , 0 , command , 1 , cmd .length );
57
57
FFcommandExecuteAsyncTask task = new FFcommandExecuteAsyncTask (command , environvenmentVars , timeout , ffcommandExecuteResponseHandler );
58
58
task .executeOnExecutor (AsyncTask .THREAD_POOL_EXECUTOR );
59
59
return task ;
@@ -62,18 +62,6 @@ public FFtask execute(Map<String, String> environvenmentVars, String[] cmd, FFco
62
62
}
63
63
}
64
64
65
- private static <T > T [] concatenate (T [] a , T [] b ) {
66
- int aLen = a .length ;
67
- int bLen = b .length ;
68
-
69
- @ SuppressWarnings ("unchecked" )
70
- T [] c = (T []) Array .newInstance (a .getClass ().getComponentType (), aLen + bLen );
71
- System .arraycopy (a , 0 , c , 0 , aLen );
72
- System .arraycopy (b , 0 , c , aLen , bLen );
73
-
74
- return c ;
75
- }
76
-
77
65
@ Override
78
66
public FFtask execute (String [] cmd , FFcommandExecuteResponseHandler ffcommandExecuteResponseHandler ) {
79
67
return execute (null , cmd , ffcommandExecuteResponseHandler );
0 commit comments