Skip to content

Commit fee0d73

Browse files
committed
bug fix.
updated `startVideoStream` call in the sample project to test new api.
1 parent ac572ff commit fee0d73

File tree

2 files changed

+25
-28
lines changed

2 files changed

+25
-28
lines changed

ServiceApp/src/org/droidplanner/services/android/utils/video/StreamRecorder.java

Lines changed: 24 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import android.net.Uri;
66
import android.os.Environment;
77
import android.text.TextUtils;
8+
import android.util.Log;
89

910
import com.coremedia.iso.boxes.Container;
1011
import com.googlecode.mp4parser.FileDataSourceImpl;
@@ -32,29 +33,25 @@ class StreamRecorder {
3233
private final AtomicReference<String> recordingFilename = new AtomicReference<>();
3334

3435
private final File mediaRootDir;
35-
private final MediaScannerConnection mediaScanner;
36+
private final Context context;
37+
38+
private final MediaScannerConnection.OnScanCompletedListener scanCompletedListener = new MediaScannerConnection.OnScanCompletedListener() {
39+
@Override
40+
public void onScanCompleted(String path, Uri uri) {
41+
Timber.i("Media file %s was scanned successfully: %s", path, uri);
42+
}
43+
};
3644

3745
private ExecutorService asyncExecutor;
3846

3947
private BufferedOutputStream h264Writer;
4048

4149
StreamRecorder(Context context) {
50+
this.context = context;
4251
this.mediaRootDir = new File(context.getExternalFilesDir(Environment.DIRECTORY_MOVIES), "stream");
4352
if (!this.mediaRootDir.exists()) {
4453
this.mediaRootDir.mkdirs();
4554
}
46-
47-
this.mediaScanner = new MediaScannerConnection(context, new MediaScannerConnection.MediaScannerConnectionClient() {
48-
@Override
49-
public void onMediaScannerConnected() {
50-
51-
}
52-
53-
@Override
54-
public void onScanCompleted(String path, Uri uri) {
55-
Timber.i("Media file %s was scanned successfully: %s", path, uri);
56-
}
57-
});
5855
}
5956

6057
String getRecordingFilename(){
@@ -135,22 +132,21 @@ void onNaluChunkUpdated(byte[] payload, int index, int payloadLength) {
135132
}
136133

137134
void convertToMp4(final String filename) {
135+
if (TextUtils.isEmpty(filename)) {
136+
Timber.w("Invalid media filename.");
137+
return;
138+
}
139+
140+
final File rawMedia = new File(mediaRootDir, filename);
141+
if (!rawMedia.exists()) {
142+
Timber.w("Media file doesn't exists.");
143+
return;
144+
}
145+
138146
asyncExecutor.execute(new Runnable() {
139147
@Override
140148
public void run() {
141-
Timber.i("Starting h264 conversion process.");
142-
143-
Timber.i("Converting media file %s", filename);
144-
if (TextUtils.isEmpty(filename)) {
145-
Timber.w("Invalid media filename.");
146-
return;
147-
}
148-
149-
File rawMedia = new File(mediaRootDir, filename);
150-
if (!rawMedia.exists()) {
151-
Timber.w("Media file doesn't exists.");
152-
return;
153-
}
149+
Timber.i("Starting h264 conversion process for media file %s.", filename);
154150

155151
try {
156152
H264TrackImpl h264Track = new H264TrackImpl(new FileDataSourceImpl(rawMedia));
@@ -171,7 +167,8 @@ public void run() {
171167

172168
//Add the generated file to the mediastore
173169
Timber.i("Adding the generated mp4 file to the media store.");
174-
mediaScanner.scanFile(mp4Media.getAbsolutePath(), null);
170+
MediaScannerConnection.scanFile(context,
171+
new String[]{mp4Media.getAbsolutePath()}, null, scanCompletedListener);
175172

176173
} catch (IOException e) {
177174
Timber.e(e, e.getMessage());

samples/StarterApp/src/main/java/com/o3dr/sample/hellodrone/MainActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,7 @@ public void onTimeout() {
492492
}
493493

494494
private void startVideoStream(Surface videoSurface){
495-
SoloCameraApi.getApi(drone).startVideoStream(videoSurface, new AbstractCommandListener() {
495+
SoloCameraApi.getApi(drone).startVideoStream(videoSurface, "", true, new AbstractCommandListener() {
496496
@Override
497497
public void onSuccess() {
498498
if(stopVideoStream != null)

0 commit comments

Comments
 (0)