Commit Graph

8519 Commits

Author SHA1 Message Date
Alexandre Janniaux 132308a6d3 vlc_es_out: remove private control callback
The private control has been moved to struct vlc_input_es_out which is
an internal interface used by the input only, removing the need for the
modules using the vlc_es_out interface to know about this.
2024-04-30 21:09:23 +00:00
Thomas Guillem 4c78bc6063 atomic: fix static vlc_atomic_rc_t init
It was never used, so no bad consequences (I plan to use it soon).
2024-04-25 13:11:15 +00:00
Steve Lhomme 9226c3dcb5 libvlc: mark "fit" API entries as new in libvlc 4.0.0 2024-04-24 08:47:13 +00:00
Steve Lhomme 0eb7be304d libvlc: explicitly set a value for the libvlc_video_fit_mode_t enum values
Just like the other enums.
2024-04-24 08:47:13 +00:00
Steve Lhomme 65b813712c display: remove redundant VOUT_DISPLAY_CHANGE_DISPLAY_FILLED
If the display filling mode of the video changed, the video placement has changed as well.
Display modules don't actually care about the aspect ratio, just where they're supposed to stretch the video.
2024-04-15 05:51:40 +00:00
Steve Lhomme 0c10d95148 display: remove redundant VOUT_DISPLAY_CHANGE_ZOOM
If the zoom of the video changed, the video placement has changed as well.
Display modules don't actually care about the aspect ratio, just where they're supposed to stretch the video.
2024-04-15 05:51:40 +00:00
Steve Lhomme 4ab62d06f8 display: notify display modules when the picture placement changed
In many cases that's what they really care about. Not the display size or display filled value.
2024-04-15 05:51:40 +00:00
Steve Lhomme ffd9f613a7 libvlc: add API to get/set the video fit mode 2024-04-15 05:27:09 +00:00
Steve Lhomme 3502c02a1d vlc_fixups: only define TIME_UTC if it's not defined
On Android timespec_get() is supported on some API levels. But TIME_UTC is always defined.
2024-04-12 18:35:52 +00:00
Alaric Senat baed3b02ec medialibrary: allow changing folder public state
This is the main mechanism that will be exposed to the user to
allow/disallow multiple media to be publicly exposed on the network by
VLC.
2024-04-11 13:19:17 +00:00
Alaric Senat 2bb616a50c medialibrary: media: expose an `is_public` accessor 2024-04-11 13:19:17 +00:00
Alaric Senat c4a3e9ceee medialibrary: expose the `publicOnly` query parameter
Allow medialibrary queries to process and list public media.

Public media are a new addition of the medialibrary 0.13 version. With
this, the users will have the opportunity to allow a subset of the
medialibrary to be exposed on network interfaces (notably the upnp
server and the HTTP remote control).

Community discussions around the subject can be found here:
https://code.videolan.org/videolan/vlc/-/merge_requests/269#note_274345
2024-04-11 13:19:17 +00:00
Fatih Uzunoglu 4134f7f3ef aout: respect AOUT_VOLUME_MAX in aout_volumeUpdate() 2024-04-09 03:57:08 +00:00
Steve Lhomme 02fd6845d3 vout_subpictures: remove write-only subpicture_t absolute flag 2024-04-05 08:12:29 +02:00
Steve Lhomme 7bd3402a88 vlc_subpictures: add the b_absolute to subpicture_region_t
It makes more to put the region relation to the video next to the i_align flag and
the i_x/i_x absolute offset or margin inside the video.

A subpicture could have absolute regions and relative regions.
2024-04-04 07:38:41 +02:00
Alaric Senat 9394e7eace medialibrary: expose `favorite_only` QueryParameter
Allow favorite only listing on various medialibrary objects.
2024-03-30 17:41:04 +00:00
Alaric Senat bbd81d4cf5 medialibrary: playlist: expose new listing options
MediaLibrary 0.13 allows to list and search on playlist that contains at
least one element of a certain media type.

This is mostly useful to consider playlists with at least one audio file
to be treated as music playlists.
2024-03-30 17:41:04 +00:00
Alaric Senat 99b6c691c2 medialibrary: folder: expose the duration field 2024-03-30 17:41:04 +00:00
Alaric Senat d848ce86ed medialibrary: history: rework listing by media type
To reflect the latest changes in medialibrary 0.13. There is a listing
function for both audio and video now. This avoids bad combinations of
mediatype and history type.
2024-03-30 17:41:04 +00:00
Alaric Senat 2d2ded737a medialibrary: history: unify stream and global wrappers
To reflect the 0.13 medialibrary public API. The network/local/global
histories can be fetched by a single call now.
2024-03-30 17:41:04 +00:00
Alaric Senat ab1dd2678e medialibrary: history: allow clearing via import type
This feature was added in medialibrary 0.13.
2024-03-30 17:41:04 +00:00
Alaric Senat b5c36b754e medialibrary: update to 0.13 API changes 2024-03-30 17:41:04 +00:00
Alaric Senat ac5c1d1782 medialibrary: add query parameter documentation 2024-03-30 17:41:04 +00:00
Alaric Senat d4f6fdcf6a medialibrary: rename playlist filtering types
These needs to be more explicit to match the actual medialibrary
behavior. Currently, filtering asking for video or audio playlists will
return playlists that contain exclusively the designated entity type.

