video freeze while playing a file without audio

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

video freeze while playing a file without audio

Chen Yong(Ever)[陈勇]

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
Reply | Threaded
Open this post in threaded view
|

Re: video freeze while playing a file without audio

Sudarshan Bisht
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]>

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




--
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
Reply | Threaded
Open this post in threaded view
|

Re: video freeze while playing a file without audio

Chen Yong(Ever)[陈勇]
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
Reply | Threaded
Open this post in threaded view
|

Re: video freeze while playing a file without audio

Sudarshan Bisht
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
Reply | Threaded
Open this post in threaded view
|

Re: video freeze while playing a file without audio

ved kpl
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
Reply | Threaded
Open this post in threaded view
|

Re: video freeze while playing a file without audio

Chen Yong(Ever)[陈勇]
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
Reply | Threaded
Open this post in threaded view
|

Re: video freeze while playing a file without audio

Sudarshan Bisht
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,
       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



--
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