[MPlayer-dev-eng] -aid 128 for DVD
Arpi
arpi at thot.banki.hu
Sat Aug 9 13:42:13 CEST 2003
Hi,
For a request by Gabu, i've cut & fix a part of Joey's dvd aid switching
patch, to always use the first audio track of DVD, unless -alang or -aid is
used. I think it will be almost always teh id 128. (actual number comes from
the .IFO)
here is it, pelase test, and if ok, commit:
Index: mplayer.c
===================================================================
RCS file: /cvsroot/mplayer/main/mplayer.c,v
retrieving revision 1.709
diff -u -r1.709 mplayer.c
--- mplayer.c 4 Aug 2003 09:12:40 -0000 1.709
+++ mplayer.c 9 Aug 2003 11:39:44 -0000
@@ -1319,7 +1319,7 @@
#ifdef USE_DVDREAD
if(stream->type==STREAMTYPE_DVD){
current_module="dvd lang->id";
- if(audio_lang && audio_id==-1) audio_id=dvd_aid_from_lang(stream,audio_lang);
+ if(audio_id==-1) audio_id=dvd_aid_from_lang(stream,audio_lang);
if(dvdsub_lang && dvdsub_id==-1) dvdsub_id=dvd_sid_from_lang(stream,dvdsub_lang);
current_module=NULL;
}
Index: libmpdemux/open.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/open.c,v
retrieving revision 1.83
diff -u -r1.83 open.c
--- libmpdemux/open.c 27 Jul 2003 21:35:14 -0000 1.83
+++ libmpdemux/open.c 9 Aug 2003 11:39:45 -0000
@@ -618,7 +618,8 @@
int dvd_aid_from_lang(stream_t *stream, unsigned char* lang){
dvd_priv_t *d=stream->priv;
int code,i;
- while(lang && strlen(lang)>=2){
+if(lang){
+ while(strlen(lang)>=2){
code=lang[1]|(lang[0]<<8);
for(i=0;i<d->nr_of_channels;i++){
if(d->audio_streams[i].language==code){
@@ -631,7 +632,8 @@
lang+=2; while (lang[0]==',' || lang[0]==' ') ++lang;
}
mp_msg(MSGT_OPEN,MSGL_WARN,"No matching DVD audio language found!\n");
- return -1;
+}
+return d->nr_of_channels ? d->audio_streams[0].id : -1;
}
int dvd_sid_from_lang(stream_t *stream, unsigned char* lang){
A'rpi / Astral & ESP-team
--
Developer of MPlayer G2, the Movie Framework for all - http://www.MPlayerHQ.hu
More information about the MPlayer-dev-eng
mailing list