[vlc-commits] [Git][videolan/vlc][master] libvlc: expose the playback rate change event
Felix Paul Kühne (@fkuehne)
gitlab at videolan.org
Sat Aug 29 14:11:50 UTC 2026
Felix Paul Kühne pushed to branch master at VideoLAN / VLC
Commits:
ac8929fd by Felix Paul Kühne at 2026-08-29T16:02:27+02:00
libvlc: expose the playback rate change event
- - - - -
2 changed files:
- include/vlc/libvlc_media_player.h
- lib/media_player.c
Changes:
=====================================
include/vlc/libvlc_media_player.h
=====================================
@@ -289,6 +289,17 @@ struct libvlc_media_player_cbs
*/
void (*on_buffering_changed)( void *opaque, float buffering );
+ /**
+ * Callback prototype that notify when the playback rate has changed
+ *
+ * \note Optional (can be NULL),
+ * available since version 0
+ *
+ * \param opaque opaque pointer set by libvlc_media_player_new()
+ * \param rate the new playback rate
+ */
+ void (*on_rate_changed)( void *opaque, float rate );
+
/**
* Callback prototype that notify when the player capabilities changed
*
=====================================
lib/media_player.c
=====================================
@@ -192,6 +192,19 @@ on_buffering_changed(vlc_player_t *player, float new_buffering, void *data)
mp->cbs->on_buffering_changed(mp->cbs_opaque, new_buffering);
}
+static void
+on_rate_changed(vlc_player_t *player, float new_rate, void *data)
+{
+ (void) player;
+
+ libvlc_media_player_t *mp = data;
+
+ if (mp->cbs == NULL || mp->cbs->on_rate_changed == NULL)
+ return;
+
+ mp->cbs->on_rate_changed(mp->cbs_opaque, new_rate);
+}
+
static void
on_capabilities_changed(vlc_player_t *player, int old_caps, int new_caps, void *data)
{
@@ -584,6 +597,7 @@ static const struct vlc_player_cbs vlc_player_cbs = {
.on_state_changed = on_state_changed,
.on_error_changed = on_error_changed,
.on_buffering_changed = on_buffering_changed,
+ .on_rate_changed = on_rate_changed,
.on_capabilities_changed = on_capabilities_changed,
.on_position_changed = on_position_changed,
.on_length_changed = on_length_changed,
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/ac8929fde07aaac53b4c5076b1926e1afa0862a5
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/ac8929fde07aaac53b4c5076b1926e1afa0862a5
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