Skip to content

Commit 545962a

Browse files
MediaStreamer に映像と音声が設定されていない場合にエラーを返すように修正
1 parent eb58632 commit 545962a

2 files changed

Lines changed: 18 additions & 6 deletions

File tree

dConnectSDK/dConnectLibStreaming/libmedia/src/main/java/org/deviceconnect/android/libmedia/streaming/MediaStreamer.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,11 +305,21 @@ private synchronized void startEncoder() {
305305
VideoQuality videoQuality = mVideoEncoder != null ? mVideoEncoder.getVideoQuality() : null;
306306
AudioQuality audioQuality = mAudioEncoder != null ? mAudioEncoder.getAudioQuality() : null;
307307

308+
if (videoQuality == null && audioQuality == null) {
309+
if (DEBUG) {
310+
Log.e(TAG, "Video and audio is not set.");
311+
}
312+
postOnError(new MediaEncoderException("Need to set either video or audio."));
313+
stopEncoder();
314+
return;
315+
}
316+
308317
if (!mMediaMuxer.onPrepare(videoQuality, audioQuality)) {
309318
if (DEBUG) {
310319
Log.e(TAG, "Failed to prepare a media muxer.");
311320
}
312321
postOnError(new MediaEncoderException("Failed to prepare a media muxer."));
322+
stopEncoder();
313323
return;
314324
}
315325

dConnectSDK/dConnectLibStreaming/libmedia/src/main/java/org/deviceconnect/android/libmedia/streaming/muxer/RtmpMuxer.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@
77
import net.ossrs.rtmp.ConnectCheckerRtmp;
88
import net.ossrs.rtmp.SrsFlvMuxer;
99

10-
import java.nio.ByteBuffer;
11-
import java.util.concurrent.CountDownLatch;
12-
import java.util.concurrent.TimeUnit;
13-
import java.util.concurrent.atomic.AtomicBoolean;
14-
1510
import org.deviceconnect.android.libmedia.BuildConfig;
1611
import org.deviceconnect.android.libmedia.streaming.IMediaMuxer;
1712
import org.deviceconnect.android.libmedia.streaming.audio.AudioQuality;
1813
import org.deviceconnect.android.libmedia.streaming.video.VideoQuality;
1914

15+
import java.nio.ByteBuffer;
16+
import java.util.concurrent.CountDownLatch;
17+
import java.util.concurrent.TimeUnit;
18+
import java.util.concurrent.atomic.AtomicBoolean;
19+
2020
/**
2121
* RTMP で指定された URL にデータを送信するためのマルチプレクサ.
2222
*/
@@ -87,7 +87,9 @@ public void onConnectionFailedRtmp(String reason) {
8787
};
8888

8989
mSrsFlvMuxer = new SrsFlvMuxer(rtmpAdapter);
90-
mSrsFlvMuxer.setVideoResolution(videoQuality.getVideoWidth(), videoQuality.getVideoHeight());
90+
if (videoQuality != null) {
91+
mSrsFlvMuxer.setVideoResolution(videoQuality.getVideoWidth(), videoQuality.getVideoHeight());
92+
}
9193
if (audioQuality != null) {
9294
mSrsFlvMuxer.setSampleRate(audioQuality.getSamplingRate());
9395
mSrsFlvMuxer.setIsStereo(audioQuality.getChannelCount() == 2);

0 commit comments

Comments
 (0)