]> git.sesse.net Git - vlc/commitdiff
libvlc: add libvlc_media_get_codec_description
authorThomas Guillem <thomas@gllm.fr>
Mon, 12 Jan 2015 09:39:14 +0000 (09:39 +0000)
committerJean-Baptiste Kempf <jb@videolan.org>
Tue, 13 Jan 2015 22:28:17 +0000 (23:28 +0100)
Get codec description from media elementary stream.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
include/vlc/libvlc_media.h
lib/libvlc.sym
lib/media.c

index c93d87ba03a946764ff7fb1463068a0e9be64184..d3fb9f5717d70ceb8f47df0d9a55f40103e5ec89 100644 (file)
@@ -589,6 +589,21 @@ LIBVLC_API
 unsigned libvlc_media_tracks_get( libvlc_media_t *p_md,
                                   libvlc_media_track_t ***tracks );
 
+/**
+ * Get codec description from media elementary stream
+ *
+ * \version LibVLC 3.0.0 and later.
+ *
+ * \see libvlc_media_track_t
+ *
+ * \param i_type i_type from libvlc_media_track_t
+ * \param i_codec i_codec or i_original_fourcc from libvlc_media_track_t
+ *
+ * \return codec description
+ */
+LIBVLC_API
+const char *libvlc_media_get_codec_description( libvlc_track_type_t i_type,
+                                                uint32_t i_codec );
 
 /**
  * Release media descriptor's elementary streams description array
index f0512c6e2d959d0dd586c053860886690f1fd7d5..494097ecb3249d038aee04d2695c9f0a69baf9c2 100644 (file)
@@ -83,6 +83,7 @@ libvlc_media_discoverer_start
 libvlc_media_discoverer_stop
 libvlc_media_duplicate
 libvlc_media_event_manager
+libvlc_media_get_codec_description
 libvlc_media_get_duration
 libvlc_media_get_meta
 libvlc_media_get_mrl
index 7d4bbb953804847812f0841ef8806091cd8c6cc4..7e455f7a35a4558780a2c109752ba85f7303e0a7 100644 (file)
@@ -868,6 +868,26 @@ libvlc_media_tracks_get( libvlc_media_t *p_md, libvlc_media_track_t *** pp_es )
     return i_es;
 }
 
+/**************************************************************************
+ * Get codec description from media elementary stream
+ **************************************************************************/
+const char *
+libvlc_media_get_codec_description( libvlc_track_type_t i_type,
+                                    uint32_t i_codec )
+{
+    switch( i_type )
+    {
+        case libvlc_track_audio:
+            return vlc_fourcc_GetDescription( AUDIO_ES, i_codec );
+        case libvlc_track_video:
+            return vlc_fourcc_GetDescription( VIDEO_ES, i_codec );
+        case libvlc_track_text:
+            return vlc_fourcc_GetDescription( SPU_ES, i_codec );
+        case libvlc_track_unknown:
+        default:
+            return vlc_fourcc_GetDescription( UNKNOWN_ES, i_codec );
+    }
+}
 
 /**************************************************************************
  * Release media descriptor's elementary streams description array