[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