Alessandro
You are correct there is no way to pass to the codec the max RTP size. At the time I found no particular need to. If the plugin receives a parameter 9 (max-nal-unit-size) in the OLC it will limit the PDU size to the indicated value. By Default the payload size for H.264 is 1400 meaning the PDU size is 1400 + header(12) .
You can change this in enc-ctx.cxx #define H264_PAYLOAD_SIZE 1400 #define H264_SINGLE_NAL_SIZE 1400
Make sure you set the parameter 9 in the plugin definition to force the remote to send that size too.
Simon
-----Original Message----- From: h323plus-bounces@lists.packetizer.com [mailto:h323plus-bounces@lists.packetizer.com] On Behalf Of Alessandro Angeli Sent: Thursday, November 11, 2010 11:37 AM To: h323plus@lists.packetizer.com Subject: [h323plus] max RTP PDU size
.1. It looks to me like proper packetization is left to the encoder and that the max PDU size is actually outputDataSize, computed in h323pluginmgr.cxx!H323PluginVideoCodec::Read() by asking the encoder through CallCodecControl(GET_OUTPUT_DATA_SIZE_CONTROL).
However I can not seem to find a way for the application to specify a different max PDU size (a lower one in my case) or even a way to tell the encoder of such a choice (there is no SET_OUTPUT_DATA_SIZE_CONTROL). Is it possible to limit the max PDU size?
.2. In h323pluginmgr.cxx!CallCodecControl(), wouldn't it make more sense to pass the normalized codecControls->name to (*codecControls->control) instead of name? After, you are doing a case-insensitive comparison.
-- Alessandro