diff options
author | Marcus Meissner <marcus@jet.franken.de> | 2017-07-31 08:10:18 +0200 |
---|---|---|
committer | Marcus Meissner <marcus@jet.franken.de> | 2017-07-31 08:11:28 +0200 |
commit | c4695b2d87215e8dd77f08f9bef4694996156f3e (patch) | |
tree | 81fd40e5b681467c403bb62bd921da4548e9a1e3 /libgphoto2_port/vusb | |
parent | 3687f0da45be0cb4c0fc26adeac8ea1bdb5f1a67 (diff) | |
download | libgphoto2-c4695b2d87215e8dd77f08f9bef4694996156f3e.tar.gz |
Handle usb_msg_read as forward to _read for now
seperate fuzz and virtual ptp camera more
Diffstat (limited to 'libgphoto2_port/vusb')
-rw-r--r-- | libgphoto2_port/vusb/vcamera.c | 8 | ||||
-rw-r--r-- | libgphoto2_port/vusb/vusb.c | 4 |
2 files changed, 7 insertions, 5 deletions
diff --git a/libgphoto2_port/vusb/vcamera.c b/libgphoto2_port/vusb/vcamera.c index bd7c60a7e..ed21dc115 100644 --- a/libgphoto2_port/vusb/vcamera.c +++ b/libgphoto2_port/vusb/vcamera.c @@ -1936,9 +1936,6 @@ static int vcam_read(vcamera*cam, int ep, unsigned char *data, int bytes) { unsigned int toread = bytes; - if (toread > cam->nrinbulk) - toread = cam->nrinbulk; - if (cam->fuzzf) { unsigned int hasread; @@ -1983,6 +1980,11 @@ vcam_read(vcamera*cam, int ep, unsigned char *data, int bytes) { } } + /* Emulated PTP camera stuff */ + + if (toread > cam->nrinbulk) + toread = cam->nrinbulk; + memcpy (data, cam->inbulk, toread); memmove (cam->inbulk, cam->inbulk + toread, (cam->nrinbulk - toread)); cam->nrinbulk -= toread; diff --git a/libgphoto2_port/vusb/vusb.c b/libgphoto2_port/vusb/vusb.c index cd068e679..f4b4ef22e 100644 --- a/libgphoto2_port/vusb/vusb.c +++ b/libgphoto2_port/vusb/vusb.c @@ -262,8 +262,8 @@ static int gp_port_vusb_msg_read_lib(GPPort *port, int request, int value, int index, char *bytes, int size) { - gp_log(GP_LOG_DEBUG,__FUNCTION__,"()"); - return GP_OK; /* bytes */ + gp_log(GP_LOG_DEBUG,__FUNCTION__,"(req=%x, value=%x, index=%x, size=%d)", request, value, index, size); + return port->pl->vcamera->read(port->pl->vcamera, index, (unsigned char*)bytes, size); } static int |