// Component Open Request - Required pascal ComponentResult DelegateOnly_ImageCodecOpen(DelegateOnly_Globals glob, ComponentInstance self) { ComponentDescription cd = { decompressorComponentType, k422YpCbCr8CodecType, FOUR_CHAR_CODE('app3'), 0, 0 }; Component c = 0; ComponentResult rc; // Allocate memory for our globals, set them up and inform the component manager that we've done so glob = (DelegateOnly_Globals)NewPtrClear(sizeof(DelegateOnly_GlobalsRecord)); if (rc = MemError()) goto bail; SetComponentInstanceStorage(self, (Handle)glob); glob->self = self; glob->target = self; if (c = FindNextComponent(c, &cd)) { rc = OpenAComponent(c, &glob->delegateComponent); if (rc) goto bail; ComponentSetTarget(glob->delegateComponent, self); } bail: return rc; }
pascal ComponentResult Theora_ImageCodecOpen(Theora_Globals glob, ComponentInstance self) { ComponentResult err; glob = (Theora_Globals)NewPtrClear(sizeof(Theora_GlobalsRecord)); dbg_printf("\n--:Theora:- CodecOpen(%08lx) called\n", (long)glob); if (err = MemError()) goto bail; SetComponentInstanceStorage(self, (Handle)glob); glob->self = self; glob->target = self; glob->wantedDestinationPixelTypeH = (OSType **)NewHandle(sizeof(OSType) * (kNumPixelFormatsSupported + 1)); if (err = MemError()) goto bail; glob->drawBandUPP = NULL; glob->info_initialised = false; glob->last_frame = -1; glob->p_buffer = NewPtr(kPacketBufferAllocIncrement); glob->p_buffer_len = kPacketBufferAllocIncrement; glob->p_buffer_used = 0; // many of the functions are delegated actually err = OpenADefaultComponent(decompressorComponentType, kBaseCodecType, &glob->delegateComponent); if (err) goto bail; ComponentSetTarget(glob->delegateComponent, self); bail: return err; }
// Component Open Request - Required pascal ComponentResult TextSubCodecOpen(TextSubGlobals glob, ComponentInstance self) { ComponentResult err; // Allocate memory for our globals, set them up and inform the component manager that we've done so glob = (TextSubGlobals)NewPtrClear(sizeof(TextSubGlobalsRecord)); if (err = MemError()) goto bail; SetComponentInstanceStorage(self, (Handle)glob); glob->self = self; glob->target = self; glob->wantedDestinationPixelTypeH = (OSType **)NewHandleClear((kNumPixelFormatsSupportedTextSub+1) * sizeof(OSType)); if (err = MemError()) goto bail; glob->drawBandUPP = NULL; glob->ssa = NULL; glob->colorSpace = NULL; glob->translateSRT = true; // Open and target an instance of the base decompressor as we delegate // most of our calls to the base decompressor instance err = OpenADefaultComponent(decompressorComponentType, kBaseCodecType, &glob->delegateComponent); if (err) goto bail; ComponentSetTarget(glob->delegateComponent, self); bail: return err; }
// Component Open Request - Required pascal ComponentResult ExampleIPB_DOpen(ExampleIPBDecompressorGlobals glob, ComponentInstance self) { ComponentResult err; // Allocate memory for our globals, set them up and inform the component manager that we've done so glob = calloc( sizeof( ExampleIPBDecompressorGlobalsRecord ), 1 ); if( ! glob ) { err = memFullErr; goto bail; } SetComponentInstanceStorage(self, (Handle)glob); glob->self = self; glob->target = self; // Open and target an instance of the base decompressor as we delegate // most of our calls to the base decompressor instance err = OpenADefaultComponent(decompressorComponentType, kBaseCodecType, &glob->delegateComponent); if( err ) goto bail; ComponentSetTarget(glob->delegateComponent, self); bail: return err; }
RTPMPComponentVideo_Target( RTPMPComponentVideoInstanceData ** inGlobals, ComponentInstance target ) { ComponentResult theResult; if( ( **inGlobals ).itsBase ) theResult = ComponentSetTarget( ( **inGlobals ).itsBase, target ); else theResult = noErr; if( theResult == noErr ) ( **inGlobals ).itsFinalDerivation = target; return( theResult ); }
static PyObject *CmpInstObj_ComponentSetTarget(ComponentInstanceObject *_self, PyObject *_args) { PyObject *_res = NULL; long _rv; ComponentInstance target; #ifndef ComponentSetTarget PyMac_PRECHECK(ComponentSetTarget); #endif if (!PyArg_ParseTuple(_args, "O&", CmpInstObj_Convert, &target)) return NULL; _rv = ComponentSetTarget(_self->ob_itself, target); _res = Py_BuildValue("l", _rv); return _res; }