# HG changeset patch # User nicodvb # Date 1136234425 0 # Node ID b0046966ab8223445e2ee4ce53d1a26facf3f1c6 # Parent 993b6c4fa604d86dfc7abb4ee807b2ccbf1a1554 don't reset dvdsub->id unless -slang is specified; assign default sub stream id when demux->sub->id is -1 (autodetect) diff -r 993b6c4fa604 -r b0046966ab82 libmpdemux/demux_mpg.c --- a/libmpdemux/demux_mpg.c Mon Jan 02 13:12:29 2006 +0000 +++ b/libmpdemux/demux_mpg.c Mon Jan 02 20:40:25 2006 +0000 @@ -36,6 +36,7 @@ int a_stream_ids[MAX_A_STREAMS]; } mpg_demuxer_t; +extern char* dvdsub_lang; static int mpeg_pts_error=0; static int parse_psm(demuxer_t *demux, int len) { @@ -293,6 +294,10 @@ demux->s_streams[aid]=1; } + if(demux->sub->id > -1) + demux->sub->id &= 0x1F; + if(!dvdsub_lang && demux->sub->id == -1) + demux->sub->id = aid; if(demux->sub->id==aid){ ds=demux->sub; } diff -r 993b6c4fa604 -r b0046966ab82 mplayer.c --- a/mplayer.c Mon Jan 02 13:12:29 2006 +0000 +++ b/mplayer.c Mon Jan 02 20:40:25 2006 +0000 @@ -3794,8 +3794,10 @@ vo_sub_last = vo_sub = NULL; #endif vobsub_id = -1; + if(dvdsub_lang) { dvdsub_id = -1; if (d_dvdsub) d_dvdsub->id = -1; + } // be careful! // if sub_changed is till on but subdata's been reset, bad things happen.