[gst-devel] Seeking failed with decoder plugin

Edward Hervey bilboed at gmail.com
Thu Nov 27 12:29:36 CET 2008


Using the 'avidemux' element from gst-plugins-good instead of
ffdemux_avi might remove some of the issues you're seeing.

   Edward

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





More information about the gstreamer-devel mailing list