Call for patch review: Add 'caps' property for playbin

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

Call for patch review: Add 'caps' property for playbin

Zhao, Halley

‘caps’ property are defined for decodebin2/uridecodebin as “The caps on which to stop decoding. (NULL= default)”.

But there is no ‘caps’ property for playbin2 yet, we’d better add it as well to give app the flexibility of controlling decodebin2 for newly introduced raw video caps; ‘video/x-raw-va’ for example.

 

I met issues for creating a customized sink for libva: ‘video/x-raw-va’; my sink renders video frame as texture in Qt.

When I set playbin2 ‘video-sink’ to my customized sink, decodebin2 doesn’t stop auto-plug (expose_pad) when it comes to ‘video/x-raw-va’ because decodebin2 doesn’t think ‘video/x-raw-va’ is a raw type.

(by the way, the auto-plug stops when playbin2 realize it comes to a sink; however this sink is not my customized sink. because my sink requires many app context (OpenGL etc), it is similar to clutter-gst sink)

I think it is better to add ‘caps’ property for playbin2 as well, then app could control decodebin2 with flexibility for newly introduced raw caps.

 

 

ZHAO, Halley (Aihua)

Email: halley.zhao<a href="blocked::mailto:aihua.zhao@intel.com" title="mailto:aihua.zhao@intel.com&#10;mailto:hui.xue@intel.com">@intel.com

Tel: +86(21)61166476   iNet: 8821-6476

SSG/OTC/Moblin 3W038 Pole: F4

 


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

