Replies: 1 comment 2 replies
-
Hey thanks for testing it! Regarding the changes to streamer architecture, it was changed in order to use a USB library called rusb, which maintains a USB connection with custom lifetime. Separating the initialization code and polling code makes it harder to keep the lifetime. Regarding the mutex on shared buffer. It was created because the buffer can be swapped when audio configuration has changed. The mutex is there to protect read/write on discarded buffer. But I'm not very familiar with the rtrb library, does it require an explicit drop in order to get cleared in memory? Adb streamer needs some debugging. It's weird if tcp works but adb has been blocking. I haven't tested it yet tbh. For USB streamer, I notice your phone manufacturer is oneplus, there's a line here that hard coded the manufacturer in order to be able to recognize the phone from all usb devices. You can try putting oneplus there and see if it works. I'm new to usb things. Maybe there are better ways to detect the phone device and I'm sure there's room for improvement |
Beta Was this translation helpful? Give feedback.
-
Hi, i saw you made some improvements to the code so i tested it.
It's nice that you have found a crate for adb. I see you changed the Streamer architecture. I'm not convinced it's better because
Mutex
on the shared bufferMutex
. This avoid some race bugs.Sadly, both Usb methods have not worked, here are some info:
adb:
log android:
Note that the Android App still show a Connected state even tho the stream seems to have ended.
And for Rust, when clicking "Stop listenning", and connect again, we are blocked in the waiting state (probably a race condition).
For Usb serial:
Note sure if i need to connect in a certain way, but here are the logs:
Log Rust :
Log Android:
Beta Was this translation helpful? Give feedback.
All reactions