summaryrefslogtreecommitdiffhomepage
path: root/video-ps3eye/PS3EYEDriver/urb.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'video-ps3eye/PS3EYEDriver/urb.hpp')
-rw-r--r--video-ps3eye/PS3EYEDriver/urb.hpp64
1 files changed, 0 insertions, 64 deletions
diff --git a/video-ps3eye/PS3EYEDriver/urb.hpp b/video-ps3eye/PS3EYEDriver/urb.hpp
deleted file mode 100644
index 53e73336..00000000
--- a/video-ps3eye/PS3EYEDriver/urb.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-#pragma once
-
-#include <memory>
-#include <cstdint>
-#include <mutex>
-#include <condition_variable>
-
-struct FrameQueue;
-struct libusb_device;
-struct libusb_transfer;
-struct libusb_device_handle;
-
-#ifdef _WIN32
-# define USB_CALLBACK __stdcall
-#else
-# define USB_CALLBACK
-#endif
-
-struct URBDesc
-{
- URBDesc() = default;
- ~URBDesc();
-
- bool start_transfers(libusb_device_handle *handle, uint32_t curr_frame_size);
- void free_transfers();
- void close_transfers();
-
- FrameQueue& queue() { return *frame_queue; }
-
-private:
- enum {
- TRANSFER_SIZE = 65536,
- NUM_TRANSFERS = 5,
- };
-
- /* packet types when moving from iso buf to frame buf */
- enum gspca_packet_type {
- DISCARD_PACKET,
- FIRST_PACKET,
- INTER_PACKET,
- LAST_PACKET,
- };
-
- std::shared_ptr<FrameQueue> frame_queue;
- std::mutex num_active_transfers_mutex;
- std::condition_variable num_active_transfers_condition;
-
- gspca_packet_type last_packet_type = DISCARD_PACKET;
- libusb_transfer* xfers[NUM_TRANSFERS] {};
- uint8_t* cur_frame_start = nullptr;
- uint32_t cur_frame_data_len = 0;
- uint32_t frame_size = 0;
- uint32_t last_pts = 0;
- uint16_t last_fid = 0;
- uint8_t transfer_buffer[TRANSFER_SIZE * NUM_TRANSFERS];
- uint8_t num_active_transfers = 0;
- bool teardown = false;
-
- int transfer_cancelled();
- void frame_add(enum gspca_packet_type packet_type, const uint8_t *data, int len);
- void pkt_scan(uint8_t *data, int len);
- static uint8_t find_ep(struct libusb_device *device);
- static void USB_CALLBACK transfer_completed_callback(struct libusb_transfer *xfr);
-};