[vlc-commits] aout: improve plugin interface documentation

Rémi Denis-Courmont git at videolan.org
Mon Nov 12 20:36:50 CET 2012


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Mon Nov 12 21:36:26 2012 +0200| [f492f85cb33b8b84f7a9c1f6fe6db772ab7a52fb] | committer: Rémi Denis-Courmont

aout: improve plugin interface documentation

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=f492f85cb33b8b84f7a9c1f6fe6db772ab7a52fb
---

 include/vlc_aout.h |   52 ++++++++++++++++++++++++++++++++++++++++------------
 1 file changed, 40 insertions(+), 12 deletions(-)

diff --git a/include/vlc_aout.h b/include/vlc_aout.h
index 1dd42f3..0ecbc88 100644
--- a/include/vlc_aout.h
+++ b/include/vlc_aout.h
@@ -137,18 +137,46 @@ struct audio_output
 {
     VLC_COMMON_MEMBERS
 
-    struct aout_sys_t *sys; /**< Output plugin private data */
-    int (*start) (audio_output_t *, audio_sample_format_t *);
-    void (*stop) (audio_output_t *);
-    void (*play)(audio_output_t *, block_t *, mtime_t *); /**< Play callback
-        - queue a block for playback */
-    void (*pause)( audio_output_t *, bool, mtime_t ); /**< Pause/resume
-        callback (optional, may be NULL) */
-    void (*flush)( audio_output_t *, bool ); /**< Flush/drain callback
-        (optional, may be NULL) */
-    int (*volume_set)(audio_output_t *, float); /**< Volume setter (or NULL) */
-    int (*mute_set)(audio_output_t *, bool); /**< Mute setter (or NULL) */
-
+    struct aout_sys_t *sys; /**< Private data for callbacks */
+
+    int (*start)(audio_output_t *, audio_sample_format_t *fmt);
+    /**< Starts a new stream (mandatory, cannot be NULL).
+      * \param fmt input stream sample format upon entry,
+      *            output stream sample format upon return [IN/OUT]
+      * \return VLC_SUCCESS on success, non-zero on failure
+      * \note No other stream may be already started when called.
+      */
+    void (*stop)(audio_output_t *);
+    /**< Stops the existing stream (optional, may be NULL).
+      * \note A stream must have been started when called.
+      */
+    void (*play)(audio_output_t *, block_t *, mtime_t *);
+    /**< Queues a block of samples for playback (mandatory, cannot be NULL).
+      * \note A stream must have been started when called.
+      */
+    void (*pause)( audio_output_t *, bool pause, mtime_t date);
+    /**< Pauses or resumes playback (optional, may be NULL).
+      * \param pause pause if true, resume from pause if false
+      * \param date timestamp when the pause or resume was requested
+      * \note A stream must have been started when called.
+      */
+    void (*flush)( audio_output_t *, bool wait);
+    /**< Flushes or drains the playback buffers (optional, may be NULL).
+      * \param wait true to wait for playback of pending buffers (drain),
+      *             false to discard pending buffers (flush)
+      * \note A stream must have been started when called.
+      */
+    int (*volume_set)(audio_output_t *, float volume);
+    /**< Changes playback volume (optional, may be NULL).
+      * \param volume requested volume (0. = mute, 1. = nominal)
+      * \note The volume is always a positive number.
+      * \warning A stream may or may not have been started when called.
+      */
+    int (*mute_set)(audio_output_t *, bool mute);
+    /**< Changes muting (optinal, may be NULL).
+      * \param mute true to mute, false to unmute
+      * \warning A stream may or may not have been started when called.
+      */
     struct {
         void (*volume_report)(audio_output_t *, float);
         void (*mute_report)(audio_output_t *, bool);



More information about the vlc-commits mailing list