@@ -430,6 +430,19 @@ public void onError(String info) {
430430 if (dispCap != null ) {
431431 params .setResolution (dispCap .getScreenParams ().getImageResolution ());
432432 }
433+
434+ VideoStreamingCapability videoStreamingCapability = new VideoStreamingCapability ();
435+ videoStreamingCapability .setScale (params .getScale ())
436+ .setPreferredResolution (params .getResolution ())
437+ .setAdditionalVideoStreamingCapabilities (new ArrayList <VideoStreamingCapability >());
438+ //Compare the default params to the ranges set by the developer
439+ List <VideoStreamingCapability > vscList = getSupportedCapabilities (videoStreamingCapability );
440+ //If default params not within range the video will not stream
441+ if (vscList == null || vscList .isEmpty ()) {
442+ stateMachine .transitionToState (StreamingStateMachine .STOPPED );
443+ 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" );
444+ return ;
445+ }
433446 startStreaming (params , encrypted );
434447 }
435448 }
@@ -794,15 +807,13 @@ private List<VideoStreamingCapability> getSupportedCapabilities(VideoStreamingCa
794807 return null ;
795808 }
796809
797- List <VideoStreamingCapability > allCapabilities = rootCapability .getAdditionalVideoStreamingCapabilities ();
798- if (allCapabilities == null ){
799- return null ;
800- }
801-
802- if (allCapabilities != null ){
803- rootCapability .setAdditionalVideoStreamingCapabilities (null );
804- allCapabilities .add (rootCapability );
810+ List <VideoStreamingCapability > allCapabilities = new ArrayList <>();
811+ List <VideoStreamingCapability > additionalCapabilities = rootCapability .getAdditionalVideoStreamingCapabilities ();
812+ if (additionalCapabilities != null ){
813+ allCapabilities .addAll (additionalCapabilities );
805814 }
815+ rootCapability .setAdditionalVideoStreamingCapabilities (null );
816+ allCapabilities .add (rootCapability );
806817
807818 for (VideoStreamingCapability capability : allCapabilities ) {
808819 ImageResolution imageResolution = capability .getPreferredResolution ();
@@ -858,15 +869,13 @@ private Boolean inRange(VideoStreamingCapability capability, VideoStreamingRange
858869 }
859870 }
860871
861- double diagonal ;
862- if (capability .getDiagonalScreenSize () == null ) {
863- diagonal = parameters .getPreferredDiagonal ();
864- } else {
865- diagonal = capability .getDiagonalScreenSize ();
866- }
867-
868- if (range .getMinimumDiagonal () != null && range .getMinimumDiagonal () > diagonal ) {
869- return false ;
872+ if (capability .getDiagonalScreenSize () != null ) {
873+ double diagonal = capability .getDiagonalScreenSize ();
874+ if (range .getMinimumDiagonal () != null ) {
875+ if (range .getMinimumDiagonal () <= 0.0 || range .getMinimumDiagonal () > diagonal ) {
876+ return false ;
877+ }
878+ }
870879 }
871880
872881 return true ;
0 commit comments