{"action":"created","issue":{"url":"https://api.github.com/repos/roc-project/roc/issues/6","labels_url":"https://api.github.com/repos/roc-project/roc/issues/6/labels{/name}","comments_url":"https://api.github.com/repos/roc-project/roc/issues/6/comments","events_url":"https://api.github.com/repos/roc-project/roc/issues/6/events","html_url":"https://github.com/roc-project/roc/issues/6","id":122322770,"number":6,"title":"Get rid of hardcoded parameters in roc_fec","user":{"login":"gavv","id":8436629,"avatar_url":"https://avatars.githubusercontent.com/u/8436629?v=3","gravatar_id":"","url":"https://api.github.com/users/gavv","html_url":"https://github.com/gavv","followers_url":"https://api.github.com/users/gavv/followers","following_url":"https://api.github.com/users/gavv/following{/other_user}","gists_url":"https://api.github.com/users/gavv/gists{/gist_id}","starred_url":"https://api.github.com/users/gavv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gavv/subscriptions","organizations_url":"https://api.github.com/users/gavv/orgs","repos_url":"https://api.github.com/users/gavv/repos","events_url":"https://api.github.com/users/gavv/events{/privacy}","received_events_url":"https://api.github.com/users/gavv/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/roc-project/roc/labels/enhancement","name":"enhancement","color":"c7def8"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-12-15T17:22:20Z","updated_at":"2015-12-15T19:01:19Z","closed_at":null,"body":"In current implementation, the following encoder/decoder parameters are configured at compile time:\r\n* block size (number of data and FEC packets in block);\r\n* packet size (number of bytes in audio packet).\r\n\r\nThey are:\r\n* `ROC_CONFIG_DEFAULT_FEC_BLOCK_DATA_PACKETS`\r\n* `ROC_CONFIG_DEFAULT_FEC_BLOCK_REDUNDANT_PACKETS`\r\n* `ROC_CONFIG_DEFAULT_PACKET_SIZE`\r\n\r\nMoreover, if server and client are built with different parameters, server may behave incorrectly.\r\n\r\nWhat we need instead:\r\n* configure parameters at runtime (when creating encoder/decoder), and use `ROC_CONFIG_` values just as defaults;\r\n* handle possibility of parameters mismatch;\r\n* provide corresponding runtime configuration options in `ServerConfig` and `ClientConfig` in `roc_pipeline`."},"comment":{"url":"https://api.github.com/repos/roc-project/roc/issues/comments/164857083","html_url":"https://github.com/roc-project/roc/issues/6#issuecomment-164857083","issue_url":"https://api.github.com/repos/roc-project/roc/issues/6","id":164857083,"user":{"login":"baranovmv","id":1952503,"avatar_url":"https://avatars.githubusercontent.com/u/1952503?v=3","gravatar_id":"","url":"https://api.github.com/users/baranovmv","html_url":"https://github.com/baranovmv","followers_url":"https://api.github.com/users/baranovmv/followers","following_url":"https://api.github.com/users/baranovmv/following{/other_user}","gists_url":"https://api.github.com/users/baranovmv/gists{/gist_id}","starred_url":"https://api.github.com/users/baranovmv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/baranovmv/subscriptions","organizations_url":"https://api.github.com/users/baranovmv/orgs","repos_url":"https://api.github.com/users/baranovmv/repos","events_url":"https://api.github.com/users/baranovmv/events{/privacy}","received_events_url":"https://api.github.com/users/baranovmv/received_events","type":"User","site_admin":false},"created_at":"2015-12-15T19:01:19Z","updated_at":"2015-12-15T19:01:19Z","body":"Its better to produce something compatible with [RFC5170](https://tools.ietf.org/html/rfc5170#section-4.2)"}}