<HTML>
<HEAD>
<META content="text/html; charset=big5" http-equiv=Content-Type>
<META content="OPENWEBMAIL" name=GENERATOR>
</HEAD>
<BODY bgColor=#ffffff>
<font size="2">Yes, I use ffdemux_avi here.
<br />&gt; Hi ,, 
<br />&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Are you using demuxer&nbsp;also in pipeline ? &nbsp;
<br />&gt; 
<br />&gt; On Thu, Nov 27, 2008 at 3:01 PM, Wei-Di Hung <span dir="ltr">&lt;<a href="mailto:wdhung@vaplab.ee.ncu.edu.tw">wdhung@vaplab.ee.ncu.edu.tw</a>&gt;</span> wrote:
<br />&gt; <blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hi,
<br />&gt; I'm writing a plugin for HW video decoder,
<br />&gt; functions of playing, pause and stop have been verified.
<br />&gt; 
<br />&gt; While seeking, the pipeline ran until the frame of seeking time
<br />&gt; was decoded, i.e, it did jump to the target frame, but the test
<br />&gt; program crashed then.
<br />&gt; 
<br />&gt; Here are messages shown after the sink pad received GST_EVENT_NEW_SEGMENT:
<br />&gt; (player:886): GStreamer-CRITICAL **:
<br />&gt; Trying to dispose element decoder, but it is not in the NULL state.
<br />&gt; You need to explicitly set elements to the NULL state before
<br />&gt; dropping the final reference, to allow them to clean up.
<br />&gt; 
<br />&gt; (player:886): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT
<br />&gt; (object)' failed
<br />&gt; 
<br />&gt; After these message, it seemed the HW keep decoding from the paused frame to
<br />&gt; the target frame. but the intermediate frames were not displayed.
<br />&gt; 
<br />&gt; Before decoding of each frame, came up the folloing message:
<br />&gt; (player:886): GLib-GObject-WARNING **: invalid unclassed pointer in cast to
<br />&gt; `Gstvideodec'
<br />&gt; 
<br />&gt; These are part of codes in sink event handler,
<br />&gt; the format is GST_FORMAT_TIME in this case,
<br />&gt; 
<br />&gt; &nbsp; &nbsp;case GST_EVENT_NEWSEGMENT:
<br />&gt; &nbsp; &nbsp; &nbsp; &nbsp;{
<br />&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;GstFormat format;
<br />&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gint64 start, stop, position;
<br />&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;gdouble rate;
<br />&gt; 
<br />&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; gst_event_parse_new_segment(event, NULL, &amp;rate, &amp;format,
<br />&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&amp;start, &amp;stop, &amp;position);
<br />&gt; 
<br />&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (GST_FORMAT_TIME == format) {
<br />&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;result = gst_pad_push_event(filter-&gt;srcpad, event);
<br />&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {
<br />&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ... ...
<br />&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}
<br />&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;
<br />&gt; &nbsp; &nbsp; &nbsp; &nbsp;}
<br />&gt; 
<br />&gt; Below are part of codes in source event handler:
<br />&gt; 
<br />&gt; &nbsp; &nbsp;switch (GST_EVENT_TYPE(event)) {
<br />&gt; &nbsp; &nbsp;case GST_EVENT_SEEK:
<br />&gt; &nbsp; &nbsp; &nbsp; &nbsp;res = gst_pad_push_event(filter-&gt;sinkpad, event);
<br />&gt; &nbsp; &nbsp; &nbsp; &nbsp;break;
<br />&gt; &nbsp; &nbsp;case GST_EVENT_NAVIGATION:
<br />&gt; &nbsp; &nbsp;default:
<br />&gt; &nbsp; &nbsp; &nbsp; &nbsp;res = gst_pad_push_event(filter-&gt;sinkpad, event);
<br />&gt; &nbsp; &nbsp; &nbsp; &nbsp;break;
<br />&gt; &nbsp; &nbsp;}
<br />&gt; 
<br />&gt; &nbsp; &nbsp; gst_object_unref(filter);
<br />&gt; &nbsp; &nbsp;return res;
<br />&gt; 
<br />&gt; Could someone help me finding possible root cause?
<br />&gt; Thanks in advance.
<br />&gt; 
<br />&gt; -------------------------------------------------------------------------
<br />&gt; This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
<br />&gt; Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
<br />&gt; Grand prize is a trip for two to an Open Source event anywhere in the world
<br />&gt; <a href="http://moblin-contest.org/redirect.php?banner_id=100&url=/" target="_blank">http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/</a>
<br />&gt; _______________________________________________
<br />&gt; gstreamer-devel mailing list
<br />&gt; <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a>
<br />&gt; <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a>
<br />&gt; </blockquote>
<br />&gt; 
<br clear="all" />
<br />&gt; -- 
<br />&gt; Regards,
<br />&gt; 
<br />&gt; Sudarshan Bisht
<br />
<br />
<br /></font>
</BODY>
</HTML>