[vlc-commits] [Git][videolan/vlc][master] 56 commits: lib: use a struct for cbs in libvlc_media_player_watch_time()
Thomas Guillem (@tguillem)
gitlab at videolan.org
Thu Jun 25 14:03:08 UTC 2026
Thomas Guillem pushed to branch master at VideoLAN / VLC
Commits:
52b55205 by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: use a struct for cbs in libvlc_media_player_watch_time()
Refs #27971
Co-authored-By: Ayush Dey <deyayush6 at gmail.com>
- - - - -
10958ea7 by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: use a struct for cbs in libvlc_media_new_callbacks()
Refs #27971
Co-authored-By: Ayush Dey <deyayush6 at gmail.com>
- - - - -
3d83f3a5 by Thomas Guillem at 2026-06-24T15:40:41+02:00
test: move media_thumbnail.c to thumbnailer.c
Since it will use the new thumbnailer API.
- - - - -
890af31f by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: don't send MediaListEndReached when stopping the discoverer
It the user stops it, he knowns this is the end.
Refs #27971
- - - - -
c6f531b6 by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: remove deprecated events
No use to keep deprecated values if they are not even used.
Refs #27971
- - - - -
fdb60775 by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: remove "*Will*" events
Refs #27971
- - - - -
96d54ba9 by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: remove libvlc_MediaListEndReached
This was used when stopping the discoverer (removed in
5e5260ff88873d84a541090de1b5276b17fec681) and when a media was parsed.
Use the libvlc_MediaParsedChanged event instead, as the doc say.
Refs #27971
- - - - -
084be985 by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: use a struct for cbs in libvlc_media_discoverer_new()
This replaces libvlc_MediaListItemAdded and libvlc_MediaListItemDeleted
that will be removed.
Refs #27971
Co-authored-By: Ayush Dey <deyayush6 at gmail.com>
- - - - -
6a979b1a by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: remove libvlc_media_discoverer_media_list
Callbacks should be used instead and it does not allow to get item parents.
- - - - -
f48dc7fc by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: move parsing code from media.c to parser.c
Prerequisite for the upcoming libvlc_parser_t class.
No functional changes.
Refs #27971
- - - - -
bcd72e32 by Ayush Dey at 2026-06-24T15:40:41+02:00
lib: rework libvlc_parser API
Multiple media can be parsed asynchronously using
a single libvlc_parser.
The per-media parse state is now private and reduced to
none/done. libvlc_media_get_parsed_status() and the public
libvlc_media_parsed_status_t enum are replaced by libvlc_media_is_parsed().
The detailed terminal outcome of a parse request is reported through
libvlc_parser_status_t in libvlc_parser_cbs.on_parsed, keeping
the parser and media states separated.
Refs #27971
- - - - -
d5727ae1 by Ayush Dey at 2026-06-24T15:40:41+02:00
lib: fix libvlc_picture_new size export with 0x0 dimensions
The new thumbnail generation API in the next commit should be able to
accept default height and width value as 0 and in that case should
preserve the media's original dimensions. Since, picture_Export expects
-1x-1 for that case, translate the convention before calling picture_Export.
- - - - -
927f82f3 by Ayush Dey at 2026-06-24T15:40:41+02:00
lib: move thumbnailer code from media.c to parser.c
No functional changes.
Refs #27971
- - - - -
f6bbf156 by Ayush Dey at 2026-06-24T15:40:41+02:00
lib: merge thumbnailer APIs into libvlc_parser
A single libvlc_parser instance can now handle both
media parsing and thumbnail generation requests.
Internally uses the vlc_preparser, which executes these
requests independently in their own executors/threads.
(cf, !6272)
Refs #27971
- - - - -
6bc7d984 by Ayush Dey at 2026-06-24T15:40:41+02:00
lib: remove internal preparser and thumbnailer
Reverts e863a52dc33734984ffa2329b4f00f229edb9cb4 and
32bd642b0356ce8575056da8493b1aeab445cf2b
- - - - -
f0718ba4 by Thomas Guillem at 2026-06-24T15:40:41+02:00
vlc-thumb: use a semaphore
And don't use global contexts.
Refs #27971
- - - - -
6680e0cc by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: use a struct for cbs in libvlc_renderer_discoverer_new()
Refs #27971
Co-authored-By: Ayush Dey <deyayush6 at gmail.com>
- - - - -
805427d8 by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: rename libvlc_renderer_discoverer_ release() to destroy()
Since it's not refcounted.
Refs #27971
- - - - -
16f37ff5 by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: rename libvlc_media_discoverer_ release() to destroy()
Since it's not refcounted.
Refs #27971
- - - - -
ccec652b by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: add libvlc_media_player_set_next_media()
- - - - -
020b8a57 by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: media_list_player: remove unused observers
"Nothing to do. For now." but the event was registered anyway.
- - - - -
eff2cff0 by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: media_list: remove events
Use libvlc_media_discoverer_cbs, libvlc_parser_cbs to get notified when
a new media is added in the list.
Refs #27971
- - - - -
6ab0aa8f by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: remove deprecated and unused libvlc_Buffering
Refs #27971
- - - - -
b81107db by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: add internal libvlc_state_from_player()
Refs #27971
- - - - -
35a184ca by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: remove libvlc_media_list_player_set_media_player()
This simplify the API, specially regarding future callbacks.
The player should stay constant anyway.
Refs #27971
- - - - -
171fd33f by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: media_list_player: use the vlc_player lock
Refs #27971
- - - - -
379a6c9e by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: media_list_player: rework list handling
Listen to player events and use libvlc_media_player_set_next_media().
And remove the huge playlist_thread hack.
Refs #27971
- - - - -
d9acebfa by Thomas Guillem at 2026-06-24T15:40:41+02:00
doc: wx_player: fix build
- - - - -
7ad212cc by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: use a struct for cbs in libvlc_media_player
And remove all "libvlc_MediaPlayer*" events.
Refs #27971
Co-authored-By: Ayush Dey <deyayush6 at gmail.com>
- - - - -
9af71805 by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: media_player: add a macro for vlc->libvlc title conversion
- - - - -
554776f1 by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: media_player: expose structs from on_chapter_selection_changed()
- - - - -
7fc6bd66 by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: media_list_player: remove events
Use libvlc_media_player_cbs.on_media_changed() instead of
libvlc_MediaListPlayerNextItemSet.
Use libvlc_media_player_cbs.on_state_changed() instead of
libvlc_MediaListPlayerPlayed/libvlc_MediaListPlayerStopped.
Refs #27971
- - - - -
19c82b42 by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: media: remove all events
Since there are now unused by the media_player.
Refs #27971
- - - - -
91bd9269 by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: add libvlc_media_list_internal_clear()
- - - - -
6af967e2 by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: media: lock mlist only once
Fix a race condition where the user could retrieve only a part of the
media list while it is being updated.
- - - - -
cb3ede5d by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: media: clear subitems when adding a new node
libvlc_media_add_subtree() is called only one time per parsing/playback
(if there are sub items). Clear the previous media_list if the media has
been playing or parsed more than one times.
Fixes all subitems being duplicated when parsing/playing the same media
instance more than one time.
- - - - -
2562530b by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: remove libvlc_event_manager_t
Refs #27971
- - - - -
b38ae6cf by Thomas Guillem at 2026-06-24T15:40:41+02:00
test: remove a scenario from media_list_player
Not build, use media->p_subitems directly, and not even testing that all
media are played.
- - - - -
2bd7f1dd by Thomas Guillem at 2026-06-24T15:40:41+02:00
test: resurrect and fix media_list_player
No more active wait (use new callbacks instead).
Use mock://node_count to test sub item handling.
Fix leaks.
- - - - -
7d4a0355 by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: media_player: add on_media_attachments_added event
- - - - -
98c525db by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: media_track: rename hold to retain
Like everywhere else in the lib.
- - - - -
2220d1ee by Thomas Guillem at 2026-06-24T15:40:41+02:00
lib: renderer_discoverer: rename hold to retain
Like everywhere else in the lib.
- - - - -
67b72251 by Thomas Guillem at 2026-06-24T15:40:41+02:00
test: media_player: use internal lock and CV
- - - - -
acd42760 by Thomas Guillem at 2026-06-24T15:40:41+02:00
doc: add samples_libvlc_parser
Co-authored-By: Ayush Dey <deyayush6 at gmail.com>
- - - - -
b675926d by Thomas Guillem at 2026-06-24T15:40:41+02:00
doc: add samples_libvlc_media_discoverer
Co-authored-By: Ayush Dey <deyayush6 at gmail.com>
- - - - -
fae3ce36 by Thomas Guillem at 2026-06-24T15:40:41+02:00
doc: add samples_libvlc_renderer_discoverer
Co-authored-By: Ayush Dey <deyayush6 at gmail.com>
- - - - -
72989c3f by Thomas Guillem at 2026-06-24T15:40:41+02:00
doc: add samples_libvlc_player
Co-authored-By: Ayush Dey <deyayush6 at gmail.com>
- - - - -
93f66041 by Thomas Guillem at 2026-06-24T15:40:41+02:00
doc: add timer API usage in samples_libvlc_player
Co-authored-By: Ayush Dey <deyayush6 at gmail.com>
- - - - -
f3570a50 by Ayush Dey at 2026-06-24T15:40:41+02:00
lib: add version in libvlc_dialog_cbs
Refs #27971
- - - - -
49865f04 by Ayush Dey at 2026-06-24T15:40:41+02:00
preparser: remove unused vlc_preparser_SetTimeout
Remove internal set_timeout method in vlc_preparser_operations.
- - - - -
5e85463c by Ayush Dey at 2026-06-24T15:40:41+02:00
lib: expose media stopping reason via on_media_stopping
Fixes #26819
- - - - -
a10f9a0e by Ayush Dey at 2026-06-24T15:40:41+02:00
lib: use microseconds (us) for libvlc_time_t
Use a single typed time unit throughout libvlc. Replaced millisecond
usage with microseconds (libvlc_time_t).
Co-authored-By: Thomas Guillem <thomas at gllm.fr>
- - - - -
00d93986 by Ayush Dey at 2026-06-24T15:40:41+02:00
lib: name anonymous unions in public structs
- - - - -
56b36315 by Ayush Dey at 2026-06-24T15:40:41+02:00
doc: add libvlc-v3-to-v4 documentation
Co-authored-By: Thomas Guillem <thomas at gllm.fr>
- - - - -
beee353b by Ayush Dey at 2026-06-24T15:40:41+02:00
doc: fix race condition in libvlc example
Previously, it relied on libvlc_media_player_is_playing that led to
race conditions. Fixes #27438
- - - - -
2051c2f3 by Ayush Dey at 2026-06-24T15:40:41+02:00
lib: document that libvlc_picture_list_at returns a weak reference
- - - - -
86 changed files:
- doc/Makefile.am
- + doc/libvlc/CHANGES-v3-to-v4.md
- − doc/libvlc/CHANGES-v3-to-v4.txt
- doc/libvlc/QtGL/qtvlcwidget.cpp
- doc/libvlc/QtPlayer/player.cpp
- doc/libvlc/appkit_player.m
- doc/libvlc/d3d11_player.cpp
- doc/libvlc/d3d9_player.c
- doc/libvlc/example.c
- doc/libvlc/gtk_player.c
- + doc/libvlc/media_discoverer.c
- + doc/libvlc/parser.c
- + doc/libvlc/player.c
- + doc/libvlc/renderer_discoverer.c
- doc/libvlc/sdl_opengl_player.cpp
- doc/libvlc/thumbnailer.c
- doc/libvlc/win_player.c
- doc/libvlc/wx_player.cpp
- include/meson.build
- include/vlc/libvlc.h
- include/vlc/libvlc_dialog.h
- − include/vlc/libvlc_events.h
- include/vlc/libvlc_media.h
- include/vlc/libvlc_media_discoverer.h
- include/vlc/libvlc_media_list.h
- include/vlc/libvlc_media_list_player.h
- include/vlc/libvlc_media_player.h
- include/vlc/libvlc_media_track.h
- + include/vlc/libvlc_parser.h
- include/vlc/libvlc_picture.h
- include/vlc/libvlc_renderer_discoverer.h
- include/vlc/vlc.h
- include/vlc_preparser.h
- lib/Makefile.am
- lib/audio.c
- lib/core.c
- lib/dialog.c
- − lib/event.c
- lib/libvlc.sym
- lib/libvlc_internal.h
- lib/media.c
- lib/media_discoverer.c
- lib/media_internal.h
- lib/media_list.c
- lib/media_list_internal.h
- lib/media_list_player.c
- lib/media_player.c
- lib/media_player_internal.h
- lib/media_track.c
- lib/meson.build
- + lib/parser.c
- lib/picture.c
- lib/renderer_discoverer.c
- lib/video.c
- modules/access/imem-access.c
- modules/video_chroma/d3d11_fmt.cpp
- modules/video_chroma/d3d9_fmt.c
- modules/video_output/android/window.c
- modules/video_output/vgl.c
- modules/video_output/win32/direct3d11.cpp
- modules/video_output/win32/direct3d9.c
- modules/video_output/win32/dxgi_swapchain.cpp
- po/POTFILES.in
- src/libvlccore.sym
- src/preparser/external.c
- src/preparser/internal.c
- src/preparser/preparser.c
- src/preparser/preparser.h
- src/test/headers.c
- test/Makefile.am
- test/libvlc/equalizer.c
- − test/libvlc/libvlc_additions.h
- test/libvlc/media.c
- test/libvlc/media_callback.c
- test/libvlc/media_discoverer.c
- test/libvlc/media_list_player.c
- test/libvlc/media_player.c
- test/libvlc/media_player.h
- test/libvlc/media_player_record.c
- test/libvlc/media_utils.h
- test/libvlc/meson.build
- test/libvlc/meta.c
- test/libvlc/renderer_discoverer.c
- test/libvlc/slaves.c
- test/libvlc/media_thumbnail.c → test/libvlc/thumbnailer.c
- test/libvlc/video_callback.c
The diff was not included because it is too large.
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/cc660c266627fc01eebfa4316ce141c51c1958e2...2051c2f33ab3caa958b3f5f4038335e8cc3fa7ea
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/cc660c266627fc01eebfa4316ce141c51c1958e2...2051c2f33ab3caa958b3f5f4038335e8cc3fa7ea
You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help
More information about the vlc-commits
mailing list