Skip to content

Using ioctx_from_mem to create a non file based transfer FEC #17

@Scrafya

Description

@Scrafya

Hi, Im trying to create redundancy for a video streaming device over GPRS LTE so that at low bandwidth or low signal areas RaptorQ can persist connections and act adaptively to spikes of low or high performance, but when i am trying to implement this library with ioctx_from_mem i have come across several issues that have made it hard for me to implement this library in my project. Is there any way you can help me out with from_mem implementation?

My guidelines are simple, i will be using a udp connection to transfer the data blocks that nanorq generates and repack them at the transmission point. For this i have created a linked list data structure that consists of Node>Blocks>Packets. My problem starts with encoding and decoding processes. When i encode with from_mem using an array of randomly generated uint8_t values i seem to have alot of zeroes for a size of uint8_t[10000] and the generated data size goes up nearly 3x! From my research RaptorQ library exchanges cpu usage to data transmitted which makes me question whether i was successful in my implementation of the encoding.

Assuming that i was successful in the encoding process when i try to decode the first packet gets decoded with no problem, but the rest fails. I am guessing this is on my part as well since i am a novice to C. Also i failed to understand where the output for this data is so that it can be used, i have guessed that the decoder_add_symbol restores if any symbols are missing and outputs the fixed packet to the packet data but when i inspected the code it seems that the io gets manipulated and not the packet.

If you can create a guideline for me to follow that would be amazing. I can also share the current version of my code if you want to inspect it

Thank you for your time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions