[gst-devel] seeking changed in 0.3.2

Joshua N Pritikin vishnu at pobox.com
Mon Feb 25 07:17:03 CET 2002


Here is my code to seek.  i added the _SET suffix to GST_SEEK_BYTEOFFSET to
get it to compile with 0.3.2.

static void
_fv_seek (FilmView *fv, gint64 offset)
{
  // g_warning ("seek %lld", offset);
  gst_pad_send_event (gst_element_get_pad (fv->cur_source->elem, "src"),
		      gst_event_new_seek (GST_SEEK_BYTEOFFSET_SET, offset, TRUE));
}

This stopped working with the upgrade from 0.3.1 to 0.3.2.  Now i get:

redael-filmview (pid:3503): GStreamer-ERROR **: file gstpad.c: line 1502 (gst_real_pad_dispose): assertion failed: (GST_PAD_PEER (pad) == NULL)

#6  0x405a322d in g_object_unref () from /usr/lib/libgobject-1.3.so.15
#7  0x4002da0a in gst_object_unref () from /usr/lib/libgst-0.3.2.so.0
#8  0x40039b53 in gst_event_free () from /usr/lib/libgst-0.3.2.so.0
#9  0x4003fef7 in gst_pad_event_default () from /usr/lib/libgst-0.3.2.so.0
#10 0x400400b3 in gst_pad_send_event () from /usr/lib/libgst-0.3.2.so.0
#11 0x0804c099 in _fv_pause (fv=0x808d938) at filmview.c:570

It looks like there is some new ref-counting code that isn't working yet
so i added a g_object_ref(pad) to see what happens next.  It looks like
filesrc gets stuck in g_tree_search.

Program received signal SIGINT, Interrupt.
0x4060c523 in g_tree_search () from /usr/lib/libglib-1.3.so.15
(gdb) where
#0  0x4060c523 in g_tree_search () from /usr/lib/libglib-1.3.so.15
#1  0x405fa595 in g_mem_chunk_alloc () from /usr/lib/libglib-1.3.so.15
#2  0x40039a29 in gst_event_new () from /usr/lib/libgst-0.3.2.so.0
#3  0x408c6f62 in gst_filesrc_get_type () from /usr/lib/gst/libgstelements.so

Then a few seconds later:

Program received signal SIGINT, Interrupt.
0x4060cd8a in g_tree_nnodes () from /usr/lib/libglib-1.3.so.15
(gdb) where
#0  0x4060cd8a in g_tree_nnodes () from /usr/lib/libglib-1.3.so.15
#1  0x4060c58f in g_tree_search () from /usr/lib/libglib-1.3.so.15
#2  0x405fa595 in g_mem_chunk_alloc () from /usr/lib/libglib-1.3.so.15
#3  0x40039a29 in gst_event_new () from /usr/lib/libgst-0.3.2.so.0
#4  0x408c6f62 in gst_filesrc_get_type () from /usr/lib/gst/libgstelements.so

Any suggestions?

i noticed a brief comment in the release notes about events.  It would
really be nice if there was a migration guide.  i don't feel too bad
about API breakage if i know how to fix it.

-- 
Victory to the Divine Mother!!         after all,
  http://sahajayoga.org                  http://why-compete.org




More information about the gstreamer-devel mailing list