The next medialibrary release introduce new filtering types allowing
finer filtering.
2024-03-30 17:41:04 +00:00
Steve Lhomme d8680da9f2 subpicture: ensure all subtitle decoders set the b_subtitle flag
It wasn't set in the test decoder callback.
2024-03-28 16:52:10 +00:00
Steve Lhomme 349e7c09ee vout_subpictures: show subtitles in black bars
This is disabling the subtitle area "stacking" as it forces the source
subtitle subpicture to be absolute. But absolute subpictures have absolute
coordinates inside the (unscaled) video. They are not meant to be shown
outside of the video area.
2024-03-28 14:54:23 +00:00
Steve Lhomme c7f0adde2b display: add an option to display SPUs in black bars
To do that we need the video to fill the entire window.
2024-03-28 14:54:23 +00:00
Steve Lhomme 301cc26428 vout_subpictures: place rendered regions in display coordinates
Only for display modules that render regions separately.
2024-03-27 11:43:23 +00:00
Steve Lhomme 0776916550 vout_subpictures: pass the placed video to the SPU renderer
In case the absolute SPUs need shifting inside the video.
2024-03-27 11:43:23 +00:00
Steve Lhomme 664f251966 vout_subpicture: remove write-only original size in rendered subpicture
It was only used by the display modules rendering (scaled) regions.
That was always set to the video placement dimensions in the display, which they already know about.
2024-03-25 12:21:29 +00:00
Steve Lhomme 17bc969d45 vlc_spu: assume display module that can render subpicture regions can scale it
We already require these display modules to be able to place and scale/stretch the video picture.
2024-03-22 11:40:44 +00:00
Steve Lhomme 7b5664c013 vout_subpictures: handle zoomed placement in the core
The zooming factor is applied once in the core, no need to make the display module compute it.
2024-03-22 11:40:44 +00:00
Steve Lhomme f9434a9530 vout_subpictures: set the part of the region picture to display in the picture
The picture format already has a way to set cropping values in the picture.
We just need a clone of the picture to change the metadata.
2024-03-22 11:40:44 +00:00
Gabriel LT 2c853dd809 fs: add vlc_mkdir_parent function that correspond to 'mkdir -p' 2024-03-21 09:50:58 +00:00
Steve Lhomme e6f6390ba2 vlc_tick: include vlc_common to get VLC_API 2024-03-17 17:05:54 +00:00
Alexandre Janniaux d57c315696 vlc_tracer: move TraceRender to clock.c
The function is specific to clock and not used anywhere else.
2024-03-13 14:03:51 +00:00
Steve Lhomme 3dc2d0186c vlc_subpictures: remove unused rendered region format
We have either cropping in the source picture or placement in the display coordinates.
The picture format also has all the colorimetry we need.
2024-03-12 07:29:36 +00:00
Steve Lhomme 41525773d6 vlc_subpictures: set the source offset in a separate fields
So we can get rid of the whole video_format_t.
2024-03-12 07:29:36 +00:00
Steve Lhomme d65ee1fc23 vlc_subpictures: replace rendered position with a display placement
For now only the x/y part of the placement structure are used.
2024-03-12 07:29:36 +00:00
Steve Lhomme 1b21e94f86 vlc_subpicture: remove the rendering zoom from subpicture_region_t
It's only useful when rendering, not in the source subregions.
2024-03-12 07:29:36 +00:00
Steve Lhomme 83181fa907 vlc_subpicture: replace the rendered regions by a vector of subpicture_region_rendered 2024-03-12 07:29:36 +00:00
Steve Lhomme fca2debbe3 vlc_subpictures: add a structure to hold rendered regions
So we don't have to deal with all the fields of a regular region. The zoom should only
be in the rendered region too.
2024-03-12 07:29:36 +00:00
Steve Lhomme e079b924bd vlc_subpictures: remove unused vlc_render_subpicture::i_alpha
The rendered regions have an each their own alpha.
2024-03-10 06:50:39 +00:00
Thomas Guillem 7b631e0954 player: remove the media_provider
Move the media_provider.get_next callback to
vlc_player_cbs.request_next_media.

This callback does not need a special handling since it doesn't
wait for a result anymore.
2024-03-09 21:20:40 +00:00
Thomas Guillem 382e4dad90 player: unexport vlc_player_InvalidateNextMedia 2024-03-09 21:20:40 +00:00
Thomas Guillem 0a84d74cf0 player: document SetCurrentMedia() and SetNextMedia() 2024-03-09 21:20:40 +00:00
Thomas Guillem 67d14d9218 player: rework media_provider.get_next handling
The next media can now be set anytime while the current media is
playing, via vlc_player_SetNextMedia().

Related to #28524
2024-03-09 21:20:40 +00:00
François Cartegnie 37eb94ecf7 vlc_xml: change API to handle namespaces
Prefixes and namespaces are required to be able
to correctly parse multiple namespaces documents
or simply prefixed documents
2024-03-07 13:35:50 +00:00
Alexandre Janniaux 6ea08ff624 tracer: use an array of entries instead of va_list
Forward the tracing key/value entries as an array instead of using
va_list. Using an array is easier to interop with in other languages,
but also and more importantly much easier to store and forward.

This will allow to implement hierarchical tracing context.
2024-03-07 09:26:22 +00:00
Thomas Guillem 3657a5376a player: move SetMediaStoppedAction() to the playlist
The playlist is more suited to handle what to do after a playback.

This will allow to simplify the vlc_player_t media provider by removing
its callback that was sent depending on the media_stopped_action.

Thanks to Pierre for the Qt part of this commit.

Co-authored-by: Pierre Lamot <pierre@videolabs.io>

Related to #28524
2024-03-01 15:59:57 +00:00