Mercurial > mplayer.hg
comparison stream/stream_dvdnav.c @ 21197:7ecd9de03435
added code to identify subs language and count; needed for forthcoming support for -slang
author | nicodvb |
---|---|
date | Sat, 25 Nov 2006 12:17:34 +0000 |
parents | a067e7e18b50 |
children | fbe50a67612a |
comparison
equal
deleted
inserted
replaced
21196:9725193f1530 | 21197:7ecd9de03435 |
---|---|
474 else *button = -1; | 474 else *button = -1; |
475 priv->mousex = x; | 475 priv->mousex = x; |
476 priv->mousey = y; | 476 priv->mousey = y; |
477 } | 477 } |
478 | 478 |
479 int dvdnav_sid_from_lang(stream_t *stream, unsigned char *language) { | |
480 dvdnav_priv_t * priv=(dvdnav_priv_t*)stream->priv; | |
481 uint8_t format, lg, k; | |
482 uint16_t lang, lcode = (language[0] << 8) | (language[1]); | |
483 | |
484 for(k=0; k<32; k++) { | |
485 lg = dvdnav_get_spu_logical_stream(priv->dvdnav, k); | |
486 if(lg == 0xff) continue; | |
487 lang = dvdnav_spu_stream_to_lang(priv->dvdnav, lg); | |
488 if(lang != 0xFFFF && lang == lcode) { | |
489 return k; | |
490 } | |
491 } | |
492 return -1; | |
493 } | |
494 | |
495 int dvdnav_number_of_subs(stream_t *stream) { | |
496 dvdnav_priv_t * priv=(dvdnav_priv_t*)stream->priv; | |
497 uint8_t lg, k, n=0; | |
498 | |
499 for(k=0; k<32; k++) { | |
500 lg = dvdnav_get_spu_logical_stream(priv->dvdnav, k); | |
501 if(lg == 0xff) continue; | |
502 n++; | |
503 } | |
504 return n; | |
505 } | |
506 | |
479 | 507 |
480 stream_info_t stream_info_dvdnav = { | 508 stream_info_t stream_info_dvdnav = { |
481 "DVDNAV stream", | 509 "DVDNAV stream", |
482 "null", | 510 "null", |
483 "", | 511 "", |