1
mirror of https://code.videolan.org/videolan/vlc synced 2024-07-29 11:58:24 +02:00

qt: player: use lambda to static initialize cbs

The callbacks needed to be defined with the correct order and without
oversight since C++14 doesn't support designated initializer. But
vlc_player callbacks are all optional and there's no point in having
such constraint for C++ code. Use a static lambda initializer with an
initial zero-initializer to circumvent this limitation.
This commit is contained in:
Alexandre Janniaux 2021-07-13 13:51:48 +02:00 committed by Jean-Baptiste Kempf
parent a28a9dd75c
commit 1f743fa704

View File

@ -988,21 +988,26 @@ static const struct vlc_player_cbs player_cbs = {
on_player_playback_restore_queried on_player_playback_restore_queried
}; };
static const struct vlc_player_vout_cbs player_vout_cbs = { static const vlc_player_vout_cbs player_vout_cbs = []{
on_player_vout_fullscreen_changed, struct vlc_player_vout_cbs cbs{};
on_player_vout_wallpaper_mode_changed cbs.on_fullscreen_changed = on_player_vout_fullscreen_changed;
}; cbs.on_wallpaper_mode_changed = on_player_vout_wallpaper_mode_changed;
return cbs;
}();
static const struct vlc_player_aout_cbs player_aout_cbs = { static const vlc_player_aout_cbs player_aout_cbs = []{
on_player_aout_volume_changed, struct vlc_player_aout_cbs cbs{};
on_player_aout_mute_changed, cbs.on_volume_changed = on_player_aout_volume_changed;
nullptr cbs.on_mute_changed = on_player_aout_mute_changed;
}; return cbs;
}();
static const struct vlc_player_timer_cbs player_timer_cbs = { static const vlc_player_timer_cbs player_timer_cbs = []{
on_player_timer_update, struct vlc_player_timer_cbs cbs {};
on_player_timer_discontinuity, cbs.on_update = on_player_timer_update;
}; cbs.on_discontinuity = on_player_timer_discontinuity;
return cbs;
}();
PlayerControllerPrivate::PlayerControllerPrivate(PlayerController *playercontroller, qt_intf_t *p_intf) PlayerControllerPrivate::PlayerControllerPrivate(PlayerController *playercontroller, qt_intf_t *p_intf)
: q_ptr(playercontroller) : q_ptr(playercontroller)