Skip to content

Commit 657d5bf

Browse files
author
Chris Bellew
committed
Changed higher end bitrates to 1080p for local video playback.
1 parent 0fc0c38 commit 657d5bf

File tree

2 files changed

+29
-9
lines changed

2 files changed

+29
-9
lines changed

mobile/src/main/java/com/atomjack/vcfp/VoiceControlForPlexApplication.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,9 @@ public class VoiceControlForPlexApplication extends Application
116116
private IabBroadcastReceiver promoReceiver;
117117

118118
public static HashMap<String, String[]> chromecastVideoQualityOptions = new LinkedHashMap<String, String[]>();
119+
public static String chromecastVideoQualityDefault;
119120
public static HashMap<String, String[]> localVideoQualityOptions = new LinkedHashMap<String, String[]>();
121+
public static String localVideoQualityDefault;
120122

121123
private NotificationManager mNotifyMgr;
122124
private Bitmap notificationBitmap = null;
@@ -182,6 +184,7 @@ public void onCreate() {
182184
localClientSubscription = new LocalClientSubscription();
183185

184186
// chromecastVideoQualityOptions.put(getString(R.string.original), new String[]{"12000", "1920x1080", "1"}); // Disabled for now. Don't know how to get PMS to direct play to chromecast
187+
chromecastVideoQualityDefault = "8mbps 720p";
185188
chromecastVideoQualityOptions.put("20mbps 720p", new String[]{"20000", "1280x720"});
186189
chromecastVideoQualityOptions.put("12mbps 720p", new String[]{"12000", "1280x720"});
187190
chromecastVideoQualityOptions.put("10mbps 720p", new String[]{"10000", "1280x720"});
@@ -190,7 +193,17 @@ public void onCreate() {
190193
chromecastVideoQualityOptions.put("3mbps 720p", new String[]{"3000", "1280x720"});
191194
chromecastVideoQualityOptions.put("2mbps 720p", new String[]{"2000", "1280x720"});
192195
chromecastVideoQualityOptions.put("1.5mbps 720p", new String[]{"1500", "1280x720"});
193-
localVideoQualityOptions.putAll(chromecastVideoQualityOptions);
196+
197+
198+
localVideoQualityDefault = "8mbps 1080p";
199+
localVideoQualityOptions.put("20mbps 1080p", new String[]{"20000", "1920x1080"});
200+
localVideoQualityOptions.put("12mbps 1080p", new String[]{"12000", "1920x1080"});
201+
localVideoQualityOptions.put("10mbps 1080p", new String[]{"10000", "1920x1080"});
202+
localVideoQualityOptions.put("8mbps 1080p", new String[]{"8000", "1920x1080"});
203+
localVideoQualityOptions.put("4mbps 720p", new String[]{"4000", "1280x720"});
204+
localVideoQualityOptions.put("3mbps 720p", new String[]{"3000", "1280x720"});
205+
localVideoQualityOptions.put("2mbps 720p", new String[]{"2000", "1280x720"});
206+
localVideoQualityOptions.put("1.5mbps 720p", new String[]{"1500", "1280x720"});
194207
localVideoQualityOptions.put("720kbps 480p", new String[]{"720", "852x480"});
195208
localVideoQualityOptions.put("512kbps 480p", new String[]{"512", "852x480"});
196209
localVideoQualityOptions.put("320kbps 480p", new String[]{"320", "852x480"});

mobile/src/main/java/com/atomjack/vcfp/activities/MainActivity.java

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2433,7 +2433,7 @@ public void onClick(View v) {
24332433
chooserDialog.show();
24342434
}
24352435

2436-
private void showVideoOptions(final boolean chromecast, final boolean local) {
2436+
private void showVideoOptions(final boolean chromecast, final boolean localNetwork) {
24372437
HashMap<String, String[]> videoQualityOptions;
24382438
if(chromecast)
24392439
videoQualityOptions = VoiceControlForPlexApplication.chromecastVideoQualityOptions;
@@ -2447,24 +2447,26 @@ private void showVideoOptions(final boolean chromecast, final boolean local) {
24472447
TextView videoOptionsTitle = (TextView)view.findViewById(R.id.videoOptionsTitle);
24482448
int title;
24492449
if(chromecast) {
2450-
title = local ? R.string.chromecast_video_local_full : R.string.chromecast_video_remote_full;
2450+
title = localNetwork ? R.string.chromecast_video_local_full : R.string.chromecast_video_remote_full;
24512451
} else {
2452-
title = local ? R.string.local_video_local_full : R.string.local_video_remote_full;
2452+
title = localNetwork ? R.string.local_video_local_full : R.string.local_video_remote_full;
24532453
}
24542454
videoOptionsTitle.setText(title);
24552455

24562456
final String prefKey;
24572457
if(chromecast) {
2458-
prefKey = local ? Preferences.CHROMECAST_VIDEO_QUALITY_LOCAL : Preferences.CHROMECAST_VIDEO_QUALITY_REMOTE;
2458+
prefKey = localNetwork ? Preferences.CHROMECAST_VIDEO_QUALITY_LOCAL : Preferences.CHROMECAST_VIDEO_QUALITY_REMOTE;
24592459
} else {
2460-
prefKey = local ? Preferences.LOCAL_VIDEO_QUALITY_LOCAL : Preferences.LOCAL_VIDEO_QUALITY_REMOTE;
2460+
prefKey = localNetwork ? Preferences.LOCAL_VIDEO_QUALITY_LOCAL : Preferences.LOCAL_VIDEO_QUALITY_REMOTE;
24612461
}
24622462

24632463
RadioGroup videoOptionsRadioGroup = (RadioGroup)view.findViewById(R.id.videoOptionsRadioGroup);
24642464
final CharSequence[] items = videoQualityOptions.keySet().toArray(new CharSequence[videoQualityOptions.size()]);
24652465
int videoQuality = new ArrayList<>(videoQualityOptions.keySet()).indexOf(prefs.getString(prefKey));
2466-
if(videoQuality == -1)
2467-
videoQuality = new ArrayList<>(videoQualityOptions.keySet()).indexOf("8mbps 720p");
2466+
logger.d("videoQuality: %d", videoQuality);
2467+
logger.d("options: %s", videoQualityOptions);
2468+
if(videoQuality == -1 || !videoQualityOptions.containsKey(prefs.getString(prefKey)))
2469+
videoQuality = new ArrayList<>(videoQualityOptions.keySet()).indexOf(chromecast ? VoiceControlForPlexApplication.chromecastVideoQualityDefault : VoiceControlForPlexApplication.localVideoQualityDefault);
24682470
LinearLayout.LayoutParams layoutParams = new RadioGroup.LayoutParams(
24692471
RadioGroup.LayoutParams.WRAP_CONTENT,
24702472
RadioGroup.LayoutParams.WRAP_CONTENT);
@@ -2480,7 +2482,12 @@ private void showVideoOptions(final boolean chromecast, final boolean local) {
24802482
public void onCheckedChanged(RadioGroup group, int checkedId) {
24812483
logger.d("Checked %s", items[checkedId]);
24822484
prefs.put(prefKey, (String)items[checkedId]);
2483-
dialog.dismiss();
2485+
handler.postDelayed(new Runnable() {
2486+
@Override
2487+
public void run() {
2488+
dialog.dismiss();
2489+
}
2490+
}, 500);
24842491
}
24852492
});
24862493
dialog.show();

0 commit comments

Comments
 (0)