Object <- Transcoder <- CompositeTranscoder |
|
|
EncodingUnitSizes Init ResetTranscoder TranscodeText |
Class CompositeTranscoder defines no new attributes.
Fields
| Field | Type | |
|---|---|---|
| CompositeTranscoder: | transcoder1: | Transcoder |
| transcoder2: | Transcoder |
instance CompositeTranscoder tag; transcoder1: nilObject; transcoder2: nilObject; end instance;
Define Class CompositeTranscoder; inherits from Transcoder; uses extra; field transcoder1: Transcoder; // this transcoder is run first field transcoder2: Transcoder; // this transcoder is run on the output of transcoder1 overrides Init; // Fill in the transcoder fields from the parameters. overrides TranscodeText; // Call both transcoders to transcode the text as needed. // This may do multiple calls to each if necessary since // the intermediate buffer is fixed size and might not be // big enough to do the whole thing in one pass. overrides EncodingUnitSizes; // Call first transcoder to get input size and second transcoder // to get output size. overrides ResetTranscoder; // Reset both transcoders. end class;