Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions cloudinary-core/src/main/java/com/cloudinary/Transformation.java
Original file line number Diff line number Diff line change
Expand Up @@ -490,6 +490,30 @@ public T fps(int value) {
return param("fps", new Integer(value));
}

/**
* fps (frames per second) parameter for video
* @param rangeStart String or Number, can be null for open range.
* @param rangeEnd String or Number, can be null for open range.
* @return the transformation for chaining.
*/
public T fps(Object rangeStart, Object rangeEnd){
if (rangeEnd == null && rangeStart == null){
throw new IllegalArgumentException("At least one of [rangeStart, rangeEnd] must be provided");
}
StringBuilder builder = new StringBuilder();
if (rangeStart != null){
builder.append(rangeStart);
}

builder.append("-");

if (rangeEnd != null){
builder.append(rangeEnd);
}

return param("fps", builder.toString());
}

public T streamingProfile(String value) {
return param("streaming_profile", value);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1117,15 +1117,22 @@ public void testResponsiveBreakpointsToJson() {

@Test
public void testFps() {
Transformation t = new Transformation().fps(12);
assertEquals("fps_12", t.generate());
t = new Transformation().fps(12.5);
assertEquals("fps_12.5", t.generate());
t = new Transformation().fps("12");
assertEquals("fps_12", t.generate());
t = new Transformation().fps("12-25.6");
assertEquals("fps_12-25.6", t.generate());

Transformation t = new Transformation().fps("24-29.97");
assertEquals("fps_24-29.97", t.generate());
t = new Transformation().fps(24);
assertEquals("fps_24", t.generate());
t = new Transformation().fps(24.5);
assertEquals("fps_24.5", t.generate());
t = new Transformation().fps("24");
assertEquals("fps_24", t.generate());
t = new Transformation().fps("-24");
assertEquals("fps_-24", t.generate());
t = new Transformation().fps(24,29.97);
assertEquals("fps_24-29.97", t.generate());
t = new Transformation().fps(24,null);
assertEquals("fps_24-", t.generate());
t = new Transformation().fps(null,29.97);
assertEquals("fps_-29.97", t.generate());
}

@Test
Expand Down