Skip to content

Libvlc v4 support #304

Description

@oaubert

The coming libvlc v4 has a number of breaking changes that will requires multiple changes in the code generator and templates.

Breaking Changes:

  • libvlc_event_manager_t has been removed. Objects now take versioned libvlc_*_cbs callback structs at creation. Use the migration guide to map old event handlers.
  • libvlc_time_t is now measured in microseconds across the public API. Every function that used milliseconds now accepts/returns microseconds via libvlc_time_t.
  • libvlc_media_t parsing and thumbnailing APIs have been replaced by libvlc_parser_t.
  • Anonymous unions in public structs have been replaced with named unions for better compatibility with auto-generated bindings.
  • Several APIs have been renamed or removed (see the migration guide).

New features:

  • libvlc_parser_t: unified parsing and thumbnailing API with its own thread pool, concurrent requests, and allows re-queueing already parsed media.
  • Versioned callback structs: append-only design provides forward ABI compatibility, allowing newer libvlc.so versions to run existing binaries unchanged.
  • libvlc_media_player_cbs: complete replacement for MediaPlayer events, includes new functionality like on_media_attachments_added callback delivering a libvlc_picture_list_t of attachments, and on_media_stopping now exposes a libvlc_stopping_reason_t (fixes #26819).
  • Media list player rewritten to listen directly to player callbacks.
  • libvlc_downloader API: asynchronously downloads media as a bitstream with progress reporting, enabling local storage, caching, etc. It is introduced in !7848, which is on top of this MR and will be merged afterwards.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions