Hi, Nikos, adding a buffer / fifo and matching the mean video rate to the rate of my transmission system should work.
But i don't really want to match the rates, because i'll have to do that every time i change something on the source. It can be quite an effort, too. (Like interpolation the base-band signal) Or consider a asynchronous source (something like a serial terminal) with large intervals with no data. With the "zero stuffing solution" you just have to make sure, that the transmission is fast enough for the source, "plug in" the source and everything should be fine. I've done some gnu radio blocks. But i don't now how to tell the work function how many samples the down stream block needs. In my understanding the work functions gets some input samples and calculates some output samples out of them. It's like the block gets actively written to and passively read from. And i would need it the other way. BR, Anselm 2016-03-17 9:17 GMT+01:00 Nikos Balkanas <nbalka...@gmail.com>: > Hi, > > Have you tried using a FIFO block in your flow? There a few around and it > seems to me it would normalize your flow. > > BR, > Nikos > > On Thu, Mar 17, 2016 at 10:01 AM, Anselm Karl < > anselmkarl.in...@googlemail.com> wrote: > >> Hi all, >> >> i want to transmitt a video stream with gnuradio and usrps. There are >> some examples on the web and i got it working with vlc. >> >> The problem is, that the playback is quite choppey. This is because the >> digital transmission over the usrps has a fixed rate but the encoded video >> has a variable rate. If i set the transmission rate higher than the (mean) >> rate of the video, i get a lot of underruns on the tranmitting usrp (= >> chopped of rf signal). Which is bad because the transmission designed to be >> continous (for example the clockloop, ...). >> >> The transmission is based on fixed size fec code blocks starting with an >> preambel. A possible solution could be to stuff zeros between two blocks >> while waiting on the (video) source. On the receiver this stuffed zeros >> would be trown away automatically. >> >> That "zero stuffing" could be realized with a block, that puts out N (N= >> payload size of one block) input samples (first sample marked with a tag) >> at one "piece" or (if it has no N input samples in some internal buffer) it >> puts out zeros). Based on the tag a downstream block could mux in the >> preambel and everything would be fine. >> >> But here is my question: >> I don´t know how to write a block, that always has output samples >> available. Is there i kind of a non-blocking block template? >> >> >> Best regards, >> >> *Anselm* >> >> >> >> _______________________________________________ >> Discuss-gnuradio mailing list >> Discuss-gnuradio@gnu.org >> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> >> > -- Mit freundlichen Grüßen *Anselm Karl*
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio