I am learning the code about “tests/media_sender”, and have some question about the data sending process.
Within the "thread_data::init " function, a huge memory is allocated and filled with ycbcr video data, then assign the memory blocks to the output media stream by “rmx_output_media_assign_mem_blocks”. But in the “thread_data::run_intrenal” function, the thread proc only “build_rtp_header” between “rmx_output_media_get_next_chunk” and “rmx_output_media_commit_chunk”, it dosen’t fill the packet payload.
-
does it mean that Rivermax will use the previously assigned memory block, is it loop?
-
Is it possible to set the reading order?
-
If I want to modify the sent data in real time, can I use the previous memory block pointer or should I use the pointer obtained from "rmx_output_media_get_chunk_strides "?
-
Is there an internal synchronization mechanism for modifying and sending memory blocks?