Re: [Opalvoip-devel] H264 codec failed for latest Luyten svn
Brought to you by:
csoutheren,
rjongbloed
From: Robert J. <ro...@vo...> - 2011-07-10 13:11:20
|
Very good work finding this. Yes there is confusion between the two options, they essentially server the same purpose in this context. PLUGINCODEC_OPTION_MAX_TX_PACKET_SIZE is a general option that applies to all codecs, while "Max NALU Size" is specific to H.264 and is part of the negotiation between the two endpoints. I would think that the member max RTP size should be set to the minimum of these two. I have changed it to do so. Robert Jongbloed OPAL/OpenH323/PTLib Architect and Co-founder. From: Alexander Sbitnev [mailto:ale...@gm...] Sent: Saturday, 2 July 2011 12:53 AM To: Opa...@li... Subject: Re: [Opalvoip-devel] H264 codec failed for latest Luyten svn I've probably take one step closer to finding error. m_maxPayloadSize is setup with 8192 bytes value which probably came from "Max Tx Packet Size" instead of "Max NALU Size" Format Name = H.264 Media Type = video Payload Type = [pt=94] Encoding Name = h264 Clock Rate (R/O) = 90000 UnsignedInt Content Role (R/W) = No Role Enum Content Role Mask (R/W) = 0 UnsignedInt Frame Height (R/W) = 288 UnsignedInt Frame Time (R/W) = 3000 UnsignedInt Frame Width (R/W) = 352 UnsignedInt H.241 Level (R/O) = 22 H.245 Ordinal: 42 Collapsing TCS OLC RM UnsignedInt H.241 Profile Mask (R/O) = 64 H.245 Ordinal: 41 Collapsing TCS OLC RM BooleanArray Level (R/W) = 1.1 Enum Max Bit Rate (R/W) = 320000 UnsignedInt Max BR (R/O) = 0 FMTP name: max-br (0) UnsignedInt Max FS (R/W) = 0 FMTP name: max-fs (0) H.245 Ordinal: 4 Collapsing TCS OLC RM UnsignedInt Max MBPS (R/W) = 0 FMTP name: max-mbps (0) H.245 Ordinal: 3 Collapsing TCS OLC RM UnsignedInt Max NALU Size (R/W) = 1400 FMTP name: max-rcmd-nalu-size (1400) H.245 Ordinal: 9 Collapsing TCS OLC RM UnsignedInt Max Rx Frame Height (R/W) = 288 UnsignedInt Max Rx Frame Width (R/W) = 352 UnsignedInt Max Tx Packet Size (R/W) = 8192 UnsignedInt Media Packetizations (R/O) = 0.0.8.241.0.0.0.0 String Min Rx Frame Height (R/W) = 96 UnsignedInt Min Rx Frame Width (R/W) = 128 UnsignedInt Profile (R/W) = Baseline Enum Protocol (R/O) = String Rate Control Enable (R/W) = 0 Boolean Rate Controller (R/W) = String Send Access Unit Delimiters (R/W) = 0 Boolean SIP/SDP Profile & Level (R/O) = 42801e FMTP name: profile-level-id (42800A) OctetString Target Bit Rate (R/W) = 320000 UnsignedInt Temporal Spatial Trade Off (R/W) = 31 UnsignedInt Tx Key Frame Period (R/W) = 125 UnsignedInt It's came from OnChangedOptions invocation most likely because it using m_maxRTPSize variable to get value from: 0:03.620 H.245 Hand...0x9d402700 h264-x264.cxx(895) x264 Applied options: prof=66 lev=21 res=352x288 fps=30 bps=384000 RTP=8192 TSTO=31 I suppose "Max NALU Size" mismatched somewhere with "Max Tx Packet Size". Next lines are my personal choice for main cause: if (strcasecmp(optionName, PLUGINCODEC_OPTION_MAX_TX_PACKET_SIZE) == 0) return SetOptionUnsigned(m_maxRTPSize, optionValue, 256, 8192); |