Prevent memory leak on rist_receiver_destroy call
When calling rist_destroy() on a context with mode RIST_RECEIVER_MODE after receiving a couple of rist_data_block:s and sending them to a ctx->receiver_data_callback function, the remaining blocks in the data fifo queue are not removed at: https://code.videolan.org/lelegard/librist/-/blob/master/src/flow.c#L145.
The reason appears to be that the blocks' reference counters are 2 at the call to free_data_block(), here: https://code.videolan.org/lelegard/librist/-/blob/master/src/rist-common.c#L772
The reference counts are incremented in receiver_output() from inside the receiver data thread, here: https://code.videolan.org/lelegard/librist/-/blob/master/src/rist-common.c#L941
I'm not sure if this call to rist_ref_inc() is necessary as the callback is synchronous but it doesn't appear to be decremented anywhere else anyway, leading to the rist_destroy() cleanup failing to remove the blocks.
The problem can be reproduced by checking out https://code.videolan.org/rist/rist-cpp.git, building and running valgrind ./rist_cpp. The lost bytes are proportional to the number of sent packets here: https://code.videolan.org/rist/rist-cpp/-/blob/master/main.cpp#L158
I'm not 100% sure if the problem is in librist or due to incorrect usage in rist-cpp, but it appears to be here, and is solved by removing the call to rist_ref_inc(block->ref), but this might not be the correct solution.