Re: Wrapping variable argument functions



Murray Cumming wrote:
On Thu, 2008-02-07 at 21:09 +0100, Murray Cumming wrote:
On Thu, 2008-02-07 at 13:14 -0500, José Alburquerque wrote:
Okay. Here's the patch. To produce the problem simply run tests/test-caps. The way it's in svn now, test/test-caps works fine, but with this patch I get warnings.
Now I understand. It's this strange thing in gstreamer that stops you
from changing items that have been referenced:

(lt-test-caps:19844): GStreamer-CRITICAL **: gst_structure_set_value:
assertion `IS_MUTABLE (structure)' failed

I really don't know what to do about them yet. It's an abuse of the
reference-counting system.

I guess we need some way to return a RefPtr without referencing the C
object, that would stop the original RefPtr from unreferencing its C
object. But I can't imagine how to do that without adding a bool member
variable to RefPtr.


You know, I was sort of thinking that if in the Gst::Caps::set_simple() method an unreference is done at the beginning (if refcount > 1) and then a reference back at the end, this might work.

-Jose


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]