Skip to content

Commit

Permalink
Merge pull request #4093 from Bnyro/master
Browse files Browse the repository at this point in the history
Fix that seekbar preview frames are sometimes cut off
  • Loading branch information
Bnyro authored Jun 24, 2023
2 parents a27e153 + 5fa479f commit 7be9fc9
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -437,7 +437,7 @@ object PlayerHelper {
for (x in 0 until frames.framesPerPageX) {
val endPosition = startPosition + frames.durationPerFrame
if (position in startPosition until endPosition) {
return PreviewFrame(url, x, y, frames.framesPerPageX, frames.framesPerPageY)
return PreviewFrame(url, x, y, frames.frameWidth, frames.frameHeight)
}
startPosition = endPosition
}
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/java/com/github/libretube/obj/PreviewFrame.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ data class PreviewFrame(
val previewUrl: String,
val positionX: Int,
val positionY: Int,
val framesPerPageX: Int,
val framesPerPageY: Int,
val frameWidth: Int,
val frameHeight: Int,
)
10 changes: 4 additions & 6 deletions app/src/main/java/com/github/libretube/util/BitmapUtil.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,12 @@ object BitmapUtil {
* Cut off a new bitmap from the image that contains multiple preview thumbnails
*/
fun cutBitmapFromPreviewFrame(bitmap: Bitmap, previewFrame: PreviewFrame): Bitmap {
val heightPerFrame = bitmap.height / previewFrame.framesPerPageY
val widthPerFrame = bitmap.width / previewFrame.framesPerPageX
return Bitmap.createBitmap(
bitmap,
previewFrame.positionX * widthPerFrame,
previewFrame.positionY * heightPerFrame,
widthPerFrame,
heightPerFrame,
previewFrame.positionX * previewFrame.frameWidth,
previewFrame.positionY * previewFrame.frameHeight,
previewFrame.frameWidth,
previewFrame.frameHeight,
)
}
}

0 comments on commit 7be9fc9

Please sign in to comment.