Skip to content

Android changelog

1.2.4

Fixed

  • Playback moves to the next clip without the picture pausing at the boundary.
  • Timeline thumbnails show the frame at their own time, including videos with long keyframe intervals.

1.2.3

Fixed

  • The timeline scrolls smoothly during playback and stops where the picture stops.
  • The playhead stays within the loop on the transition and music sheets.
  • Adding the same song twice shows the full waveform in both lanes.
  • Back cancels a detached render while music is being prepared.
  • Closing the editor releases the preview player and its decoders.

1.2.2

Fixed

  • Tapping “Next” more than once starts only one render.
  • The render progress screen appears as soon as “Next” is tapped, including right after adding music.
  • With detachedRenderEnabled, the editor shows a progress indicator while added music is prepared, then closes.

1.2.1

Added

  • Transitions spin, zoom_flip, blur and shake.
  • Effects shake, old_film, strobe and fisheye.

Fixed

  • Split cuts at the playhead, including clips trimmed at the start.
  • A trimmed clip ends exactly where the handle is released, in the preview and in the rendered video.

1.2.0

Added

  • EditorConfig.detachedRenderEnabled: draw render progress in your own UI. Launch with VideoEditorActivity.RenderContract; it returns the EditorRenderJob when the render starts and the editor closes. See “Show render progress in your own UI” in the integration guide.
  • EditorRenderJob reports progress and its end state (EditorRenderState). EditorRenderJob.current is the running job, and VideoEditorActivity.renderJob(resultCode, data) reads it from an activity result.
  • String videoeditor_render_busy, shown when “Next” is tapped while a render job is running.

1.1.1

Added

  • EditorResult.usage (EditorUsage): what went into the rendered video, plus editing and render stats. See “Read usage data” in the integration guide.

Fixed

  • Playback when the timeline contains only photos.
  • The preview switches to a photo immediately while scrubbing into it.

1.1.0

Added

  • Select up to seven videos or photos at once, from the picker and the timeline’s add button. One undo removes them all.
  • A thin border on the editor canvas marks the area included in the result.

Changed

  • Breaking: OutputSpec(width, height, bitrate, maxFrameRate, codec) is replaced by OutputSpec(aspectRatio, bitrate, maxFrameRate, codec) (OutputSpec.AspectRatio: 9:16, 1:1, 4:5, 3:4, 16:9). OutputSpec.DEFAULT is 9:16 (1080×1920).

1.0.10

Added

  • EditorDrafts.deleteAll(context).

Changed

  • A completed render keeps the draft and returns its id as EditorResult.draftId. Delete it with EditorDrafts.delete(context, id).

1.0.8

Added

  • Edge auto-scroll while dragging a trim handle or moving an audio clip.

Fixed

  • Preview playback stops when the editor closes or the app goes to the background.
  • Sticker GIFs are decoded at their on-canvas size.
  • Selection border of a sticker larger than the canvas.

1.0.7

Changed

  • Rendered audio is AAC stereo, 48 kHz, 256 kbps.

1.0.4

Changed

  • An audioPicker result without a URI cancels instead of opening the system file picker.

1.0.3

Added

  • EditorConfig.coverPickerEnabled: a cover screen after “Next” to pick a frame or a gallery photo.
  • EditorResult.audioPaths: audio tracks used, in timeline order.

Changed

  • The license check shows a spinner without text.

1.0.2

Changed

  • Breaking: TextFontSpec(id, displayName, regularAsset, boldAsset) is replaced by TextFontSpec(displayName, asset). Give the bold face as asset.

1.0.1

Changed

  • Transition picker swatches show a transition between two different scenes.

1.0.0

  • VideoEditorActivity presents the editor. Build the intent with VideoEditorActivity.intent(...) and receive the result with VideoEditorActivity.Contract. Failures arrive in intent(onFailure =) while the editor stays open.
  • EditorConfig, OutputSpec, TextFontSpec.
  • intent(audioPicker =): your own audio picker activity.
  • Drafts: draftsEnabled, EditorDrafts, intent(draftId =).
  • Strings are SDK resources (English, Korean). Override them by defining the same names in your app’s strings.xml.