Hi sudarshan ,
    It have simply processed the state changes. namely when  the change is 
ST_STATE_CHANGE_READY_TO_NULL, reset the decode and clear the buffers,
and I am tring to change to pipeline's scheduling mode according to Tyler's 
suggestion. anyhow,thank you a lot!
   Volter
 

在2008-04-09,"sudarshan bisht" <[EMAIL PROTECTED]> 写道:

Hi Volter,
              Its better to implement all the event handling in _change_state 
function . 


2008/4/8 Volter Yen <[EMAIL PROTECTED]>:

Hi all,
    Recently,I used the adecode to try to implement an audio player with  fast 
forward/backwad fuctions, but It gave no response to my seeking action in my 
application, and the probelm maybe be caused by the event process in the decode 
element,it just forward the event to other elements in the pipe. 
 and  the related codes are as follow: 
 
static gboolean gst_adecoder_src_event(GstPad * pad, GstEvent * event)
{
    gboolean res;
    GstADecoder *adecoder;
    adecoder = GST_ADECODER(GST_PAD_PARENT(pad));
    if (adecoder->codec_handle == NULL)
    goto no_decoder;
    res = gst_pad_push_event(adecoder->sinkpad, event);
    return res;
    no_decoder:
    {
        GST_DEBUG_OBJECT(adecoder, "no decoder, cannot handle event");
        gst_event_unref(event);
        return FALSE;
    }
}
 
 
static gboolean gst_adecoder_sink_event(GstPad * pad, GstEvent * event)
{
    GstADecoder *adecoder = GST_ADECODER(GST_PAD_PARENT(pad));
    gboolean ret = TRUE;
    #ifdef DEBUG
    printf("Got %s event on sink pad\n", GST_EVENT_TYPE_NAME(event));
    #endif
    switch (GST_EVENT_TYPE(event))
    {
  case GST_EVENT_NEWSEGMENT:
  ret = gst_pad_event_default(pad, event);
  break;
     case GST_EVENT_FLUSH_START:
        ret = gst_pad_event_default(pad, event);
        break;
     case GST_EVENT_FLUSH_STOP:
        ret = gst_pad_event_default(pad, event);
        break;
     case GST_EVENT_EOS:
      gst_adecoder_decode_remaining(adecoder);
      ret = gst_pad_event_default(pad, event);
        break;
     default:
        ret = gst_pad_event_default(pad, event);
        break;
    }
    return ret;
}
 
      Is there any problem? Any suggestion? Thank you!
 
      Volter



500强春季最新高薪职位信息,快填简历参加面试
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Register now and save $200. Hurry, offer ends at 11:59 p.m.,
Monday, April 7! Use priority code J8TLD2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
gstreamer-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel





-- 
Regards,

Sudarshan Bisht
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to