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 "",