I have maybe a little strange question, but I’d like to understand this. Some time ago (month or two) I had a problem with LMS_SendStream call. When I was calling it too quickly without meta (or with waitForTimestamp set to false) the samples seemed to be overwritten without being actually transmitted - e.g. following loop:
n = read_from_file_to_buffer(buf);
LMS_SendStream(&tx_stream, buf, n, NULL, 1000 );
The speed of sending samples to LimeSDR-mini was limited only by the hw (cpu, usb, file i/o, etc.). LMS_GetStreamStatus reported linkRate multiple times bigger than what was appropriate to the used sample rate.
I solved it by using waitForTimestamp and increasing the timestamp by what was returned by LMS_SendStream.
But now I cannot replicate this behavior and the loop described above is working as I originally expected - the samples are transmitted correctly.
Was there a bug like this fixed? I cannot find any reference to anything like this. Or am I missing something else? I don`t have the original code any more, but I believe that the one I have is similar enough.
What is the correct behavior? I`d like to know how LMS_SendStream is supposed to be used. Is it OK to call it without meta (or with waitForTimestamp set to false) without risk that samples will be lost (assuming other conditions, like e.g. USB speed, are good enough)?
Thank you for explanation.