Skip to content

Commit 8c9b181

Browse files
authored
Add support for range value in Transformation.fps() (#155)
1 parent 15c9a80 commit 8c9b181

File tree

2 files changed

+40
-9
lines changed

2 files changed

+40
-9
lines changed

cloudinary-core/src/main/java/com/cloudinary/Transformation.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -490,6 +490,30 @@ public T fps(int value) {
490490
return param("fps", new Integer(value));
491491
}
492492

493+
/**
494+
* fps (frames per second) parameter for video
495+
* @param rangeStart String or Number, can be null for open range.
496+
* @param rangeEnd String or Number, can be null for open range.
497+
* @return the transformation for chaining.
498+
*/
499+
public T fps(Object rangeStart, Object rangeEnd){
500+
if (rangeEnd == null && rangeStart == null){
501+
throw new IllegalArgumentException("At least one of [rangeStart, rangeEnd] must be provided");
502+
}
503+
StringBuilder builder = new StringBuilder();
504+
if (rangeStart != null){
505+
builder.append(rangeStart);
506+
}
507+
508+
builder.append("-");
509+
510+
if (rangeEnd != null){
511+
builder.append(rangeEnd);
512+
}
513+
514+
return param("fps", builder.toString());
515+
}
516+
493517
public T streamingProfile(String value) {
494518
return param("streaming_profile", value);
495519
}

cloudinary-core/src/test/java/com/cloudinary/test/CloudinaryTest.java

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1117,15 +1117,22 @@ public void testResponsiveBreakpointsToJson() {
11171117

11181118
@Test
11191119
public void testFps() {
1120-
Transformation t = new Transformation().fps(12);
1121-
assertEquals("fps_12", t.generate());
1122-
t = new Transformation().fps(12.5);
1123-
assertEquals("fps_12.5", t.generate());
1124-
t = new Transformation().fps("12");
1125-
assertEquals("fps_12", t.generate());
1126-
t = new Transformation().fps("12-25.6");
1127-
assertEquals("fps_12-25.6", t.generate());
1128-
1120+
Transformation t = new Transformation().fps("24-29.97");
1121+
assertEquals("fps_24-29.97", t.generate());
1122+
t = new Transformation().fps(24);
1123+
assertEquals("fps_24", t.generate());
1124+
t = new Transformation().fps(24.5);
1125+
assertEquals("fps_24.5", t.generate());
1126+
t = new Transformation().fps("24");
1127+
assertEquals("fps_24", t.generate());
1128+
t = new Transformation().fps("-24");
1129+
assertEquals("fps_-24", t.generate());
1130+
t = new Transformation().fps(24,29.97);
1131+
assertEquals("fps_24-29.97", t.generate());
1132+
t = new Transformation().fps(24,null);
1133+
assertEquals("fps_24-", t.generate());
1134+
t = new Transformation().fps(null,29.97);
1135+
assertEquals("fps_-29.97", t.generate());
11291136
}
11301137

11311138
@Test

0 commit comments

Comments
 (0)