diff options
author | pontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-11-21 10:30:59 +0000 |
---|---|---|
committer | pontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-11-21 10:30:59 +0000 |
commit | b2a38b3ba0f5e60c34b257f9f788c227be991913 (patch) | |
tree | a3b31b319381a5c14f368037015cc311f78e8426 /libmpdemux/open.c | |
parent | 7fe0a4e7da17b0cc47a1277db464c6dcc5d0a2a8 (diff) | |
download | mpv-b2a38b3ba0f5e60c34b257f9f788c227be991913.tar.bz2 mpv-b2a38b3ba0f5e60c34b257f9f788c227be991913.tar.xz |
add subtitle language detect.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3049 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/open.c')
-rw-r--r-- | libmpdemux/open.c | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/libmpdemux/open.c b/libmpdemux/open.c index a41da05beb..bf1bd82012 100644 --- a/libmpdemux/open.c +++ b/libmpdemux/open.c @@ -208,7 +208,6 @@ if(dvd_title){ /** * Check number of audio channels and types */ -// fprintf( stderr,"[open] nr_audio streams: %d\n",vts_file->vtsi_mat->nr_of_vts_audio_streams ); { int ac3aid = 128; int mpegaid = 0; @@ -264,7 +263,41 @@ if(dvd_title){ d->nr_of_channels++; } } - mp_msg(MSGT_OPEN,MSGL_V,"[open] %d audio channel found on disk.\n",d->nr_of_channels ); + mp_msg(MSGT_OPEN,MSGL_V,"[open] number of audio channels on disk: %d.\n",d->nr_of_channels ); + } + + /** + * Check number of subtitles and language + */ + { + int i; + + d->nr_of_subtitles=0; + for ( i=0;i<32;i++ ) + if ( vts_file->vts_pgcit->pgci_srp[0].pgc->subp_control[i] & 0x80000000 ) + { + subp_attr_t * subtitle = &vts_file->vtsi_mat->vts_subp_attr[i]; + int language = 0; + char tmp[] = "unknown"; + + if ( subtitle->type == 1 ) + { + language=subtitle->lang_code; + tmp[0]=language>>8; + tmp[1]=language&0xff; + tmp[2]=0; + } + + d->subtitles[ d->nr_of_subtitles ].language=language; + d->subtitles[ d->nr_of_subtitles ].id=d->nr_of_subtitles; + + mp_msg(MSGT_OPEN,MSGL_V,"[open] subtitle ( sid ): %d language: %s\n", + d->nr_of_subtitles, + tmp + ); + d->nr_of_subtitles++; + } + mp_msg(MSGT_OPEN,MSGL_V,"[open] number of subtitles on disk: %d\n",d->nr_of_subtitles ); } /** |