forked from RSATom/QmlVlc
/
QmlVlcSubtitle.cpp
44 lines (35 loc) · 995 Bytes
/
QmlVlcSubtitle.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "QmlVlcSubtitle.h"
unsigned QmlVlcSubtitle::get_trackCount()
{
return m_player.subtitles().track_count();
}
int QmlVlcSubtitle::get_track()
{
return m_player.subtitles().get_track();
}
void QmlVlcSubtitle::set_track( int idx )
{
if( idx < 0 )
return;
return m_player.subtitles().set_track( idx );
}
QString QmlVlcSubtitle::description( unsigned int sID )
{
QString s_name;
libvlc_track_description_t* root_s_desc =
libvlc_video_get_spu_description( m_player.get_mp() );
if( !root_s_desc )
return s_name;
unsigned int sc = libvlc_video_get_spu_count( m_player.get_mp() );
if( sc && sID < sc ) {
libvlc_track_description_t* s_desc = root_s_desc;
for( ; sID && s_desc ; --sID ){
s_desc = s_desc->p_next;
}
if ( s_desc && s_desc->psz_name ) {
s_name = s_desc->psz_name;
}
}
libvlc_track_description_list_release( root_s_desc );
return s_name;
}