summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Henigan <robert.henigan@livio.io>2021-03-23 11:20:59 -0400
committerGitHub <noreply@github.com>2021-03-23 11:20:59 -0400
commitd8a0fd1ae70937ba953612564089ce1c6569fbd7 (patch)
tree2a86d28181329b4179cb4b2fe137bbad2ae4bd77
parentc480dd42fd803ddce1ce3df852fca295291c3b95 (diff)
downloadsdl_android-d8a0fd1ae70937ba953612564089ce1c6569fbd7.tar.gz
Update VideoStream based on ranges (#1636)
* Update VideoStream based on ranges * Remove unused import * Fix getSupportedCapabilities for 7.0 * Remove unused Import Co-authored-by: Henigan <rheniga1@MGC12Z921DLVCG.fbpld77.ford.com>
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/video/VideoStreamManager.java43
1 files changed, 26 insertions, 17 deletions
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/video/VideoStreamManager.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/video/VideoStreamManager.java
index fa2b99eeb..c7a7ca92c 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/video/VideoStreamManager.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/video/VideoStreamManager.java
@@ -430,6 +430,19 @@ public class VideoStreamManager extends BaseVideoStreamManager {
if (dispCap != null) {
params.setResolution(dispCap.getScreenParams().getImageResolution());
}
+
+ VideoStreamingCapability videoStreamingCapability = new VideoStreamingCapability();
+ videoStreamingCapability.setScale(params.getScale())
+ .setPreferredResolution(params.getResolution())
+ .setAdditionalVideoStreamingCapabilities(new ArrayList<VideoStreamingCapability>());
+ //Compare the default params to the ranges set by the developer
+ List<VideoStreamingCapability> vscList = getSupportedCapabilities(videoStreamingCapability);
+ //If default params not within range the video will not stream
+ if (vscList == null || vscList.isEmpty()) {
+ stateMachine.transitionToState(StreamingStateMachine.STOPPED);
+ DebugTool.logError(TAG, "The Video stream was not started because there were no supported video streaming capabilities, please double check that the VideoStreamRanges provided are not disabled ranges");
+ return;
+ }
startStreaming(params, encrypted);
}
}
@@ -794,15 +807,13 @@ public class VideoStreamManager extends BaseVideoStreamManager {
return null;
}
- List<VideoStreamingCapability> allCapabilities = rootCapability.getAdditionalVideoStreamingCapabilities();
- if (allCapabilities == null){
- return null;
- }
-
- if (allCapabilities != null){
- rootCapability.setAdditionalVideoStreamingCapabilities(null);
- allCapabilities.add(rootCapability);
+ List<VideoStreamingCapability> allCapabilities = new ArrayList<>();
+ List<VideoStreamingCapability> additionalCapabilities = rootCapability.getAdditionalVideoStreamingCapabilities();
+ if (additionalCapabilities != null){
+ allCapabilities.addAll(additionalCapabilities);
}
+ rootCapability.setAdditionalVideoStreamingCapabilities(null);
+ allCapabilities.add(rootCapability);
for (VideoStreamingCapability capability : allCapabilities) {
ImageResolution imageResolution = capability.getPreferredResolution();
@@ -858,15 +869,13 @@ public class VideoStreamManager extends BaseVideoStreamManager {
}
}
- double diagonal;
- if (capability.getDiagonalScreenSize() == null) {
- diagonal = parameters.getPreferredDiagonal();
- } else {
- diagonal = capability.getDiagonalScreenSize();
- }
-
- if (range.getMinimumDiagonal() != null && range.getMinimumDiagonal() > diagonal) {
- return false;
+ if (capability.getDiagonalScreenSize() != null) {
+ double diagonal = capability.getDiagonalScreenSize();
+ if (range.getMinimumDiagonal() != null) {
+ if (range.getMinimumDiagonal() <= 0.0 || range.getMinimumDiagonal() > diagonal) {
+ return false;
+ }
+ }
}
return true;