Usb4java и Jna параллельно используются на Usb-интерфейсе? - PullRequest
0 голосов
/ 29 августа 2018

У меня будут проблемы с программой, которую я кодирую на моем Linux-ПК, куда должен передаваться поток с камеры.

В Linux я использую библиотеку Usb4java для доступа к USB-устройству и подготовки камеры к потоковой передаче. Поэтому я должен запросить 2 CameraInterfaces и отправить несколько байтовых кодов ....

С другой стороны, я должен передать передачу isochronuos, которую я собираюсь практиковать в библиотеке Jna, потому что передача Isochronuos не поддерживается из Usb4java Lib. Библиотека JNA использует драйвер устройства UsbFS для передачи данных с устройства.

Эта процедура работает как чудо на андроиде, где к устройству и его интерфейсам подключены android usb.hardware.manager, а также библиотека, использующая Jna.

В Linux я сталкиваюсь с проблемой, что я не могу получить доступ к устройству с 2 различными библиотеками. Когда я запрашиваю интерфейс от камеры usb с Usb4java, я получу код ошибки из библиотеки JNA, что устройство или ресурс занят. Если я освобождаю интерфейс из библиотеки Usb4java, то часть JNA работает, но больше нет доступа через библиотеку Usb4java ....

Для рабочего потока обе библиотеки должны быть привязаны к интерфейсам камеры.

Jna lib называется UsbIso.

Автор из библиотеки Usbiso до сих пор не тестировал свою библиотеку на Linux и также не знает решения этой проблемы. Так, может, кто-то здесь мог бы помочь мне?

Что я пробовал:

Возможно, решением может быть использование высокоуровневого API из Usb4java -> Javax.usb, или я столкнусь с той же проблемой с ошибкой занятости устройства? Любые другие предложения будут приветствоваться.

Спасибо

Peter

...