summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Meissner <marcus@jet.franken.de>2017-07-31 08:10:18 +0200
committerMarcus Meissner <marcus@jet.franken.de>2017-07-31 08:11:28 +0200
commitc4695b2d87215e8dd77f08f9bef4694996156f3e (patch)
tree81fd40e5b681467c403bb62bd921da4548e9a1e3
parent3687f0da45be0cb4c0fc26adeac8ea1bdb5f1a67 (diff)
downloadlibgphoto2-c4695b2d87215e8dd77f08f9bef4694996156f3e.tar.gz
Handle usb_msg_read as forward to _read for now
seperate fuzz and virtual ptp camera more
-rw-r--r--libgphoto2_port/vusb/vcamera.c8
-rw-r--r--libgphoto2_port/vusb/vusb.c4
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