playbin2-caps.diff.txt (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Call for patch review: Add 'caps' property for playbin

Stefan Sauer
Hi Zhao,

On 13.07.2010 05:13, Zhao, Halley wrote:
>
> ‘caps’ property are defined for decodebin2/uridecodebin as “The caps
> on which to stop decoding. (NULL= default)”.
>
> But there is no ‘caps’ property for playbin2 yet, we’d better add it
> as well to give app the flexibility of controlling decodebin2 for
> newly introduced raw video caps; ‘video/x-raw-va’ for example.
>
I don't think we want to burden application developers with setting that. We should probably add this to the raw caps.
I'd suggest to file a bug about it and attach the current patch there. I think the current GSoC project on vdpau will
face the same issue. In the case of ‘video/x-raw-va’, chances of adding it are higher if there are public plugins
that use it somewhere.

Stefan



> I met issues for creating a customized sink for libva:
> ‘video/x-raw-va’; my sink renders video frame as texture in Qt.
>
> When I set playbin2 ‘video-sink’ to my customized sink, decodebin2
> doesn’t stop auto-plug (expose_pad) when it comes to ‘video/x-raw-va’
> because decodebin2 doesn’t think ‘video/x-raw-va’ is a raw type.
>
> (by the way, the auto-plug stops when playbin2 realize it comes to a
> sink; however this sink is not my customized sink. because my sink
> requires many app context (OpenGL etc), it is similar to clutter-gst sink)
>
> I think it is better to add ‘caps’ property for playbin2 as well, then
> app could control decodebin2 with flexibility for newly introduced raw
> caps.
>
> *ZHAO, Halley (Aihua)*
>
> Email: [hidden email] <blocked::mailto:[hidden email]>
>
> Tel: +86(21)61166476 iNet: 8821-6476
>
> SSG/OTC/Moblin 3W038 Pole: F4
>
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Sprint
> What will you do first with EVO, the first 4G phone?
> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
>
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>  


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Call for patch review: Add 'caps' property for playbin

Zhao, Halley
Thanks Stefan.
As to "video/x-raw-va", I will follow it up in bugzilla.

However, I don't it is a burden for application developer to set 'caps' property of playbin, but provide flexibility for customized codec with corresponding sink. For example:
Some audio dsp could accept compressed audio data, there may be a new caps as 'audio/x-raw-mp3' for such device.
I guess there may also be some special caps for drm stream after decode.



-----Original Message-----
From: Stefan Kost [mailto:[hidden email]]
Sent: 2010年7月14日 20:21
To: [hidden email]
Subject: Re: [gst-devel] Call for patch review: Add 'caps' property for playbin

Hi Zhao,

On 13.07.2010 05:13, Zhao, Halley wrote:
>
> ‘caps’ property are defined for decodebin2/uridecodebin as “The caps
> on which to stop decoding. (NULL= default)”.
>
> But there is no ‘caps’ property for playbin2 yet, we’d better add it
> as well to give app the flexibility of controlling decodebin2 for
> newly introduced raw video caps; ‘video/x-raw-va’ for example.
>
I don't think we want to burden application developers with setting that. We should probably add this to the raw caps.
I'd suggest to file a bug about it and attach the current patch there. I think the current GSoC project on vdpau will
face the same issue. In the case of ‘video/x-raw-va’, chances of adding it are higher if there are public plugins
that use it somewhere.

Stefan



> I met issues for creating a customized sink for libva:
> ‘video/x-raw-va’; my sink renders video frame as texture in Qt.
>
> When I set playbin2 ‘video-sink’ to my customized sink, decodebin2
> doesn’t stop auto-plug (expose_pad) when it comes to ‘video/x-raw-va’
> because decodebin2 doesn’t think ‘video/x-raw-va’ is a raw type.
>
> (by the way, the auto-plug stops when playbin2 realize it comes to a
> sink; however this sink is not my customized sink. because my sink
> requires many app context (OpenGL etc), it is similar to clutter-gst sink)
>
> I think it is better to add ‘caps’ property for playbin2 as well, then
> app could control decodebin2 with flexibility for newly introduced raw
> caps.
>
> *ZHAO, Halley (Aihua)*
>
> Email: [hidden email] <blocked::mailto:[hidden email]>
>
> Tel: +86(21)61166476 iNet: 8821-6476
>
> SSG/OTC/Moblin 3W038 Pole: F4
>
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Sprint
> What will you do first with EVO, the first 4G phone?
> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
>
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>  


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Call for patch review: Add 'caps' property for playbin

Zhao, Halley
I remember another case to benefit from the 'caps' of playbin.
If we use playbin and customized video sink for thumbnail generation, we don’t expect decodebin2 stop at 'video/x-raw-va' but 'video/x-raw-rgb'. It is different from playback.
So we need the flexibility from playbin to handle the difference of the two cases.
Could you agree?


-----Original Message-----
From: Zhao, Halley [mailto:[hidden email]]
Sent: 2010年7月15日 15:15
To: Discussion of the development of GStreamer
Subject: Re: [gst-devel] Call for patch review: Add 'caps' property for playbin

Thanks Stefan.
As to "video/x-raw-va", I will follow it up in bugzilla.

However, I don't it is a burden for application developer to set 'caps' property of playbin, but provide flexibility for customized codec with corresponding sink. For example:
Some audio dsp could accept compressed audio data, there may be a new caps as 'audio/x-raw-mp3' for such device.
I guess there may also be some special caps for drm stream after decode.



-----Original Message-----
From: Stefan Kost [mailto:[hidden email]]
Sent: 2010年7月14日 20:21
To: [hidden email]
Subject: Re: [gst-devel] Call for patch review: Add 'caps' property for playbin

Hi Zhao,

On 13.07.2010 05:13, Zhao, Halley wrote:
>
> ‘caps’ property are defined for decodebin2/uridecodebin as “The caps
> on which to stop decoding. (NULL= default)”.
>
> But there is no ‘caps’ property for playbin2 yet, we’d better add it
> as well to give app the flexibility of controlling decodebin2 for
> newly introduced raw video caps; ‘video/x-raw-va’ for example.
>
I don't think we want to burden application developers with setting that. We should probably add this to the raw caps.
I'd suggest to file a bug about it and attach the current patch there. I think the current GSoC project on vdpau will
face the same issue. In the case of ‘video/x-raw-va’, chances of adding it are higher if there are public plugins
that use it somewhere.

Stefan



> I met issues for creating a customized sink for libva:
> ‘video/x-raw-va’; my sink renders video frame as texture in Qt.
>
> When I set playbin2 ‘video-sink’ to my customized sink, decodebin2
> doesn’t stop auto-plug (expose_pad) when it comes to ‘video/x-raw-va’
> because decodebin2 doesn’t think ‘video/x-raw-va’ is a raw type.
>
> (by the way, the auto-plug stops when playbin2 realize it comes to a
> sink; however this sink is not my customized sink. because my sink
> requires many app context (OpenGL etc), it is similar to clutter-gst sink)
>
> I think it is better to add ‘caps’ property for playbin2 as well, then
> app could control decodebin2 with flexibility for newly introduced raw
> caps.
>
> *ZHAO, Halley (Aihua)*
>
> Email: [hidden email] <blocked::mailto:[hidden email]>
>
> Tel: +86(21)61166476 iNet: 8821-6476
>
> SSG/OTC/Moblin 3W038 Pole: F4
>
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Sprint
> What will you do first with EVO, the first 4G phone?
> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
>
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>  


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Call for patch review: Add 'caps' property for playbin

Edward Hervey
Administrator
On Fri, 2010-07-16 at 13:33 +0800, Zhao, Halley wrote:
> I remember another case to benefit from the 'caps' of playbin. If we
>  use playbin and customized video sink for thumbnail generation, we
>  don’t expect decodebin2 stop at 'video/x-raw-va' but
>  'video/x-raw-rgb'. It is different from playback. So we need the
>  flexibility from playbin to handle the difference of the two cases.
>  Could you agree?

  You shouldn't have to expose such a property. If your sink is properly
written, exposes the proper caps and has the proper rank, then it will
be automatically picked up by playbin2 and the caps property of
decodebin2 will be properly set also.

   Edward

>
>
> -----Original Message-----
> From: Zhao, Halley [mailto:[hidden email]]
> Sent: 2010年7月15日 15:15
> To: Discussion of the development of GStreamer
> Subject: Re: [gst-devel] Call for patch review: Add 'caps' property for playbin
>
> Thanks Stefan.
> As to "video/x-raw-va", I will follow it up in bugzilla.
>
> However, I don't it is a burden for application developer to set 'caps' property of playbin, but provide flexibility for customized codec with corresponding sink. For example:
> Some audio dsp could accept compressed audio data, there may be a new caps as 'audio/x-raw-mp3' for such device.
> I guess there may also be some special caps for drm stream after decode.
>
>
>
> -----Original Message-----
> From: Stefan Kost [mailto:[hidden email]]
> Sent: 2010年7月14日 20:21
> To: [hidden email]
> Subject: Re: [gst-devel] Call for patch review: Add 'caps' property for playbin
>
> Hi Zhao,
>
> On 13.07.2010 05:13, Zhao, Halley wrote:
> >
> > ‘caps’ property are defined for decodebin2/uridecodebin as “The caps
> > on which to stop decoding. (NULL= default)”.
> >
> > But there is no ‘caps’ property for playbin2 yet, we’d better add it
> > as well to give app the flexibility of controlling decodebin2 for
> > newly introduced raw video caps; ‘video/x-raw-va’ for example.
> >
> I don't think we want to burden application developers with setting that. We should probably add this to the raw caps.
> I'd suggest to file a bug about it and attach the current patch there. I think the current GSoC project on vdpau will
> face the same issue. In the case of ‘video/x-raw-va’, chances of adding it are higher if there are public plugins
> that use it somewhere.
>
> Stefan
>
>
>
> > I met issues for creating a customized sink for libva:
> > ‘video/x-raw-va’; my sink renders video frame as texture in Qt.
> >
> > When I set playbin2 ‘video-sink’ to my customized sink, decodebin2
> > doesn’t stop auto-plug (expose_pad) when it comes to ‘video/x-raw-va’
> > because decodebin2 doesn’t think ‘video/x-raw-va’ is a raw type.
> >
> > (by the way, the auto-plug stops when playbin2 realize it comes to a
> > sink; however this sink is not my customized sink. because my sink
> > requires many app context (OpenGL etc), it is similar to clutter-gst sink)
> >
> > I think it is better to add ‘caps’ property for playbin2 as well, then
> > app could control decodebin2 with flexibility for newly introduced raw
> > caps.
> >
> > *ZHAO, Halley (Aihua)*
> >
> > Email: [hidden email] <blocked::mailto:[hidden email]>
> >
> > Tel: +86(21)61166476 iNet: 8821-6476
> >
> > SSG/OTC/Moblin 3W038 Pole: F4
> >
> >
> > ------------------------------------------------------------------------------
> > This SF.net email is sponsored by Sprint
> > What will you do first with EVO, the first 4G phone?
> > Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
> >
> >
> > _______________________________________________
> > gstreamer-devel mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> >  
>
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Sprint
> What will you do first with EVO, the first 4G phone?
> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Sprint
> What will you do first with EVO, the first 4G phone?
> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Sprint
> What will you do first with EVO, the first 4G phone?
> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel



------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Call for patch review: Add 'caps' property for playbin

Zhao, Halley
Thanks Edward.
My case is a little special, because the sink is created by application; it depends a lot on application context: OpenGL context and texture.
So it is not automatically picked up by playbin2, clutter-gst is the similar example.



-----Original Message-----
From: Edward Hervey [mailto:[hidden email]]
Sent: 2010年7月19日 15:55
To: Discussion of the development of GStreamer
Subject: Re: [gst-devel] Call for patch review: Add 'caps' property for playbin

On Fri, 2010-07-16 at 13:33 +0800, Zhao, Halley wrote:
> I remember another case to benefit from the 'caps' of playbin. If we
>  use playbin and customized video sink for thumbnail generation, we
>  don’t expect decodebin2 stop at 'video/x-raw-va' but
>  'video/x-raw-rgb'. It is different from playback. So we need the
>  flexibility from playbin to handle the difference of the two cases.
>  Could you agree?

  You shouldn't have to expose such a property. If your sink is properly
written, exposes the proper caps and has the proper rank, then it will
be automatically picked up by playbin2 and the caps property of
decodebin2 will be properly set also.

   Edward

>
>
> -----Original Message-----
> From: Zhao, Halley [mailto:[hidden email]]
> Sent: 2010年7月15日 15:15
> To: Discussion of the development of GStreamer
> Subject: Re: [gst-devel] Call for patch review: Add 'caps' property for playbin
>
> Thanks Stefan.
> As to "video/x-raw-va", I will follow it up in bugzilla.
>
> However, I don't it is a burden for application developer to set 'caps' property of playbin, but provide flexibility for customized codec with corresponding sink. For example:
> Some audio dsp could accept compressed audio data, there may be a new caps as 'audio/x-raw-mp3' for such device.
> I guess there may also be some special caps for drm stream after decode.
>
>
>
> -----Original Message-----
> From: Stefan Kost [mailto:[hidden email]]
> Sent: 2010年7月14日 20:21
> To: [hidden email]
> Subject: Re: [gst-devel] Call for patch review: Add 'caps' property for playbin
>
> Hi Zhao,
>
> On 13.07.2010 05:13, Zhao, Halley wrote:
> >
> > ‘caps’ property are defined for decodebin2/uridecodebin as “The caps
> > on which to stop decoding. (NULL= default)”.
> >
> > But there is no ‘caps’ property for playbin2 yet, we’d better add it
> > as well to give app the flexibility of controlling decodebin2 for
> > newly introduced raw video caps; ‘video/x-raw-va’ for example.
> >
> I don't think we want to burden application developers with setting that. We should probably add this to the raw caps.
> I'd suggest to file a bug about it and attach the current patch there. I think the current GSoC project on vdpau will
> face the same issue. In the case of ‘video/x-raw-va’, chances of adding it are higher if there are public plugins
> that use it somewhere.
>
> Stefan
>
>
>
> > I met issues for creating a customized sink for libva:
> > ‘video/x-raw-va’; my sink renders video frame as texture in Qt.
> >
> > When I set playbin2 ‘video-sink’ to my customized sink, decodebin2
> > doesn’t stop auto-plug (expose_pad) when it comes to ‘video/x-raw-va’
> > because decodebin2 doesn’t think ‘video/x-raw-va’ is a raw type.
> >
> > (by the way, the auto-plug stops when playbin2 realize it comes to a
> > sink; however this sink is not my customized sink. because my sink
> > requires many app context (OpenGL etc), it is similar to clutter-gst sink)
> >
> > I think it is better to add ‘caps’ property for playbin2 as well, then
> > app could control decodebin2 with flexibility for newly introduced raw
> > caps.
> >
> > *ZHAO, Halley (Aihua)*
> >
> > Email: [hidden email] <blocked::mailto:[hidden email]>
> >
> > Tel: +86(21)61166476 iNet: 8821-6476
> >
> > SSG/OTC/Moblin 3W038 Pole: F4
> >
> >
> > ------------------------------------------------------------------------------
> > This SF.net email is sponsored by Sprint
> > What will you do first with EVO, the first 4G phone?
> > Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
> >
> >
> > _______________________________________________
> > gstreamer-devel mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> >  
>
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Sprint
> What will you do first with EVO, the first 4G phone?
> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Sprint
> What will you do first with EVO, the first 4G phone?
> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Sprint
> What will you do first with EVO, the first 4G phone?
> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel



------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel