How to Set Buffer Size Within Plugin

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

How to Set Buffer Size Within Plugin

Greg Wunder
How to Set Buffer Size Within Plugin

Does anyone know how to set the buffer size within a plugin or know of an example to do this?
I need to resize my incoming video since I'm doing some output mosiacking that is larger than the incoming buffer size.



------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to Set Buffer Size Within Plugin

Sudarshan Bisht
I guess GstAdapter would be helpful for your task. Go through the link below ;
 
On Thu, Oct 14, 2010 at 1:24 AM, Greg Wunder <[hidden email]> wrote:

Does anyone know how to set the buffer size within a plugin or know of an example to do this?
I need to resize my incoming video since I'm doing some output mosiacking that is larger than the incoming buffer size.



------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel




--
Regards,

Sudarshan Bisht

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to Set Buffer Size Within Plugin

Greg Wunder
RE: [gst-devel] How to Set Buffer Size Within Plugin

I realized I wasn't entirely clear on my question....sorry.
Let me revise:

I need to set the output video size according to the input video size (say, 2 times) inside a plugin.
I know how to set the buffer size, but not how to set the output video size in this manner.


-----Original Message-----
From: sudarshan bisht [[hidden email]]
Sent: Thu 10/14/2010 1:31 AM
To: Discussion of the development of GStreamer
Subject: Re: [gst-devel] How to Set Buffer Size Within Plugin

I guess GstAdapter would be helpful for your task. Go through the link below
;

http://www.gstreamer.net/data/doc/gstreamer/head/gstreamer-libs/html/GstAdapter.html

On Thu, Oct 14, 2010 at 1:24 AM, Greg Wunder <[hidden email]> wrote:

>  Does anyone know how to set the buffer size within a plugin or know of an
> example to do this?
> I need to resize my incoming video since I'm doing some output mosiacking
> that is larger than the incoming buffer size.
>
>
>
>
> ------------------------------------------------------------------------------
> Beautiful is writing same markup. Internet Explorer 9 supports
> standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
> Spend less time writing and  rewriting code and more time creating great
> experiences on the web. Be a part of the beta today.
> http://p.sf.net/sfu/beautyoftheweb
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>


--
Regards,

Sudarshan Bisht


------------------------------------------------------------------------------
Download new Adobe(R) Flash(R) Builder(TM) 4
The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly
Flex(R) Builder(TM)) enable the development of rich applications that run
across multiple browsers and platforms. Download your free trials today!
http://p.sf.net/sfu/adobe-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to Set Buffer Size Within Plugin

michael smith-6-3
Well, that's just up to what your plugin outputs. It'll be just like
outputting the same size video, except... you'll be making things a
different size in your plugin.

Mike


On Fri, Oct 15, 2010 at 10:54 AM, Greg Wunder <[hidden email]> wrote:

> I realized I wasn't entirely clear on my question....sorry.
> Let me revise:
>
> I need to set the output video size according to the input video size (say,
> 2 times) inside a plugin.
> I know how to set the buffer size, but not how to set the output video size
> in this manner.
>
>
> -----Original Message-----
> From: sudarshan bisht [mailto:[hidden email]]
> Sent: Thu 10/14/2010 1:31 AM
> To: Discussion of the development of GStreamer
> Subject: Re: [gst-devel] How to Set Buffer Size Within Plugin
>
> I guess GstAdapter would be helpful for your task. Go through the link below
> ;
>
> http://www.gstreamer.net/data/doc/gstreamer/head/gstreamer-libs/html/GstAdapter.html
>
> On Thu, Oct 14, 2010 at 1:24 AM, Greg Wunder <[hidden email]> wrote:
>
>>  Does anyone know how to set the buffer size within a plugin or know of an
>> example to do this?
>> I need to resize my incoming video since I'm doing some output mosiacking
>> that is larger than the incoming buffer size.
>>
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Beautiful is writing same markup. Internet Explorer 9 supports
>> standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
>> Spend less time writing and  rewriting code and more time creating great
>> experiences on the web. Be a part of the beta today.
>> http://p.sf.net/sfu/beautyoftheweb
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>
>>
>
>
> --
> Regards,
>
> Sudarshan Bisht
>
>
> ------------------------------------------------------------------------------
> Download new Adobe(R) Flash(R) Builder(TM) 4
> The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly
> Flex(R) Builder(TM)) enable the development of rich applications that run
> across multiple browsers and platforms. Download your free trials today!
> http://p.sf.net/sfu/adobe-dev2dev
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>

------------------------------------------------------------------------------
Download new Adobe(R) Flash(R) Builder(TM) 4
The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly
Flex(R) Builder(TM)) enable the development of rich applications that run
across multiple browsers and platforms. Download your free trials today!
http://p.sf.net/sfu/adobe-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to Set Buffer Size Within Plugin

