static PyObject *CmpObj_GetComponentIndString(ComponentObject *_self, PyObject *_args) { PyObject *_res = NULL; OSErr _err; Str255 theString; short strListID; short index; #ifndef GetComponentIndString PyMac_PRECHECK(GetComponentIndString); #endif if (!PyArg_ParseTuple(_args, "O&hh", PyMac_GetStr255, theString, &strListID, &index)) return NULL; _err = GetComponentIndString(_self->ob_itself, theString, strListID, index); if (_err != noErr) return PyMac_Error(_err); Py_INCREF(Py_None); _res = Py_None; return _res; }
RTPMPComponentVideo_GetInfo( RTPMPComponentVideoInstanceData ** inGlobals, OSType inSelector, void * ioParams ) { ComponentResult theError = noErr; RTPMPPayloadTypeParams * thePayloadInfo; Str255 theEncodingName; switch( inSelector ) { case kRTPMPPayloadTypeInfo: thePayloadInfo = STATIC_CAST( RTPMPPayloadTypeParams * )( ioParams ); thePayloadInfo->flags = kRTPPayloadTypeDynamicFlag; thePayloadInfo->payloadNumber = kRTPPayload_Unknown; theError = GetComponentIndString( REINTERPRET_CAST( Component )( ( **inGlobals ).itself ), theEncodingName, kRTPMPComponentVideoStringListResource, kRTPMPComponentVideoProtocolEncodingString ); if( !theError ) { if( thePayloadInfo->nameLength < ( theEncodingName[ 0 ] + 1 ) ) { theError = paramErr; } else { BlockMoveData( &theEncodingName[ 1 ], thePayloadInfo->payloadName, theEncodingName[ 0 ] ); thePayloadInfo->payloadName[ theEncodingName[ 0 ] ] = '\0'; } thePayloadInfo->nameLength = theEncodingName[ 0 ] + 1; } break; case kRTPMPRTPTimeScaleInfo: *STATIC_CAST( TimeScale * )( ioParams ) = kComponentVideoRTPTimeScale; break; case kRTPMPMinPayloadSize: *STATIC_CAST( UInt32 * )( ioParams ) = sizeof( ComponentVideoPayload ); break; case kRTPMPPayloadNameInfo: theError = GetComponentIndString( REINTERPRET_CAST( Component )( ( **inGlobals ).itself ), STATIC_CAST( StringPtr )( ioParams ), kRTPMPComponentVideoStringListResource, kRTPMPComponentVideoHIEncodingString ); break; case kRTPMPRequiredSampleDescriptionInfo: case kRTPMPMinPacketDuration: case kRTPMPSuggestedRepeatPktCountInfo: case kRTPMPSuggestedRepeatPktSpacingInfo: case kRTPMPMaxPartialSampleSizeInfo: case kRTPMPPreferredBufferDelayInfo: default: theError = RTPMPGetInfo( ( **inGlobals ).itsBase, inSelector, ioParams ); break; } return( theError ); }