[gst-devel] Variable frame size and theora decoder

Andrey Nechypurenko andreynech at googlemail.com
Mon Sep 20 21:05:18 CEST 2010


Hi,

I am using the following settings (two processes) to experiment with
different adaptation strategies for changing network conditions in
real-time streaming application (some elements are omitted for
simplicity):

v4l2src->videoscale->caps->theoraenc->rtptheorapay->appsink  ...
network ... appsrc->rtpthoradepay->theoradec->videoscale(to fixed
size)->fakesink

Fakesink's handoff mechanism is used to visualize frames.

To react on reduced network bandwidth, I am adjusting caps between
videoscale and theoraenc to reduce the frame size. It works more or
less as expected if h264 is used. However, with theora, as soon as
frame size is reduced at the encoding side, the decoding side's
visualization starts producing funny mosaic of color squares. I am
suspecting that theoradec somehow does not understand the new frame
size. But I am not sure.

So I would kindly appreciate if someone more familiar with theese
formats can explain this behavior. My assumption is that h264 (using
x264enc) somehow includes frame size with encoded frames where is
theora not doing it. But I am not sure if it is correct assumption.

In addition I would appreciate any suggestions and tips on how to
reconfigure the decoding pipeline to handle new frame size.

Thank you very much,
Andrey.




More information about the gstreamer-devel mailing list