Skip to content
Snippets Groups Projects

core: rework vlc_ancillary API

Closed Thomas Guillem requested to merge tguillem/vlc:ancillary_list into master

Add a new API: vlc_ancillary_list, a vlc_list + refcount + mutex that hold all ancillaries.

The previous API: vlc_ancillary is now only used internally and not exported.

The main reason for this rework is to allow passing all ancillaries from block/frames to pictures and vice versa in a more convenient way. The user doesn't have to enumerate all ancillaries ID explicitly, and can now pass ancillaries that are unknown to the current module. Indeed, an ancillary created by a demux could be unknown to a packetizer but handled by a decoder module, for example.

Some decoder modules allow passing extra data (reorder_opaque in ffmpeg, sourceFrameRefCon in videotoolbox). Passing and holding a vlc_ancillary_list might be more convenient than passing and holding the whole input data (vlc_frame_t).

This is needed for the clock-context !5144 (closed) that will use ancillary data. An intermediate MR will be needed to actually pass ancillaries from all packetizers and codecs modules. Once this work is done, any extra data can be passed from the demux to the outpit.

Merge request reports

Merge request pipeline #474767 passed with warnings

Merge request pipeline passed with warnings for 0aeeda32

Test coverage 18.33% from 1 job
Approval is optional

Closed by Thomas GuillemThomas Guillem 7 months ago (Sep 30, 2024 7:12am UTC)

Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
Please register or sign in to reply
Loading