mirror of
https://code.videolan.org/videolan/vlc
synced 2024-09-08 11:26:59 +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:
parent
a28a9dd75c
commit
1f743fa704
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user