Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stopped working after a few stop/start presses #1

Open
gavv opened this issue Jun 2, 2020 · 2 comments
Open

Stopped working after a few stop/start presses #1

gavv opened this issue Jun 2, 2020 · 2 comments
Assignees
Labels
defect Something isn't working

Comments

@gavv
Copy link
Member

gavv commented Jun 2, 2020

I pressed Stop and Start several times and the sound disappeared. The sender on PC is still running. After restarting the app and pressing Start again, it started working again.

Probably it can be fixed by creating a dedicated thread that manages sender and receiver threads, and sending tasks to it when we want to start or stop them.

@gavv
Copy link
Member Author

gavv commented Dec 3, 2020

From #15 (comment)

This doesn't solve #1. I think the receiver thread gets stuck at the native Roc Receiver.close(long receiverPtr) function. I'm not sure what causes this.

@gavv
Copy link
Member Author

gavv commented Oct 5, 2024

Will be fixed in #98

@gavv gavv self-assigned this Oct 5, 2024
@gavv gavv removed good first issue Good for newcomers help wanted Contributions are welcome labels Oct 5, 2024
gavv added a commit to Izchomatik/roc-droid that referenced this issue Oct 5, 2024
Also fixes: roc-streaming#1, roc-streaming#16, roc-streaming#17, roc-streaming#66

- Initiate request for notification and microphone permissions
  and media projection on the dart side of AndroidBackend.

- Implement those requests in MainActivity.kt and rework
  AndroidConnector to redirect those requests to activity.

- Automatically stop media projection when both sender and receiver
  are stopped. Prevent service from stopping projection while we
  are starting sender and receiver.

- Implement synchronization and fix various races.

- Use foreground service instead of bound service, to keep it
  running when app closes.

- Forbid swiping away notification on lock screen.
  (We can forbid it only for lock screen).

- Stop sender and receiver when notification is swiped away.

- Add AndroidListener, to pass events from kotlin to dart.
  Implement in in AndroidBackend on dart side.

- Add AndroidSenderSettings, AndroidReceiverSettings, and pass them
  from model to kotlin.

- Hard-code ports in model instead of kotlin.

- Implement Backend.getLocalAddresses().

- Improve comments.

- Refactor android service code.

- Remove unused values from strings.xml.
gavv added a commit to Izchomatik/roc-droid that referenced this issue Oct 5, 2024
Also fixes: roc-streaming#1, roc-streaming#16, roc-streaming#17, roc-streaming#66

- Initiate request for notification and microphone permissions
  and media projection on the dart side of AndroidBackend.

- Implement those requests in MainActivity.kt and rework
  AndroidConnector to redirect those requests to activity.

- Automatically stop media projection when both sender and receiver
  are stopped. Prevent service from stopping projection while we
  are starting sender and receiver.

- Implement synchronization and fix various races.

- Use foreground service instead of bound service, to keep it
  running when app closes.

- Forbid swiping away notification on lock screen.
  (We can forbid it only for lock screen).

- Stop sender and receiver when notification is swiped away.

- Add AndroidListener, to pass events from kotlin to dart.
  Implement in in AndroidBackend on dart side.

- Add AndroidSenderSettings, AndroidReceiverSettings, and pass them
  from model to kotlin.

- Hard-code ports in model instead of kotlin.

- Implement Backend.getLocalAddresses().

- Improve comments.

- Refactor android service code.

- Remove unused values from strings.xml.
gavv added a commit that referenced this issue Oct 5, 2024
Also fixes: #1, #16, #17, #66

- Initiate request for notification and microphone permissions
  and media projection on the dart side of AndroidBackend.

- Implement those requests in MainActivity.kt and rework
  AndroidConnector to redirect those requests to activity.

- Automatically stop media projection when both sender and receiver
  are stopped. Prevent service from stopping projection while we
  are starting sender and receiver.

- Implement synchronization and fix various races.

- Use foreground service instead of bound service, to keep it
  running when app closes.

- Forbid swiping away notification on lock screen.
  (We can forbid it only for lock screen).

- Stop sender and receiver when notification is swiped away.

- Add AndroidListener, to pass events from kotlin to dart.
  Implement in in AndroidBackend on dart side.

- Add AndroidSenderSettings, AndroidReceiverSettings, and pass them
  from model to kotlin.

- Hard-code ports in model instead of kotlin.

- Implement Backend.getLocalAddresses().

- Improve comments.

- Refactor android service code.

- Remove unused values from strings.xml.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
defect Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant