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

LDPC FEC is not supported? #82

Open
misuzu opened this issue Feb 9, 2024 · 2 comments
Open

LDPC FEC is not supported? #82

misuzu opened this issue Feb 9, 2024 · 2 comments
Labels
question Questions

Comments

@misuzu
Copy link

misuzu commented Feb 9, 2024

I have the following pipewire config which works with another pipewire instance, but doesn't work with roc-droid (I only hear awful noises):

{
  "context.modules": [
    {
      "args": {
        "fec.code": "ldpc",
        "remote.ip": "192.168.0.110",
        "sink.name": "ROC sink droid",
        "sink.props": {
          "node.description": "ROC sink droid",
          "node.name": "roc-sink-droid"
        }
      },
      "name": "libpipewire-module-roc-sink"
    }
  ]
}

When I remove "fec.code": "ldpc", line, it starts to work.

@gavv
Copy link
Member

gavv commented Apr 30, 2024

AFAIK currently roc-droid hard-codes reed-solomon (RS8M). LDPC can be enabled via roc-java, but roc-droid doesn't provide UI for that.

Reed-solomon is a good default since it fits better for most use cases, however having a UI option would be nice I think.

@gavv gavv added the question Questions label Apr 30, 2024
@ortex
Copy link
Member

ortex commented Apr 30, 2024

here https://github.com/roc-streaming/roc-droid/blob/main/app/src/main/java/org/rocstreaming/rocdroid/SenderReceiverService.kt#L243-L252 protocol is hardcoded

for LDPC need to use other protocols
https://javadoc.io/doc/org.roc-streaming.roctoolkit/roc-android/latest/index.html

LDPC-Staircase FEC encoding (RFC 6816). Good for large block sizes (above 1024 packets). Compatible with RTP_LDPC_SOURCE and LDPC_REPAIR protocols for source and repair endpoints.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Questions
Projects
None yet
Development

No branches or pull requests

3 participants