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

Sample rate conversion in roc_recv #85

Closed
baranovmv opened this issue Jul 5, 2017 · 4 comments
Closed

Sample rate conversion in roc_recv #85

baranovmv opened this issue Jul 5, 2017 · 4 comments
Assignees
Milestone

Comments

@baranovmv
Copy link
Member

Due to #84, the Roc will be able to convert a sample rate of received signal on its own. For that purpose some changes in the other part of the code should be made:

  • The Resampler's scaling factor should be properly adjusted according to the information from the RTP-packet headers and the sample rate of the renderer.
  • The renderer (such as SoX) should provide the output sample rate to the other part of the code.
@baranovmv baranovmv added this to the 0.1 milestone Jul 5, 2017
@gavv
Copy link
Member

gavv commented Jul 6, 2017

Plan

Receiver:

  • sndio::Player should report the output sample rate
  • pipeline::Session should obtain the output sample rate
  • pipeline::Receiver should drop repair packets if there is no existing session for them; a new session should be created only for source packets
  • pipeline::Receiver should obtain the input sample rate from the first received source packet and pass it to pipeline::ReceiverSession
  • the Resampler scaling factor should be adjusted according to the output sample rate and input sample rate
  • roc_recv should pass --rate option to sndio::Player to force sample rate of the output device

Sender:

  • remove sample_rate from pipeline::SenderConfig
  • pipeline::Sender should use sample_rate from rtp::Format
  • roc_send should pass --rate option to sndio::Recorder to force sample rate of the input device

Sorry, something went wrong.

@gavv
Copy link
Member

gavv commented Jul 6, 2017

We likely want the following command line options:

  • output sample rate in roc-recv (by default it is autodetected for output device, but the user may want to override it, e.g. if it was detected incorrectly or when writing to file)

  • input sample rate in roc-send (by default it is autodetected for input device, but user may want to override it, e.g. if it was detected incorrectly or multiple rates are allowed)

  • payload type in roc-send, which defines number of channels, sample format, and rate (by default it is 10, but user may want to change it, e.g. to reduce network traffic) (Configurable payload type #116)

Sorry, something went wrong.

@gavv
Copy link
Member

gavv commented Jul 6, 2017

This issue will fix #61.

@gavv gavv removed their assignment Jul 12, 2017
@gavv gavv mentioned this issue Oct 22, 2017
6 tasks
gavv pushed a commit that referenced this issue Nov 27, 2017

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Relates: #85
@dshil dshil self-assigned this Nov 29, 2017
@gavv
Copy link
Member

gavv commented Dec 1, 2017

Finally done.

@gavv gavv closed this as completed Dec 1, 2017
@gavv gavv added this to Roc Toolkit Jul 6, 2024
@gavv gavv moved this to Done in Roc Toolkit Jul 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

No branches or pull requests

3 participants