Мне нужно получить информацию о кодеке при использовании libvlc для воспроизведения удаленных носителей. Поскольку проигрыватель VLC может этого добиться (см. Снимок экрана ниже), libvlc тоже может это сделать.
Кроме того, я обнаружил, что libvlc_media_tracks_get может возвращать связанную структуру следующим образом:
typedef struct libvlc_media_track_t
{
/* Codec fourcc */
uint32_t i_codec;
uint32_t i_original_fourcc;
int i_id;
libvlc_track_type_t i_type;
/* Codec specific */
int i_profile;
int i_level;
union {
libvlc_audio_track_t *audio;
libvlc_video_track_t *video;
libvlc_subtitle_track_t *subtitle;
};
unsigned int i_bitrate;
char *psz_language;
char *psz_description;
} libvlc_media_track_t;
Возможно, член i_codec
хранит такую информацию, но она не читается человеком, и я не знаю значения конкретного значения. Наверное, между ними есть карта, а я ее еще не нашел.