Michael Joachimiak
I think you need to specify source caps according to sink caps. When you get video/smth,width=640,height=480,.... on sink you can set source to the same but width=1280,height=960. And obviously create the correct buffer size to push on the src.
Is that what you want?
If you need more details give details yourself, otherwise we could end up discussing apples and oranges. 

2010/10/15 Michael Smith <[hidden email]>
Well, that's just up to what your plugin outputs. It'll be just like
outputting the same size video, except... you'll be making things a
different size in your plugin.

Mike


On Fri, Oct 15, 2010 at 10:54 AM, Greg Wunder <[hidden email]> wrote:
> I realized I wasn't entirely clear on my question....sorry.
> Let me revise:
>
> I need to set the output video size according to the input video size (say,
> 2 times) inside a plugin.
> I know how to set the buffer size, but not how to set the output video size
> in this manner.
>
>
> -----Original Message-----
> From: sudarshan bisht [mailto:[hidden email]]
> Sent: Thu 10/14/2010 1:31 AM
> To: Discussion of the development of GStreamer
> Subject: Re: [gst-devel] How to Set Buffer Size Within Plugin
>
> I guess GstAdapter would be helpful for your task. Go through the link below
> ;
>
> http://www.gstreamer.net/data/doc/gstreamer/head/gstreamer-libs/html/GstAdapter.html
>
> On Thu, Oct 14, 2010 at 1:24 AM, Greg Wunder <[hidden email]> wrote:
>
>>  Does anyone know how to set the buffer size within a plugin or know of an
>> example to do this?
>> I need to resize my incoming video since I'm doing some output mosiacking
>> that is larger than the incoming buffer size.
>>
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Beautiful is writing same markup. Internet Explorer 9 supports
>> standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
>> Spend less time writing and  rewriting code and more time creating great
>> experiences on the web. Be a part of the beta today.
>> http://p.sf.net/sfu/beautyoftheweb
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>
>>
>
>
> --
> Regards,
>
> Sudarshan Bisht
>
>
> ------------------------------------------------------------------------------
> Download new Adobe(R) Flash(R) Builder(TM) 4
> The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly
> Flex(R) Builder(TM)) enable the development of rich applications that run
> across multiple browsers and platforms. Download your free trials today!
> http://p.sf.net/sfu/adobe-dev2dev
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>

------------------------------------------------------------------------------
Download new Adobe(R) Flash(R) Builder(TM) 4
The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly
Flex(R) Builder(TM)) enable the development of rich applications that run
across multiple browsers and platforms. Download your free trials today!
http://p.sf.net/sfu/adobe-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel



--
Your Sincerely
Michael Joachimiak

------------------------------------------------------------------------------
Download new Adobe(R) Flash(R) Builder(TM) 4
The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly
Flex(R) Builder(TM)) enable the development of rich applications that run
across multiple browsers and platforms. Download your free trials today!
http://p.sf.net/sfu/adobe-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to Set Buffer Size Within Plugin

Greg Wunder
RE: [gst-devel] How to Set Buffer Size Within Plugin

Following up with one more question:

Let be more specific, on the set_cap function:
The trans_class->set_caps = GST_DEBUG_FUNCPTR (gst_mosaick_set_caps);

static gboolean
gst_mosaick_set_caps (GstBaseTransform * trans, GstCaps * in, GstCaps * out)
{
  GstMosaick *mosaick = GST_MOSAICK (trans);
  gboolean ret;

  ret = gst_video_format_parse_caps (in, &mosaick->format, &mosaick->from_width, &mosaick->from_height);
  ret &= gst_video_format_parse_caps (out, NULL, &mosaick->to_width, &mosaick->to_height);

...
}

In the above function I can get the input video size, but the output is also being fixed.
Where could you to change the output video size?

-----Original Message-----
From: Michael Joachimiak [[hidden email]]
Sent: Fri 10/15/2010 3:34 PM
To: Discussion of the development of GStreamer
Subject: Re: [gst-devel] How to Set Buffer Size Within Plugin

I think you need to specify source caps according to sink caps. When you get
video/smth,width=640,height=480,.... on sink you can set source to the same
but width=1280,height=960. And obviously create the correct buffer size to
push on the src.
Is that what you want?
If you need more details give details yourself, otherwise we could end up
discussing apples and oranges.

2010/10/15 Michael Smith <[hidden email]>

