Hi, all, I am developing a plug-in which integrate source with demux functions, and it always have two src pads, one for video, another for audio, in my pipeline, we connected 2 branches to video sink and audio sink. It is ok to playback a file with audio and video, but if there is no audio data in this file, video freezed. I trace gstreamer code, found audiosink is prerolled status. What I need to do to solve it?
Best Regards Ever Chen
------------------------------------------------------------------------- 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Hi ,
When u don't have audio data in your container file then that time don't create pad for that stream in plugin code i.e. dont try to push audio data to next element .
In your case what is happening is that you dont have audio data even then you are trying to push some junk data to next element and in that case next element is returning some other return value than GST_FLOW_OK from its chain function .
To debug this just see return value of gst_pad_push( ) fucntion , this value should be GST_FLOW_OK .
2008/9/25 Chen Yong(Ever)[陈勇] <[hidden email]>
-- 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
In reply to this post by Chen Yong(Ever)[陈勇]
Thanks your reply. In my example, we don't push any audio data to down-streaming element, only push video data, but video is freeezed.
>Hi , > > When u don't have audio data in your container file then that time >don't create pad for that stream in plugin code i.e. dont try to push audio >data to next element . > In your case what is happening is that you dont have audio data even >then you are trying to push some junk data to next element and in that case >next element is returning some other return value than GST_FLOW_OK from its >chain function . > To debug this just see return value of gst_pad_push( ) fucntion , >this value should be GST_FLOW_OK . ------------------------------------------------------------------------- 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Hi ,
Can u please tell me how you are running pipeline ? using gst-launch or using some application written by you ?
On Fri, Sep 26, 2008 at 6:15 AM, Chen Yong(Ever)[陈勇] <[hidden email]> wrote: Thanks your reply. In my example, we don't push any audio data to down-streaming element, only push video data, but video is freeezed. -- 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Hi,
If you are not pushing any audiodata, then with what element is the audiosink element linked? Looks like, you add the audiosink in the pipeline right at the start. So when set the pipeline is set to playing and if the file has only video data, then audiosink will never complete the state change to PAUSED. (wont preroll) You need to add the elements after the demux (decoders, sinks), later., based on the new pads fired by the demuxer. Ved 2008/9/26 sudarshan bisht <[hidden email]>: > Hi , > Can u please tell me how you are running pipeline ? using > gst-launch or using some application written by you ? > > On Fri, Sep 26, 2008 at 6:15 AM, Chen Yong(Ever)[陈勇] > <[hidden email]> wrote: >> >> Thanks your reply. In my example, we don't push any audio data to >> down-streaming element, only push video data, but video is freeezed. >> >> >> >Hi , >> > >> > When u don't have audio data in your container file then that >> > time >> >don't create pad for that stream in plugin code i.e. dont try to push >> > audio >> >data to next element . >> > In your case what is happening is that you dont have audio data >> > even >> >then you are trying to push some junk data to next element and in that >> > case >> >next element is returning some other return value than GST_FLOW_OK from >> > its >> >chain function . >> > To debug this just see return value of gst_pad_push( ) fucntion , >> >this value should be GST_FLOW_OK . >> >> >> >> ------------------------------------------------------------------------- >> 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 >> [hidden email] >> 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 > [hidden email] > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
In reply to this post by Chen Yong(Ever)[陈勇]
Hi,
We write an application to create a pipeline, add connect all pads to all sinks, and simply set pipeline status to playing. In fact, this problem also occur in other case, maybe we playback a mpeg file, but while forward scan with high-speed, we should send video only(I picture) , video is free zed, too. >From: "sudarshan bisht" <[hidden email]> >Subject: Re: [gst-devel] video freeze while playing a file without audio >To: "Discussion of the development of GStreamer" <[hidden email]> >Message-ID: <[hidden email]> >Content-Type: text/plain; charset="gb2312" >Hi , Can u please tell me how you are running pipeline ? using >gst-launch or using some application written by you ? >On Fri, Sep 26, 2008 at 6:15 AM, Chen Yong(Ever)[??] < >[hidden email]> wrote: > Thanks your reply. In my example, we don't push any audio data to > down-streaming element, only push video data, but video is freeezed. > > > >Hi , > > > > When u don't have audio data in your container file then that time > >don't create pad for that stream in plugin code i.e. dont try to push > audio > >data to next element . > > In your case what is happening is that you dont have audio data even > >then you are trying to push some junk data to next element and in that > case > >next element is returning some other return value than GST_FLOW_OK from > its > >chain function . > > To debug this just see return value of gst_pad_push( ) fucntion , > >this value should be GST_FLOW_OK . > > ------------------------------------------------------------------------- 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Hi ,
In your application you have to check if any stream is not present then dont connect related elemet to the pipeline .
You might be using some callback funtion to connect demuxer src pad's with decoder's sink pad . There you check it u get a valid audio src pad from demuxer then only link those element with the main bin or pipeline .
On Fri, Sep 26, 2008 at 2:18 PM, Chen Yong(Ever)[陈勇] <[hidden email]> wrote: Hi, -- 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |