Re: Fixing the Gst::Message classes



Murray Cumming wrote:
On Wed, 2007-12-12 at 13:34 -0500, José Alburquerque wrote:
I'm sorry, Murray. What's happening is that the old version uses message->get_type() to get the message type when it should be using message->get_message_type(). Sorry about that.

-Jose
And I can confirm that it does work when the call to message->get_type() is changed.

Now I am even more confused. Is there a patch or a new test that I
should commit.

No, I think that the slot version of the player is fine. I think that what happened is that when we re-wrapped Gst::Message to use the new Gst::MiniObject wrapping functionality, one of us changed the _MEMBER_GET(type, ...) to _MEMBER_GET(message_type, ...) renaming the old "Gst::MessageType get_type()" method to "Gst::MessageType get_message_type()". Also, Gst::Message has a "GType get_type()" method (which I think comes from Gst::MiniObject) which returns a valid integer (but not a Gst::MessageType). These changes broke the old copy of the signal version of the player because the old copy thinks that "Gst::Message::get_type()" returns a "Gst::MessageType" when in fact it now returns a "GType" (the on_bus_message() slot never got an error or EOS message so it would never quit the mainloop).

When I made the correct change in the old copy signal player (from messsage->get_type() to message->get_message_type()) things worked fine so there is no error and no need to change anything. I hope this all makes sense. :-)

-Jose



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