> Well, that's just up to what your plugin outputs. It'll be just like
> outputting the same size video, except... you'll be making things a
> different size in your plugin.
>
> Mike
>
>
> On Fri, Oct 15, 2010 at 10:54 AM, Greg Wunder <[hidden email]> wrote:
> > I realized I wasn't entirely clear on my question....sorry.
> > Let me revise:
> >
> > I need to set the output video size according to the input video size
> (say,
> > 2 times) inside a plugin.
> > I know how to set the buffer size, but not how to set the output video
> size
> > in this manner.
> >
> >
> > -----Original Message-----
> > From: sudarshan bisht [[hidden email]]
> > Sent: Thu 10/14/2010 1:31 AM
> > To: Discussion of the development of GStreamer
> > Subject: Re: [gst-devel] How to Set Buffer Size Within Plugin
> >
> > I guess GstAdapter would be helpful for your task. Go through the link
> below
> > ;
> >
> >
> http://www.gstreamer.net/data/doc/gstreamer/head/gstreamer-libs/html/GstAdapter.html
> >
> > On Thu, Oct 14, 2010 at 1:24 AM, Greg Wunder <[hidden email]> wrote:
> >
> >>  Does anyone know how to set the buffer size within a plugin or know of
> an
> >> example to do this?
> >> I need to resize my incoming video since I'm doing some output
> mosiacking
> >> that is larger than the incoming buffer size.
> >>
> >>
> >>
> >>
> >>
> >>
> ------------------------------------------------------------------------------
> >> Beautiful is writing same markup. Internet Explorer 9 supports
> >> standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
> >> Spend less time writing and  rewriting code and more time creating great
> >> experiences on the web. Be a part of the beta today.
> >> http://p.sf.net/sfu/beautyoftheweb
> >> _______________________________________________
> >> gstreamer-devel mailing list
> >> [hidden email]
> >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> >>
> >>
> >
> >
> > --
> > Regards,
> >
> > Sudarshan Bisht
> >
> >
> >
> ------------------------------------------------------------------------------
> > Download new Adobe(R) Flash(R) Builder(TM) 4
> > The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly
> > Flex(R) Builder(TM)) enable the development of rich applications that run
> > across multiple browsers and platforms. Download your free trials today!
> > http://p.sf.net/sfu/adobe-dev2dev
> > _______________________________________________
> > gstreamer-devel mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> >
> >
>
>
> ------------------------------------------------------------------------------
> Download new Adobe(R) Flash(R) Builder(TM) 4
> The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly
> Flex(R) Builder(TM)) enable the development of rich applications that run
> across multiple browsers and platforms. Download your free trials today!
> http://p.sf.net/sfu/adobe-dev2dev
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>



--
Your Sincerely
Michael Joachimiak


------------------------------------------------------------------------------
Download new Adobe(R) Flash(R) Builder(TM) 4
The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly
Flex(R) Builder(TM)) enable the development of rich applications that run
across multiple browsers and platforms. Download your free trials today!
http://p.sf.net/sfu/adobe-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to Set Buffer Size Within Plugin

Tim-Philipp Müller-2
On Fri, 2010-10-15 at 15:51 -0400, Greg Wunder wrote:

> Following up with one more question:
>
> Let be more specific, on the set_cap function:
> The trans_class->set_caps = GST_DEBUG_FUNCPTR (gst_mosaick_set_caps);

Ah, so your element is based on GstBaseTransform/GstVideoFilter - that's
useful to know.


> static gboolean
> gst_mosaick_set_caps (GstBaseTransform * trans, GstCaps * in, GstCaps
> * out)
> {
>   GstMosaick *mosaick = GST_MOSAICK (trans);
>   gboolean ret;
>
>   ret = gst_video_format_parse_caps (in, &mosaick->format,
> &mosaick->from_width, &mosaick->from_height);
>   ret &= gst_video_format_parse_caps (out, NULL, &mosaick->to_width,
> &mosaick->to_height);
>
> ...
> }
>
> In the above function I can get the input video size, but the output
> is also being fixed.
> Where could you to change the output video size?

Maybe you're looking for the transform_caps virtual method?

Cheers
 -Tim




------------------------------------------------------------------------------
Download new Adobe(R) Flash(R) Builder(TM) 4
The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly
Flex(R) Builder(TM)) enable the development of rich applications that run
across multiple browsers and platforms. Download your free trials today!
http://p.sf.net/sfu/adobe-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to Set Buffer Size Within Plugin

Greg Wunder
RE: [gst-devel] How to Set Buffer Size Within Plugin

Tracing the pipeline debug messages (noted below) showed that during the first fixate_caps() call, the input/output video sizes have been fixated already.
Before that in the transform_caps() calls, the video sizes range [1, 32767], until the output video size is fixated into the input video size 320x240 & then fixate_caps() is called.
I couldn't know the input video size, before the output video size has been set by the pipeline application.

