[vlc-commits] include: improve doc for vlc_strfplayer

Marvin Scholz git at videolan.org
Sat May 2 17:46:45 CEST 2020


vlc | branch: master | Marvin Scholz <epirat07 at gmail.com> | Tue Apr 14 19:11:39 2020 +0200| [fc8699639cfd05959071d572b0d886267e36892c] | committer: Alexandre Janniaux

include: improve doc for vlc_strfplayer

Signed-off-by: Alexandre Janniaux <ajanni at videolabs.io>

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

 include/vlc_strings.h | 48 +++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 45 insertions(+), 3 deletions(-)

diff --git a/include/vlc_strings.h b/include/vlc_strings.h
index 930d3347fb..0b9a843f29 100644
--- a/include/vlc_strings.h
+++ b/include/vlc_strings.h
@@ -171,14 +171,56 @@ VLC_API char *vlc_strftime( const char * );
 /**
  * Formats input meta-data.
  *
- * Formats input and input item meta-informations into a heap-allocated string.
+ * Formats input and input item meta-informations into a heap-allocated string
+ * according to the given player format string.
+ *
+ * The player format string contains of replacement specifiers, each specifier begins
+ * with the dollar character (`$`) followed by one of the following letters:
+ *
+ * Char  | Replacement
+ * ----- | -------------------------------
+ *  `a`  | Artist metadata
+ *  `b`  | Album title metadata
+ *  `c`  | Copyright infromation metadata
+ *  `d`  | Description metadata
+ *  `e`  | 'Encoded by' metadata
+ *  `f`  | Displayed output frame (`-` if not available)
+ *  `g`  | Genre metadata
+ *  `l`  | Language metadata
+ *  `n`  | Current Track number metadata
+ *  `o`  | Total Track number metadata
+ *  `p`  | Now playing metadata (i.e. currently playing title for livestreams)
+ *  `r`  | Rating metadata
+ *  `s`  | Selected subtitle language (`-` if not available)
+ *  `t`  | Title metadata
+ *  `u`  | URL metadata
+ *  `A`  | Date metadata
+ *  `B`  | Selected audio track bitrate (`-` if not available)
+ *  `C`  | Current chapter index (`-` if not available)
+ *  `D`  | Item duration (`--:--:--` if not available)
+ *  `F`  | Item URI
+ *  `I`  | Current title index (`-` if not available)
+ *  `L`  | Item remaining time (`--:--:--` if not available)
+ *  `N`  | Item name
+ *  `O`  | Current audio track language (`-` if not available)
+ *  `P`  | Current playback position (0.0 to 1.0, `--.-%` if not available)
+ *  `R`  | Current playback speed (1.0 is normal speed, `-` if not available)
+ *  `S`  | Current audio track samplerate (`-` if not available)
+ *  `T`  | Current playback time (`--:--:--` if not available)
+ *  `U`  | Publisher metadata
+ *  `V`  | Volume (0 to 256, `---` if not available)
+ *  `Z`  | Now playing or Artist/Title metadata depending what is available
+ *  `_`  | Newline (`\n`)
+ *
+ * Additionally characters can be prepended with a whitespace (e.g. `$ T`), which will
+ * cause a replacement with nothing, when not available, instead of the placeholders
+ * documented above.
  *
  * @param player a locked player instance or NULL (player and item can't be
  * both NULL)
  * @param item a valid item or NULL (player and item can't be both NULL)
  * @param fmt format string
- * @return the formated string, or NULL in case of error, the string need to be
- * freed with ()
+ * @return an allocated formatted string (must be free()'d), or NULL in case of error
  */
 VLC_API char *vlc_strfplayer( vlc_player_t *player, input_item_t *item,
                               const char *fmt );



More information about the vlc-commits mailing list