Testing the newly wrapped Gst::Query classes
- From: José Alburquerque <jaalburquerque cox net>
- To: gtkmm-list gnome org
- Subject: Testing the newly wrapped Gst::Query classes
- Date: Thu, 10 Jan 2008 13:26:15 -0500
I'm running into something a bit peculiar while testing the newly
wrapped Gst::Query classes. To make sure that queries work, I decided
to modify the ogg player gui version to use the Element::query() method
(with a Gst::Query) instead of Element::query_position() to get the
stream position in the PlayerWindow::on_forward() method when the
forward button is pressed.
The problem arises if I attempt to cast the Glib::RefPtr<> of the
Gst::Query class to a Glib::RefPtr<> of the derived type
(Gst::QueryPosition) before "querying the element" (calling
Gst::Element::query()) in the following way:
void PlayerWindow::on_forward(void)
{
...
Gst::Format fmt = Gst::FORMAT_TIME;
Glib::RefPtr<Gst::Query> query = Gst::QueryPosition::create(fmt);
Glib::RefPtr<Gst::QueryPosition> posQuery =
Glib::RefPtr<Gst::QueryPosition>::cast_dynamic(query);
if (mainPipeline->query(posQuery))
{
...
}
}
When the forward button is pressed, gstreamer gives two warnings which
essentially mean that the Gst::Query is refcounted more than once (I
found this out by looking at the definition of the IS_MUTABLE macro in
gststructure.h):
(lt-oggplayer:7134): GStreamer-CRITICAL **: gst_structure_id_set_valist:
assertion `IS_MUTABLE (structure)' failed
(lt-oggplayer:7134): GStreamer-CRITICAL **: gst_structure_id_set_valist:
assertion `IS_MUTABLE (structure)' failed
If, on the other hand, I don't do the cast until after the element query
(in the if block), the warnings are gone which tells me that gstreamer
has a problem with the Gst::Query being referenced more than once before
the query is sent (the cast is necessary to "parse" the
Gst::QueryPosition). Is this something I should worry about or should
it be overlooked? I've checked in the changes to svn with the cast so
it can be tested. After, I'll simply place the cast in the if block to
avoid the warnings. Suggestions appreciated. Thanks.
-Jose
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]