[GEM-dev] pix_video again
Erich Berger
eb at randomseed.org
Fri May 12 09:57:06 CEST 2006
hi chris/james,
i will see the specific patch/machine on monday, then i can give more
specific info about codec etc.
but just to make it clear for me:
is pix_film unloading the previous film from the memory when a new one is
loaded or does it remain in memory ?
best + thx
erich
---------------------
http://randomseed.org
On Thu, 11 May 2006, james tittle wrote:
> On May 11, 2006, at 1:20 PM, chris clepper wrote:
>> I'm not sure if any of that matters. I haven't seen any problems with
>> the pix_film object and my testing is up to several million files and
>> many thousands of hours.
>>
>> At this point problems are likely to be Quicktime issues related to
>> specific codecs.
>
> ...yeh, closer inspection shows that prepareTexture() is only used
> pix_movie-derivatives, or else is an empty function...and of course I
> mis-read the "#ifndef", so I was thinking we were double-requesting
> buffers...however, the cache stuff is real, and a simple fix, but not
> probably germaine to the problem here...
>
> ...I'll try to set up some testing overnight here, and see if I can see any
> of this problem...
>
> sigh,
> jamie
>
>> On 5/11/06, james tittle <tigital at mac.com> wrote:
>>> ...hmm, I'm looking at [pix_film] and whaddaya know? There seems to
>>> be all kinds of stuff going weird with createBuffer(), deleteBuffer
>>> (), and prepareTexture() :-( First off, pix_film::openMess() has:
>>>
>>> #ifndef __APPLE__
>>> createBuffer();
>>> prepareTexture();
>>> #endif
>>>
>>> ...this may be a relic/hack from waaaay back?
>>>
>>> ...but this occurs AFTER pix_film::openMess() calls realOpen(), which
>>> is in pix_filmDarwin.cpp...this may be significant because in
>>> pix_filmDarwin::realOpen() we call the same things (or not) based on
>>> the value of m_colorspace (BGRA or other)...
>>>
>>> ...also, pix_film::createBuffer() will never cache the buffer because
>>> oldx and oldy aren't member variables AND they're always set to 0, so
>>> we always hit this:
>>>
>>> if (neededXSize != oldx || neededYSize != oldy)
>>> {
>>> deleteBuffer();
>>> ...
>>> }
>>>
>>> ...um, and that's as far as I've gotten: I'll give some of these
>>> ideas a test, but won't have much time until, uh, later...
>>>
>>> jamie
>>>
>
>
More information about the GEM-dev
mailing list