Skip to content

Commit 88b9253

Browse files
Merge pull request #506 from TakayukiHoshi1984/modify_livestreaming_check_parameter
LiveStreamingプロファイルのパラメータ処理改善
2 parents 9270323 + 5885a93 commit 88b9253

7 files changed

Lines changed: 137 additions & 136 deletions

File tree

dConnectDevicePlugin/dConnectDeviceHost/app/src/main/assets/org_deviceconnect_android_deviceplugin_host/api/liveStreaming.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
}, {
3030
"name": "video",
3131
"in": "query",
32-
"description": "映像リソースURI。<br><ul><li>true(デバイス標準のカメラ)</li><li>false(映像無し)</li><li>camera-front(端末のフロントカメラ)</li><li>camera-back(端末のバックカメラ)</li></ul>省略された場合はfalseを指定した場合と同様。",
32+
"description": "映像リソースURI。<br><ul><li>true(デバイス標準のカメラ)</li><li>false(黒い映像を配信する)</li><li>camera-front(端末のフロントカメラ)</li><li>camera-back(端末のバックカメラ)</li></ul>省略された場合はfalseを指定した場合と同様。",
3333
"required": false,
3434
"type": "string"
3535
}, {

dConnectDevicePlugin/dConnectDeviceHost/app/src/main/java/org/deviceconnect/android/deviceplugin/host/profile/HostLiveStreamingProfile.java

Lines changed: 127 additions & 116 deletions
Large diffs are not rendered by default.

dConnectDevicePlugin/dConnectDeviceHost/app/src/main/java/org/deviceconnect/android/deviceplugin/host/recorder/HostDeviceLiveStreamRecorder.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.deviceconnect.android.deviceplugin.host.recorder;
22

33
import org.deviceconnect.android.deviceplugin.host.recorder.util.LiveStreamingClient;
4+
import org.deviceconnect.android.libmedia.streaming.video.VideoEncoder;
45

56
/**
67
* デバイスのカメラを使用したLive Streaming用のインターフェース
@@ -11,7 +12,7 @@ public interface HostDeviceLiveStreamRecorder {
1112
void createLiveStreamingClient(final String broadcastURI, LiveStreamingClient.EventListener eventListener);
1213

1314
//ビデオエンコーダーの設定
14-
void setVideoEncoder(Integer width, Integer height, Integer bitrate, Integer frameRate);
15+
void setVideoEncoder(VideoEncoder encoder, Integer width, Integer height, Integer bitrate, Integer frameRate);
1516

1617
//オーディオエンコーダーの設定
1718
void setAudioEncoder();

dConnectDevicePlugin/dConnectDeviceHost/app/src/main/java/org/deviceconnect/android/deviceplugin/host/recorder/camera/Camera2Recorder.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
import org.deviceconnect.android.libmedia.streaming.audio.AudioQuality;
4848
import org.deviceconnect.android.libmedia.streaming.audio.MicAACLATMEncoder;
4949
import org.deviceconnect.android.deviceplugin.host.recorder.util.LiveStreamingClient;
50+
import org.deviceconnect.android.libmedia.streaming.video.VideoEncoder;
5051
import org.deviceconnect.android.provider.FileManager;
5152

5253
import java.io.File;
@@ -939,7 +940,7 @@ public void stopLiveStreaming() {
939940
}
940941

941942
@Override
942-
public void setVideoEncoder(Integer width, Integer height, Integer bitrate, Integer framerate) {
943+
public void setVideoEncoder(VideoEncoder encoder, Integer width, Integer height, Integer bitrate, Integer framerate) {
943944
if (DEBUG) {
944945
Log.d(TAG, "setVideoEncoder()");
945946
Log.d(TAG, "width : " + width);
@@ -949,7 +950,7 @@ public void setVideoEncoder(Integer width, Integer height, Integer bitrate, Inte
949950
Log.d(TAG, "mLiveStreamingClient : " + mLiveStreamingClient);
950951
}
951952
if (mLiveStreamingClient != null) {
952-
mLiveStreamingClient.setVideoEncoder(new CameraVideoEncoder(this), width, height, bitrate, framerate);
953+
mLiveStreamingClient.setVideoEncoder(encoder, width, height, bitrate, framerate);
953954
}
954955
}
955956

dConnectDevicePlugin/dConnectDeviceHost/app/src/main/java/org/deviceconnect/android/deviceplugin/host/recorder/camera/CameraVideoEncoder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public class CameraVideoEncoder extends SurfaceVideoEncoder {
2121
*/
2222
private CameraVideoQuality mVideoQuality;
2323

24-
CameraVideoEncoder(Camera2Recorder camera2Recorder) {
24+
public CameraVideoEncoder(Camera2Recorder camera2Recorder) {
2525
mCamera2Recorder = camera2Recorder;
2626
mVideoQuality = new CameraVideoQuality("video/avc");
2727
}

dConnectDevicePlugin/dConnectDeviceHost/app/src/main/java/org/deviceconnect/android/deviceplugin/host/recorder/screen/ScreenCastRecorder.java

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import org.deviceconnect.android.libmedia.streaming.audio.AudioEncoder;
3434
import org.deviceconnect.android.libmedia.streaming.audio.AudioQuality;
3535
import org.deviceconnect.android.libmedia.streaming.audio.MicAACLATMEncoder;
36+
import org.deviceconnect.android.libmedia.streaming.video.VideoEncoder;
3637
import org.deviceconnect.android.provider.FileManager;
3738

3839
import java.io.ByteArrayOutputStream;
@@ -480,7 +481,7 @@ public void createLiveStreamingClient(String broadcastURI, LiveStreamingClient.E
480481
}
481482

482483
@Override
483-
public void setVideoEncoder(Integer width, Integer height, Integer bitrate, Integer frameRate) {
484+
public void setVideoEncoder(VideoEncoder encoder, Integer width, Integer height, Integer bitrate, Integer frameRate) {
484485
if (DEBUG) {
485486
Log.d(TAG, "setVideoEncoder()");
486487
Log.d(TAG, "width : " + width);
@@ -490,19 +491,6 @@ public void setVideoEncoder(Integer width, Integer height, Integer bitrate, Inte
490491
Log.d(TAG, "mLiveStreamingClient : " + mLiveStreamingClient);
491492
}
492493
if (mLiveStreamingClient != null) {
493-
ScreenCastVideoEncoder encoder = new ScreenCastVideoEncoder(mScreenCastMgr);
494-
// widthかheightがnullの場合は、PreviewSizeの最小値を設定する
495-
if (width == null || height == null) {
496-
PictureSize pSize = mSupportedPreviewSizes.get(0);
497-
width = pSize.getWidth();
498-
height = pSize.getHeight();
499-
for (int i = 1; i < mSupportedPreviewSizes.size(); i++) {
500-
if (pSize.getWidth() < mSupportedPreviewSizes.get(i).getWidth()) {
501-
width = mSupportedPreviewSizes.get(i).getWidth();
502-
height = mSupportedPreviewSizes.get(i).getHeight();
503-
}
504-
}
505-
}
506494
mLiveStreamingClient.setVideoEncoder(encoder, width, height, bitrate, frameRate);
507495
}
508496
}

dConnectDevicePlugin/dConnectDeviceHost/app/src/main/java/org/deviceconnect/android/deviceplugin/host/recorder/screen/ScreenCastVideoEncoder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class ScreenCastVideoEncoder extends VideoEncoder {
2323
*/
2424
private ScreenCast mScreenCast;
2525

26-
ScreenCastVideoEncoder(ScreenCastManager screenCastManager) {
26+
public ScreenCastVideoEncoder(ScreenCastManager screenCastManager) {
2727
mScreenCastMgr = screenCastManager;
2828
}
2929

0 commit comments

Comments
 (0)