Question on grc block "packet encoder"

Looking at the GRC block “packet encoder” and the corresponding example
“grc/examples/simple/dpsk_loopback”
it is not clear to me why the “packet encoder” needs to have access to
the parameters “samples_per_symbol” and “bits_per_symbol”.

My understanding is that the output of this block should be a stream of
bits (packed into bytes) that will then be used by an appropriate
modulator. The latter needs to know these two parameters, but NOT the
former.

Achilleas

Its because of packet utils
http://gnuradio.org/trac/browser/gnuradio/trunk/gnuradio-core/src/python/gnuradio/packet_utils.py#L104

I really hate the packet encoder/decoder, I am excited for this message
passing capability that gr blocks may get in the near future. We can
re-implement this packet framing stuff, and have a whole variety of
them.

-Josh