[Rubycocoa-devel 510] apple-unstable: QTKit

アーカイブの一覧に戻る

Eloy Duran eloy.****@gmail*****
Tue Dec 19 09:56:15 JST 2006


The constant QTZeroTime returns a wrong value:
  OSX::QTZeroTime.timeValue => 1000000
It should however return 0, as the name says ;)

The function QTMakeTime results in a error:
  blabla = OSX::QTMakeTime(100, 100)
  irb[20879] XXX returning ffi type void for unrecognized octype 113
  irb[20879] XXX returning ffi type void for unrecognized octype 113
  (irb):2: [BUG] (irb):2: [BUG] Bus Error
However, the first time I tried to use it, ffi also complained
but didn't result in a 'Bus Error'.
But calling the method timeValue on the instantiated QTTime object
results in 1000000 (deja vu).
And calling timeScale results in 0 instead of 100.

The ruby wrapped object instantiates as it should:
  whatever = OSX::QTTime.new(100, 1000, 0)
  whatever.timeValue => 100
  whatever.timeScale => 1000
  whatever.flags        => 0

Exactly the same problem exists for the function QTMakeTimeRange:
  ahum = OSX::QTMakeTimeRange(OSX::QTTime.new(100, 1000, 0),
OSX::QTTime.new(1000, 1000, 0))
  irb[20905] XXX returning ffi type void for unrecognized octype 113
  (irb):4: [BUG] (irb):4: [BUG] Bus Error

And similar the ruby wrapped object instantiates as it should.

The same goes basically for any C function that returns a QTTime or
QTTimeRange struct.
I guess it has something to do with the encoding description in the
bridge-support:
  <struct name='QTTime'
encoding='{?=&quot;timeValue&quot;q&quot;timeScale&quot;l&quot;flags&quot;l}'/>
  <struct name='QTTimeRange'
encoding='{?=&quot;time&quot;{?=&quot;timeValue&quot;q&quot;timeScale&quot;l&quot;flags&quot;l}&quot;duration&quot;{?=&quot;timeValue&quot;q&quot;timeScale&quot;l&quot;flags&quot;l}}'/>

The description(encoding) for a QTTime struct is: {?=qll}
The description(encoding) for a QTTimeRange struct is: {?={?=qll}{?=qll}}
If I change this encoding in the QTKit.xml file this message disappears:
XXX returning ffi type void for unrecognized octype 113
But it still exits with a bus error.

Laurant, I'll send you an updated version of the QTKitPlayer where there's some
code which uses QTTime & QTTimeRange.

Cheers,
Eloy.



More information about the Rubycocoa-devel mailing list
アーカイブの一覧に戻る