From d6b48a4465291517e002f08b90c13e3ddabf4a8f Mon Sep 17 00:00:00 2001 From: nuclearfog Date: Wed, 26 Oct 2022 21:18:18 +0200 Subject: [PATCH] bug fix, tweet video improvement --- .../org/nuclearfog/twidda/backend/api/impl/TweetV1.java | 6 ++++-- .../org/nuclearfog/twidda/ui/activities/VideoViewer.java | 7 ++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/api/impl/TweetV1.java b/app/src/main/java/org/nuclearfog/twidda/backend/api/impl/TweetV1.java index 99c8e7a5..72882129 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/api/impl/TweetV1.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/api/impl/TweetV1.java @@ -318,13 +318,15 @@ public class TweetV1 implements Tweet { case "video": mediaType = MEDIA_VIDEO; + int maxBitrate = -1; JSONObject video = mediaItem.getJSONObject("video_info"); JSONArray videoVariants = video.getJSONArray("variants"); for (int pos = 0; pos < videoVariants.length(); pos++) { JSONObject variant = videoVariants.getJSONObject(pos); - if (MIME_V_MP4.equals(variant.getString("content_type"))) { + int bitRate = variant.optInt("bitrate", 0); + if (bitRate > maxBitrate && MIME_V_MP4.equals(variant.getString("content_type"))) { links[0] = variant.getString("url"); - break; + maxBitrate = bitRate; } } return links; diff --git a/app/src/main/java/org/nuclearfog/twidda/ui/activities/VideoViewer.java b/app/src/main/java/org/nuclearfog/twidda/ui/activities/VideoViewer.java index bfe1f7f9..f64f59bd 100644 --- a/app/src/main/java/org/nuclearfog/twidda/ui/activities/VideoViewer.java +++ b/app/src/main/java/org/nuclearfog/twidda/ui/activities/VideoViewer.java @@ -347,7 +347,12 @@ public class VideoViewer extends MediaActivity implements OnSeekBarChangeListene @Override public boolean onError(MediaPlayer mp, int what, int extra) { if (what == MEDIA_ERROR_UNKNOWN) { - confirmDialog.show(ConfirmDialog.VIDEO_ERROR); + if (link.getScheme().startsWith("http")) { + confirmDialog.show(ConfirmDialog.VIDEO_ERROR); + } else { + Toast.makeText(this, R.string.error_cant_load_video, LENGTH_SHORT).show(); + finish(); + } return true; } return false;