Skip to content
Snippets Groups Projects

vout: apple: Add Picture in Picture

All threads resolved!

This adds a new module to handle picture in picture on iOS and tvOS.

Picture in picture is only enabled if the drawable ns-object conforms to the new VLCPictureInPictureDrawable protocol.

VLCPictureInPictureDrawable protocol provide new apis to start/stop picture in picture and various callbacks to handle user interactions from the picture in picture window's overlay.

Implementing VLCPictureInPictureDrawable.pictureInPictureReady block is mandatory to be notified once picture in picture initialization is done.

This block will pass a id<VLCPictureInPictureWindowControlling> object allowing to start and stop picture in picture.

It will also provide a way to invalidate the state of the playback by calling invalidatePlaybackState, forcing the picture in picture to fetch new media infos like current time or media length from the VLCPictureInPictureDrawable.mediaController.

This module uses Apple public APIs hence it won't work for macOS at this time. Separate work will have to be done in order to provide support for picture in picture private APIs and allow the use of picture in picture on macOS with libvlc.

Needs !6056 (merged) to have proper playback progress in Picture in Picture window overlay.

Edited by Maxime Chapelet

Merge request reports

Merge request pipeline #516134 passed

Merge request pipeline passed for b8a97c62

Test coverage 18.45% (0.01%) from 1 job

Merged by Steve LhommeSteve Lhomme 8 months ago (Sep 21, 2024 11:01am UTC)

Merge details

  • Changes merged into with b8a97c62.
  • Deleted the source branch.

Pipeline #516138 passed

Pipeline passed for b8a97c62 on master

Test coverage 18.46% (0.01%) from 1 job

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Thomas Guillem
  • Thomas Guillem
  • Steve Lhomme changed milestone to %4.0

    changed milestone to %4.0

  • Adding a module capability feels over-engineered if there is only one possible back-end.

  • Maxime Chapelet added 3 commits

    added 3 commits

    Compare with previous version

  • Maxime Chapelet changed the description

    changed the description

  • Thomas Guillem resolved all threads

    resolved all threads

  • Maxime Chapelet added 9 commits

    added 9 commits

    Compare with previous version

  • Maxime Chapelet changed the description

    changed the description

  • Maxime Chapelet mentioned in merge request !4372 (closed)

    mentioned in merge request !4372 (closed)

  • added 1 commit

    • 00c41b9a - vout: apple: Add Picture in Picture

    Compare with previous version

  • added MRStatus::Accepted label and removed MRStatus::Acceptable label

  • MR Acceptance result

    :tada: This MergeRequest has been Accepted! Congratulations.

    MR acceptance checks details:

    • :white_check_mark: MR should be considered mergeable by Gitlab
    • :white_check_mark: Last pipeline should be successful
    • :white_check_mark: MergeRequest should have at least one external review and/or vote
    • :white_check_mark: All threads should be resolved, and score >= 0
    • :white_check_mark: MergeRequest should have no activity (threads/votes) for (24h/24h)

    This message was automatically generated by homer-bot.

  • Steve Lhomme added 39 commits

    added 39 commits

    Compare with previous version

  • Steve Lhomme enabled an automatic merge when the pipeline for b8a97c62 succeeds

    enabled an automatic merge when the pipeline for b8a97c62 succeeds

  • merged

  • This needs a NEWS entry.

  • Please register or sign in to reply
    Loading