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

Reply via email to