Question on re-do playback with self-developed elements

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

Question on re-do playback with self-developed elements

Chen, Weian

Hi All

 

videodecoder and videosink is the element developed by us, and we use these two elements to playback videos, following is the steps:

 

1. Launch totem player with a content
2. Do playback
3. After reaching the end of stream (EOS)
re-do playback from GUI
 
And every time we re-do playback we can get following warnings:

First time

Nothing

 

Second time:

(totem:751): GStreamer-CRITICAL **:

Trying to dispose element videosink1, 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.

 

Third time:

(totem:751): GStreamer-CRITICAL **:

Trying to dispose element videosink2, 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.

 

Forth time:

(totem:751): GStreamer-CRITICAL **:

Trying to dispose element videosink3, 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.

 

 

……

 

Could anybody here give me some hint on what’s the problem here?

 

And why the number after videosink will increase? (videosink1, videosink2, videosink3, ….)

 

Thanks in advanced.

 

Weian Chen

Ultra Mobility Group

Intel Corporation

Tel:  86-21-6116-6478
Fax: 86-21-3429-1915
iNet: 8-821-6478

 


------------------------------------------------------------------------------
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing.
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Question on re-do playback with self-developed elements

michael smith-6-3
On Thu, Dec 3, 2009 at 9:55 PM, Chen, Weian <[hidden email]> wrote:

> Could anybody here give me some hint on what’s the problem here?
>

I guess some of the downwards state changes are failing. It's hard to
say why - something inside your code.

>
>
> And why the number after videosink will increase? (videosink1, videosink2,
> videosink3, ….)

GStreamer gives elements a unique name (unless the application
provides a name). So, every time totem creates a new video sink, it
gets an incremented number as part of the automatically-created name.

Mike

------------------------------------------------------------------------------
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing.
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Question on re-do playback with self-developed elements

Chen, Weian

 

Thanks, Mike, please see following.

 

thanks,

Weian

-----Original Message-----
From: Michael Smith [mailto:[hidden email]]
Sent: 2009
124 14:02
To: Discussion of the development of GStreamer
Subject: Re: [gst-devel] Question on re-do playback with self-developed elements

 

On Thu, Dec 3, 2009 at 9:55 PM, Chen, Weian <[hidden email]> wrote:

 

> Could anybody here give me some hint on what’s the problem here?

> 

 

I guess some of the downwards state changes are failing. It's hard to

say why - something inside your code.

 

> 

> 

> And why the number after videosink will increase? (videosink1, videosink2,

> videosink3, ….)

 

GStreamer gives elements a unique name (unless the application

provides a name). So, every time totem creates a new video sink, it

gets an incremented number as part of the automatically-created name.

 

[Weian] After playing a video, will totem de-construct the pipeline or just set the state to NULL?

 

Mike

 

------------------------------------------------------------------------------

Join us December 9, 2009 for the Red Hat Virtual Experience,

a free event focused on virtualization and cloud computing.

Attend in-depth sessions from your desk. Your couch. Anywhere.

http://p.sf.net/sfu/redhat-sfdev2dev

_______________________________________________

gstreamer-devel mailing list

[hidden email]

https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing.
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Question on re-do playback with self-developed elements

Stefan Sauer
Am 04.12.2009 08:17, schrieb Chen, Weian:

>  
>
> Thanks, Mike, please see following.
>
>  
>
> thanks,
>
> Weian
>
> -----Original Message-----
> From: Michael Smith [mailto:[hidden email]]
> Sent: 2009年12月4日 14:02
> To: Discussion of the development of GStreamer
> Subject: Re: [gst-devel] Question on re-do playback with self-developed
> elements
>
>  
>
> On Thu, Dec 3, 2009 at 9:55 PM, Chen, Weian <[hidden email]> wrote:
>
>  
>
>> Could anybody here give me some hint on what’s the problem here?
>
>>
>
>  
>
> I guess some of the downwards state changes are failing. It's hard to
>
> say why - something inside your code.
>
>  
>
>>
>
>>
>
>> And why the number after videosink will increase? (videosink1, videosink2,
>
>> videosink3, ….)
>
>  
>
> GStreamer gives elements a unique name (unless the application
>
> provides a name). So, every time totem creates a new video sink, it
>
> gets an incremented number as part of the automatically-created name.
>
>  
>
> [Weian] After playing a video, will totem de-construct the pipeline or
> just set the state to NULL?

Most app throw away everything and start with a new playbin every time. Element
reuse need more testing.

Stefan

>
>  
>
> Mike
>
>  
>
> ------------------------------------------------------------------------------
>
> Join us December 9, 2009 for the Red Hat Virtual Experience,
>
> a free event focused on virtualization and cloud computing.
>
> Attend in-depth sessions from your desk. Your couch. Anywhere.
>
> http://p.sf.net/sfu/redhat-sfdev2dev
>
> _______________________________________________
>
> gstreamer-devel mailing list
>
> [hidden email]
>
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>
>
> ------------------------------------------------------------------------------
> Join us December 9, 2009 for the Red Hat Virtual Experience,
> a free event focused on virtualization and cloud computing.
> Attend in-depth sessions from your desk. Your couch. Anywhere.
> http://p.sf.net/sfu/redhat-sfdev2dev
>
>
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Question on re-do playback with self-developed elements

Tim-Philipp Müller-2
On Thu, 2009-12-10 at 23:54 +0200, Stefan Kost wrote:
 
> > [Weian] After playing a video, will totem de-construct the pipeline or
> > just set the state to NULL?
>
> Most app throw away everything and start with a new playbin every time. Element
> reuse need more testing.

I don't think that's true. All apps I know create a playbin(2) element
once at startup and re-use that, setting the state to NULL or READY when
changing between songs/videos. Totem certainly does. playbin(2) is meant
to be reused.

However, playbin(2) will likely remove and free any demuxer/decoder
elements it plugged for a stream (after setting them to NULL state), and
re-create them for the next stream if needed.

 Cheers
  -Tim



------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Question on re-do playback with self-developed elements

Stefan Sauer
Am 11.12.2009 00:59, schrieb Tim-Philipp Müller:

> On Thu, 2009-12-10 at 23:54 +0200, Stefan Kost wrote:
>  
>>> [Weian] After playing a video, will totem de-construct the pipeline or
>>> just set the state to NULL?
>>
>> Most app throw away everything and start with a new playbin every time. Element
>> reuse need more testing.
>
> I don't think that's true. All apps I know create a playbin(2) element
> once at startup and re-use that, setting the state to NULL or READY when
> changing between songs/videos. Totem certainly does. playbin(2) is meant
> to be reused.
>
> However, playbin(2) will likely remove and free any demuxer/decoder
> elements it plugged for a stream (after setting them to NULL state), and
> re-create them for the next stream if needed.

Fair enough, but that was new to me. Also we definitely need unit test for it,
as apparently its not very smooth yet :/

Stefan

>
>  Cheers
>   -Tim
>
>
>
> ------------------------------------------------------------------------------
> Return on Information:
> Google Enterprise Search pays you back
> Get the facts.
> http://p.sf.net/sfu/google-dev2dev
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel