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