Using GstBaseTransform, the two functions called before setcap() are:

1) trans_class->transform_caps = GST_DEBUG_FUNCPTR (gst_mosaick_transform_caps);
2) trans_class->fixate_caps = GST_DEBUG_FUNCPTR (gst_mosaick_fixate_caps);


=====
...
gst_mosaick_transform_caps,direction=1
caps=video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/
1, 2147483647/1 ]
gst_mosaick_transform_caps,direction=1
caps=video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/
1, 2147483647/1 ]
0:00:01.046875000   888   02133EC0 WARN           basetransform gstbasetransform.c:1075:gst_base_transform_acceptcaps_default:<mosaick0> transform could not transform 02137920 in anything we support
gst_mosaick_transform_caps,direction=1
caps=video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/
1, 2147483647/1 ]
gst_mosaick_transform_caps,direction=1
caps=video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/
1, 2147483647/1 ]
gst_mosaick_transform_caps,direction=1
caps=video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/
1, 2147483647/1 ]
gst_mosaick_transform_caps,direction=1
caps=video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)[ 1, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/
1, 2147483647/1 ]
gst_mosaick_transform_caps,direction=2
caps=video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)320, height=(int)240, framerate=(fraction)15/1
gst_mosaick_fixate_caps
GST_PAD_SINK 2
dimensions already set to 320x240, not fixating
0:00:01.078125000   888   02133EC0 INFO         GST_PERFORMANCE imgconvert.c:3367:img_convert: no direct path to convert colorspace from bgr24 -> bgrx32






-----Original Message-----
From: Tim-Philipp Müller [[hidden email]]
Sent: Fri 10/15/2010 4:09 PM
To: [hidden email]
Subject: Re: [gst-devel] How to Set Buffer Size Within Plugin

On Fri, 2010-10-15 at 15:51 -0400, Greg Wunder wrote:

> Following up with one more question:
>
> Let be more specific, on the set_cap function:
> The trans_class->set_caps = GST_DEBUG_FUNCPTR (gst_mosaick_set_caps);

Ah, so your element is based on GstBaseTransform/GstVideoFilter - that's
useful to know.


> static gboolean
> gst_mosaick_set_caps (GstBaseTransform * trans, GstCaps * in, GstCaps
> * out)
> {
>   GstMosaick *mosaick = GST_MOSAICK (trans);
>   gboolean ret;
>
>   ret = gst_video_format_parse_caps (in, &mosaick->format,
> &mosaick->from_width, &mosaick->from_height);
>   ret &= gst_video_format_parse_caps (out, NULL, &mosaick->to_width,
> &mosaick->to_height);
>
> ...
> }
>
> In the above function I can get the input video size, but the output
> is also being fixed.
> Where could you to change the output video size?

Maybe you're looking for the transform_caps virtual method?

Cheers
 -Tim




------------------------------------------------------------------------------
Download new Adobe(R) Flash(R) Builder(TM) 4
The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly
Flex(R) Builder(TM)) enable the development of rich applications that run
across multiple browsers and platforms. Download your free trials today!
http://p.sf.net/sfu/adobe-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
Download new Adobe(R) Flash(R) Builder(TM) 4
The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly
Flex(R) Builder(TM)) enable the development of rich applications that run
across multiple browsers and platforms. Download your free trials today!
http://p.sf.net/sfu/adobe-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to Set Buffer Size Within Plugin

Marco Ballesio
Hi,

as usual, late reply, but hopefully it still helps..

On Mon, Oct 18, 2010 at 2:40 PM, Greg Wunder <[hidden email]> wrote:

Tracing the pipeline debug messages (noted below) showed that during the first fixate_caps() call, the input/output video sizes have been fixated already.
Before that in the transform_caps() calls, the video sizes range [1, 32767], until the output video size is fixated into the input video size 320x240 & then fixate_caps() is called.
I couldn't know the input video size, before the output video size has been set by the pipeline application.

Using GstBaseTransform, the two functions called before setcap() are:

1) trans_class->transform_caps = GST_DEBUG_FUNCPTR (gst_mosaick_transform_caps);
2) trans_class->fixate_caps = GST_DEBUG_FUNCPTR (gst_mosaick_fixate_caps);

If I understand well, here you need a caps renegotiation once the proper output size is known by the transformation element. More info here:

http://www.gstreamer.net/data/doc/gstreamer/head/pwg/html/section-nego-upstream.html

This doc appears also to be quite handy:

http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/pwg/advanced-negotiation.xml

But I'd suggest, if you cloned the gstreamer core, to build the corresponding manual and read it instead of this xml file.

Regards

------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel