'From Squeak3.8 of ''5 May 2005'' [latest update: #6665] on 26 February 2006 at 1:16:10 pm'!
!Mpeg3Plugin methodsFor: 'primitives' stamp: 'JMM 1/20/2006 19:07'!
primitiveMPEG3CheckSig: path
| result sz storage |
"int mpeg3_check_sig(char *path)"
self var: #storage declareC: 'char storage[1024] '.
self primitive: 'primitiveMPEG3CheckSig'
parameters: #(String).
sz _ interpreterProxy byteSizeOf: path cPtrAsOop.
self cCode: 'sqFilenameFromStringOpen(storage, path, sz)'.
self cCode: 'result = mpeg3_check_sig(storage)'.
^result asOop: Boolean
! !
!Mpeg3Plugin methodsFor: 'primitives' stamp: 'JMM 1/20/2006 18:38'!
primitiveMPEG3OpenABuffer: path size: size
| mpeg3Oop index |
self var: #index declareC: 'mpeg3_t ** index'.
self primitive: 'primitiveMPEG3OpenABuffer'
parameters: #(String SmallInteger).
mpeg3Oop := interpreterProxy instantiateClass: interpreterProxy classByteArray
indexableSize: 4.
index := self cCoerce: (interpreterProxy firstIndexableField: mpeg3Oop)
to: 'mpeg3_t **'.
self cCode: '*index = mpeg3_open(path,size); makeFileEntry(*index)'.
^mpeg3Oop.
! !
!Mpeg3Plugin methodsFor: 'primitives' stamp: 'JMM 1/20/2006 19:11'!
primitiveMPEG3Open: path
| mpeg3Oop index sz storage |
"mpeg3_t* mpeg3_open(char *path)"
self var: #index declareC: 'mpeg3_t ** index'.
self var: #storage declareC: 'char storage[1024]'.
self primitive: 'primitiveMPEG3Open'
parameters: #(String).
sz := interpreterProxy byteSizeOf: path cPtrAsOop.
self cCode: 'sqFilenameFromStringOpen(storage, path, sz)'.
mpeg3Oop := interpreterProxy instantiateClass: interpreterProxy classByteArray
indexableSize: 4.
index := self cCoerce: (interpreterProxy firstIndexableField: mpeg3Oop)
to: 'mpeg3_t **'.
self cCode: '*index = mpeg3_open(storage,0); makeFileEntry(*index)'.
^mpeg3Oop.
! !
|