diff options
author | Matthias Vogelgesang <matthias.vogelgesang@ipe.fzk.de> | 2011-02-24 09:50:34 +0100 |
---|---|---|
committer | Matthias Vogelgesang <matthias.vogelgesang@ipe.fzk.de> | 2011-02-24 09:50:34 +0100 |
commit | 4d49de7e136a80819740f6aaada9c5881b083a50 (patch) | |
tree | bf5951b49249c4c06ce9e14b5295e303040130aa /src/cameras | |
parent | 7f2740af499405f31313941758818d8191b3578f (diff) | |
download | libuca-4d49de7e136a80819740f6aaada9c5881b083a50.tar.gz libuca-4d49de7e136a80819740f6aaada9c5881b083a50.tar.bz2 libuca-4d49de7e136a80819740f6aaada9c5881b083a50.tar.xz libuca-4d49de7e136a80819740f6aaada9c5881b083a50.zip |
Handle properties correctly for pco.edge
Diffstat (limited to 'src/cameras')
-rw-r--r-- | src/cameras/uca_pco.c | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/src/cameras/uca_pco.c b/src/cameras/uca_pco.c index 3155376..3effde4 100644 --- a/src/cameras/uca_pco.c +++ b/src/cameras/uca_pco.c @@ -26,22 +26,26 @@ static uint32_t uca_pco_set_bitdepth(struct uca_t *uca, uint8_t *bitdepth) static uint32_t uca_pco_set_exposure(struct uca_t *uca, uint32_t *exposure) { uint32_t e, d; - pco_get_delay_exposure(GET_PCO(uca), &d, &e); - pco_set_delay_exposure(GET_PCO(uca), d, *exposure); - return 0; + if (pco_get_delay_exposure(GET_PCO(uca), &d, &e) != PCO_NOERROR) + return UCA_ERR_PROP_GENERAL; + if (pco_set_delay_exposure(GET_PCO(uca), d, *exposure) != PCO_NOERROR) + return UCA_ERR_PROP_GENERAL; + return UCA_NO_ERROR; } static uint32_t uca_pco_set_delay(struct uca_t *uca, uint32_t *delay) { uint32_t e, d; - pco_get_delay_exposure(GET_PCO(uca), &d, &e); - pco_set_delay_exposure(GET_PCO(uca), *delay, e); - return 0; + if (pco_get_delay_exposure(GET_PCO(uca), &d, &e) != PCO_NOERROR) + return UCA_ERR_PROP_GENERAL; + if (pco_set_delay_exposure(GET_PCO(uca), *delay, e) != PCO_NOERROR) + return UCA_ERR_PROP_GENERAL; + return UCA_NO_ERROR; } static uint32_t uca_pco_acquire_image(struct uca_t *uca, void *buffer) { - return 0; + return UCA_NO_ERROR; } static uint32_t uca_pco_destroy(struct uca_t *uca) @@ -49,6 +53,7 @@ static uint32_t uca_pco_destroy(struct uca_t *uca) Fg_FreeGrabber(GET_FG(uca)); pco_destroy(GET_PCO(uca)); free(uca->user); + return UCA_NO_ERROR; } static uint32_t uca_pco_set_property(struct uca_t *uca, int32_t property, void *data) @@ -63,11 +68,10 @@ static uint32_t uca_pco_set_property(struct uca_t *uca, int32_t property, void * break; case UCA_PROP_EXPOSURE: - uca_pco_set_exposure(uca, (uint32_t *) data); - break; + return uca_pco_set_exposure(uca, (uint32_t *) data); - case UCA_PROP_FRAMERATE: - break; + case UCA_PROP_DELAY: + return uca_pco_set_delay(uca, (uint32_t *) data); default: return UCA_ERR_PROP_INVALID; |