[MacRuby] #1173: Impossible to have a pointer to an opaque structure

MacRuby ruby-noreply at macosforge.org
Mon Feb 28 16:31:35 PST 2011


#1173: Impossible to have a pointer to an opaque structure
----------------------------------------+-----------------------------------
 Reporter:  vincent.isambart@…          |       Owner:  lsansonetti@…        
     Type:  defect                      |      Status:  new                  
 Priority:  major                       |   Milestone:  MacRuby 1.0          
Component:  MacRuby                     |    Keywords:                       
----------------------------------------+-----------------------------------

Comment(by mred@…):

 The code works with the following changes:

 {{{
 --- playFile1.rb        2011-02-28 19:17:19.000000000 -0500
 +++ playFile2.rb        2011-02-28 19:17:45.000000000 -0500
 @@ -16,10 +16,12 @@

  url = CFURLCreateFromFileSystemRepresentation(nil, inputFilePath,
 inputFilePath.bytesize, false)

 -audioFilePtr = Pointer.new("^{OpaqueAudioFileID}")
 +audioFilePtr = Pointer.new AudioFileID.type
  CheckError(AudioFileOpenURL(url, KAudioFileReadPermission, 0,
 audioFilePtr))

  fileFormat = AudioStreamBasicDescription.new
 -propSizePtr = Pointer.new("i")
 +propSizePtr = Pointer.new("I")
  propSizePtr[0] = AudioStreamBasicDescription.size
 -CheckError(AudioFileGetProperty(audioFilePtr[0],
 KAudioFilePropertyDataFormat, propSizePtr, fileFormat))
 +fileFormat_ptr = Pointer.new AudioStreamBasicDescription.type
 +fileFormat_ptr[0] = fileFormat
 +CheckError(AudioFileGetProperty(audioFilePtr[0],KAudioFilePropertyDataFormat,
 propSizePtr, fileFormat_ptr))
 }}}

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/1173#comment:1>
MacRuby <http://macruby.org/>



More information about the macruby-tickets mailing list