Mercurial > mplayer.hg
comparison stream/stream_dvdnav.c @ 25574:bef7f820d179
implemented _ANGLE STREAM_CTRLs, patch by oattila chello hu
author | nicodvb |
---|---|
date | Sat, 05 Jan 2008 14:22:48 +0000 |
parents | 47f2a9304623 |
children | 68015115f63a |
comparison
equal
deleted
inserted
replaced
25573:a27aae25dd75 | 25574:bef7f820d179 |
---|---|
349 uint64_t tm = (uint64_t) (*((double*)arg) * 90000); | 349 uint64_t tm = (uint64_t) (*((double*)arg) * 90000); |
350 if(dvdnav_time_search(priv->dvdnav, tm) == DVDNAV_STATUS_OK) | 350 if(dvdnav_time_search(priv->dvdnav, tm) == DVDNAV_STATUS_OK) |
351 return 1; | 351 return 1; |
352 break; | 352 break; |
353 } | 353 } |
354 case STREAM_CTRL_GET_NUM_ANGLES: | |
355 { | |
356 uint32_t curr, angles; | |
357 if(dvdnav_get_angle_info(priv->dvdnav, &curr, &angles) != DVDNAV_STATUS_OK) | |
358 break; | |
359 *((int *)arg) = angles; | |
360 return 1; | |
361 } | |
362 case STREAM_CTRL_GET_ANGLE: | |
363 { | |
364 uint32_t curr, angles; | |
365 if(dvdnav_get_angle_info(priv->dvdnav, &curr, &angles) != DVDNAV_STATUS_OK) | |
366 break; | |
367 *((int *)arg) = curr; | |
368 return 1; | |
369 } | |
370 case STREAM_CTRL_SET_ANGLE: | |
371 { | |
372 uint32_t curr, angles; | |
373 int new_angle = *((int *)arg); | |
374 if(dvdnav_get_angle_info(priv->dvdnav, &curr, &angles) != DVDNAV_STATUS_OK) | |
375 break; | |
376 if(new_angle>angles || new_angle<1) | |
377 break; | |
378 if(dvdnav_angle_change(priv->dvdnav, new_angle) != DVDNAV_STATUS_OK) | |
379 return 1; | |
380 } | |
354 } | 381 } |
355 | 382 |
356 return STREAM_UNSUPPORTED; | 383 return STREAM_UNSUPPORTED; |
357 } | 384 } |
358 | 385 |