comparison stream/stream_dvdnav.c @ 20405:a11a208925b9

don't play any other title other than N when N is specified (with dvdnav://N)
author nicodvb
date Mon, 23 Oct 2006 21:04:31 +0000
parents b0a938df89ed
children 831cd8cbf58a
comparison
equal deleted inserted replaced
20404:07238c655349 20405:a11a208925b9
211 } 211 }
212 switch (event) { 212 switch (event) {
213 case DVDNAV_STOP: return len; 213 case DVDNAV_STOP: return len;
214 case DVDNAV_BLOCK_OK: return len; 214 case DVDNAV_BLOCK_OK: return len;
215 case DVDNAV_VTS_CHANGE: { 215 case DVDNAV_VTS_CHANGE: {
216 int tit = 0, part = 0;
217 dvdnav_vts_change_event_t *evt = (dvdnav_vts_change_event_t*)but;
216 s->end_pos = 0; 218 s->end_pos = 0;
217 update_title_len(s); 219 update_title_len(s);
220 if(dvdnav_current_title_info(dvdnav_priv->dvdnav, &tit, &part) == DVDNAV_STATUS_OK) {
221 mp_msg(MSGT_CPLAYER,MSGL_V, "\r\nDVDNAV, NEW VTS event: VTS %d, title %d\r\n", evt->new_vtsN, tit);
222 if(dvdnav_priv->title > 0 && tit != dvdnav_priv->title)
223 return 0;
224 }
218 break; 225 break;
219 } 226 }
220 } 227 }
221 } 228 }
222 mp_msg(MSGT_STREAM,MSGL_DBG2,"DVDNAV fill_buffer len: %d\n",len); 229 mp_msg(MSGT_STREAM,MSGL_DBG2,"DVDNAV fill_buffer len: %d\n",len);
285 mp_msg(MSGT_OPEN,MSGL_ERR,MSGTR_CantOpenDVD,filename); 292 mp_msg(MSGT_OPEN,MSGL_ERR,MSGTR_CantOpenDVD,filename);
286 return STREAM_UNSUPORTED; 293 return STREAM_UNSUPORTED;
287 } 294 }
288 295
289 if(p->track > 0) { 296 if(p->track > 0) {
297 dvdnav_priv->title = p->track;
290 if(dvdnav_title_play(dvdnav_priv->dvdnav, p->track) != DVDNAV_STATUS_OK) { 298 if(dvdnav_title_play(dvdnav_priv->dvdnav, p->track) != DVDNAV_STATUS_OK) {
291 mp_msg(MSGT_OPEN,MSGL_FATAL,"dvdnav_stream, couldn't select title %d, error '%s'\n", p->track, dvdnav_err_to_string(dvdnav_priv->dvdnav)); 299 mp_msg(MSGT_OPEN,MSGL_FATAL,"dvdnav_stream, couldn't select title %d, error '%s'\n", p->track, dvdnav_err_to_string(dvdnav_priv->dvdnav));
292 return STREAM_UNSUPORTED; 300 return STREAM_UNSUPORTED;
293 } 301 }
294 } else if(p->track == -1) 302 } else if(p->track == -1)