GstBaseDecode class

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

GstBaseDecode class

Iago Toral Quiroga
Hi all,

I have been developing software on top of gstreamer for some time and now
I would like to get a bit more close to its internals. With that in mind I
started reading the plugin developer guide and implemented a few audio and
video transform plugins to play around with the main concepts.

Lately I've been looking for something that would let me learn more and at
the same time be helpful to the project, and I found a page with some
tasks here:

http://gstreamer.freedesktop.org/wiki/TaskList

I think writing base classes would let me achieve both targets, on one
hand, one has to read an understand how other plugins of a certain type
work in order to create a base class for them, and on the other hand,
having base classes would be obviously useful.

Even though I have no experience whatsoever writing source/sink/codec
plugins, I would like to propose myself to work on this. Actually, out of
curiosity, I started looking at the code of the mpeg2, ac3 and mad
decoders and wrote a base class for a decoder based on these. Of course,
this is far from being anything else than some preliminary code, I have no
experience whatsoever in writing decoder plugins, so I am sure that I am
missing many things, but I think it could be a good start.

I see for example that work on GstBaseParse has already started using a
bug in bugzilla to track the implementation so I wonder if work on other
base classes should be done in the same way.

Also, since I'm quite new to writing gstreamer plugins and have no
experience writing decoder plugins in particular, I can probably do little
more than just refactoring common code from other decoders, (which is
basically what I've done so far). However, looking at other base classes,
it seems that they actually do more stuff than just refactoring common
code from other plugins, and I guess the same should be done in any other
base class. I hope I can get help with that from more experienced people,
since that is something that goes beyond my current skills, and without
that I guess a GstBaseDecode would not be all that useful.

I am looking forward to get feedback from you to know how I should
continue with this work or if you think I should invest my effort in some
other task more appropriate for  my current skills.

Iago

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: GstBaseDecode class

Christian Fredrik Kalager Schaller
Hi Iago,
Funny you should send out this email today, as I posted a blog today
asking if anyone would be interested in writing AMR plugins by pulling
the AMR library in Android out (details in blog):
http://blogs.gnome.org/uraeus/2009/05/11/help-for-transmageddon

This would probably be a good task for you as it would let you just work
on writing the GStreamer plugins part of the code and it would add
instantly useful functionality to GStreamer.

Once you have written these plugins you probably also have a more
experience and a better idea what would be useful to put into a
baseclass and thus be better prepared to take on that task if still
interested.

Christian


On Mon, 2009-05-11 at 17:07 +0200, [hidden email] wrote:

> Hi all,
>
> I have been developing software on top of gstreamer for some time and now
> I would like to get a bit more close to its internals. With that in mind I
> started reading the plugin developer guide and implemented a few audio and
> video transform plugins to play around with the main concepts.
>
> Lately I've been looking for something that would let me learn more and at
> the same time be helpful to the project, and I found a page with some
> tasks here:
>
> http://gstreamer.freedesktop.org/wiki/TaskList
>
> I think writing base classes would let me achieve both targets, on one
> hand, one has to read an understand how other plugins of a certain type
> work in order to create a base class for them, and on the other hand,
> having base classes would be obviously useful.
>
> Even though I have no experience whatsoever writing source/sink/codec
> plugins, I would like to propose myself to work on this. Actually, out of
> curiosity, I started looking at the code of the mpeg2, ac3 and mad
> decoders and wrote a base class for a decoder based on these. Of course,
> this is far from being anything else than some preliminary code, I have no
> experience whatsoever in writing decoder plugins, so I am sure that I am
> missing many things, but I think it could be a good start.
>
> I see for example that work on GstBaseParse has already started using a
> bug in bugzilla to track the implementation so I wonder if work on other
> base classes should be done in the same way.
>
> Also, since I'm quite new to writing gstreamer plugins and have no
> experience writing decoder plugins in particular, I can probably do little
> more than just refactoring common code from other decoders, (which is
> basically what I've done so far). However, looking at other base classes,
> it seems that they actually do more stuff than just refactoring common
> code from other plugins, and I guess the same should be done in any other
> base class. I hope I can get help with that from more experienced people,
> since that is something that goes beyond my current skills, and without
> that I guess a GstBaseDecode would not be all that useful.
>
> I am looking forward to get feedback from you to know how I should
> continue with this work or if you think I should invest my effort in some
> other task more appropriate for  my current skills.
>
> Iago
>
> ------------------------------------------------------------------------------
> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
> production scanning environment may not be a perfect world - but thanks to
> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
> Series Scanner you'll get full speed at 300 dpi even with all image
> processing features enabled. http://p.sf.net/sfu/kodak-com
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: GstBaseDecode class

Iago Toral Quiroga
Hi Christian,

sounds interesting, I'll look into your proposal in more detail today
and get back to you again tomorrow to discuss the details.

Iago

El lun, 11-05-2009 a las 16:53 +0100, Christian Fredrik Kalager Schaller
escribió:

> Hi Iago,
> Funny you should send out this email today, as I posted a blog today
> asking if anyone would be interested in writing AMR plugins by pulling
> the AMR library in Android out (details in blog):
> http://blogs.gnome.org/uraeus/2009/05/11/help-for-transmageddon
>
> This would probably be a good task for you as it would let you just work
> on writing the GStreamer plugins part of the code and it would add
> instantly useful functionality to GStreamer.
>
> Once you have written these plugins you probably also have a more
> experience and a better idea what would be useful to put into a
> baseclass and thus be better prepared to take on that task if still
> interested.
>
> Christian
>
>
> On Mon, 2009-05-11 at 17:07 +0200, [hidden email] wrote:
> > Hi all,
> >
> > I have been developing software on top of gstreamer for some time and now
> > I would like to get a bit more close to its internals. With that in mind I
> > started reading the plugin developer guide and implemented a few audio and
> > video transform plugins to play around with the main concepts.
> >
> > Lately I've been looking for something that would let me learn more and at
> > the same time be helpful to the project, and I found a page with some
> > tasks here:
> >
> > http://gstreamer.freedesktop.org/wiki/TaskList
> >
> > I think writing base classes would let me achieve both targets, on one
> > hand, one has to read an understand how other plugins of a certain type
> > work in order to create a base class for them, and on the other hand,
> > having base classes would be obviously useful.
> >
> > Even though I have no experience whatsoever writing source/sink/codec
> > plugins, I would like to propose myself to work on this. Actually, out of
> > curiosity, I started looking at the code of the mpeg2, ac3 and mad
> > decoders and wrote a base class for a decoder based on these. Of course,
> > this is far from being anything else than some preliminary code, I have no
> > experience whatsoever in writing decoder plugins, so I am sure that I am
> > missing many things, but I think it could be a good start.
> >
> > I see for example that work on GstBaseParse has already started using a
> > bug in bugzilla to track the implementation so I wonder if work on other
> > base classes should be done in the same way.
> >
> > Also, since I'm quite new to writing gstreamer plugins and have no
> > experience writing decoder plugins in particular, I can probably do little
> > more than just refactoring common code from other decoders, (which is
> > basically what I've done so far). However, looking at other base classes,
> > it seems that they actually do more stuff than just refactoring common
> > code from other plugins, and I guess the same should be done in any other
> > base class. I hope I can get help with that from more experienced people,
> > since that is something that goes beyond my current skills, and without
> > that I guess a GstBaseDecode would not be all that useful.
> >
> > I am looking forward to get feedback from you to know how I should
> > continue with this work or if you think I should invest my effort in some
> > other task more appropriate for  my current skills.
> >
> > Iago
> >
> > ------------------------------------------------------------------------------
> > The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
> > production scanning environment may not be a perfect world - but thanks to
> > Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
> > Series Scanner you'll get full speed at 300 dpi even with all image
> > processing features enabled. http://p.sf.net/sfu/kodak-com
> > _______________________________________________
> > gstreamer-devel mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>


------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: GstBaseDecode class

Stefan Sauer
In reply to this post by Iago Toral Quiroga
[hidden email] schrieb:

> Hi all,
>
> I have been developing software on top of gstreamer for some time and now
> I would like to get a bit more close to its internals. With that in mind I
> started reading the plugin developer guide and implemented a few audio and
> video transform plugins to play around with the main concepts.
>
> Lately I've been looking for something that would let me learn more and at
> the same time be helpful to the project, and I found a page with some
> tasks here:
>
> http://gstreamer.freedesktop.org/wiki/TaskList
>
> I think writing base classes would let me achieve both targets, on one
> hand, one has to read an understand how other plugins of a certain type
> work in order to create a base class for them, and on the other hand,
> having base classes would be obviously useful.
>
> Even though I have no experience whatsoever writing source/sink/codec
> plugins, I would like to propose myself to work on this. Actually, out of
> curiosity, I started looking at the code of the mpeg2, ac3 and mad
> decoders and wrote a base class for a decoder based on these. Of course,
> this is far from being anything else than some preliminary code, I have no
> experience whatsoever in writing decoder plugins, so I am sure that I am
> missing many things, but I think it could be a good start.
>  
Cool. Its a good project. Can you share your code. Have you actually
refactored the decoders on the baseclass already? I wonder how much
reusable code you found.

Stefan

> I see for example that work on GstBaseParse has already started using a
> bug in bugzilla to track the implementation so I wonder if work on other
> base classes should be done in the same way.
>
> Also, since I'm quite new to writing gstreamer plugins and have no
> experience writing decoder plugins in particular, I can probably do little
> more than just refactoring common code from other decoders, (which is
> basically what I've done so far). However, looking at other base classes,
> it seems that they actually do more stuff than just refactoring common
> code from other plugins, and I guess the same should be done in any other
> base class. I hope I can get help with that from more experienced people,
> since that is something that goes beyond my current skills, and without
> that I guess a GstBaseDecode would not be all that useful.
>
> I am looking forward to get feedback from you to know how I should
> continue with this work or if you think I should invest my effort in some
> other task more appropriate for  my current skills.
>
> Iago
>
> ------------------------------------------------------------------------------
> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
> production scanning environment may not be a perfect world - but thanks to
> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
> Series Scanner you'll get full speed at 300 dpi even with all image
> processing features enabled. http://p.sf.net/sfu/kodak-com
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>  


------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: GstBaseDecode class

Edward Hervey
Administrator
On Wed, 2009-05-13 at 19:10 +0300, Stefan Kost wrote:

> [hidden email] schrieb:
> > Hi all,
> >
> > I have been developing software on top of gstreamer for some time and now
> > I would like to get a bit more close to its internals. With that in mind I
> > started reading the plugin developer guide and implemented a few audio and
> > video transform plugins to play around with the main concepts.
> >
> > Lately I've been looking for something that would let me learn more and at
> > the same time be helpful to the project, and I found a page with some
> > tasks here:
> >
> > http://gstreamer.freedesktop.org/wiki/TaskList
> >
> > I think writing base classes would let me achieve both targets, on one
> > hand, one has to read an understand how other plugins of a certain type
> > work in order to create a base class for them, and on the other hand,
> > having base classes would be obviously useful.
> >
> > Even though I have no experience whatsoever writing source/sink/codec
> > plugins, I would like to propose myself to work on this. Actually, out of
> > curiosity, I started looking at the code of the mpeg2, ac3 and mad
> > decoders and wrote a base class for a decoder based on these. Of course,
> > this is far from being anything else than some preliminary code, I have no
> > experience whatsoever in writing decoder plugins, so I am sure that I am
> > missing many things, but I think it could be a good start.
> >  
> Cool. Its a good project. Can you share your code. Have you actually
> refactored the decoders on the baseclass already? I wonder how much
> reusable code you found.

  You might also want to have a look at what David's been doing in
schroedinger:

http://diracvideo.org/git?p=schroedinger.git;a=tree;f=gst-libs/gst/video;h=e62b635e73485658a817d5b88ddd2cbd245a7e7d;hb=HEAD

>
> Stefan
> > I see for example that work on GstBaseParse has already started using a
> > bug in bugzilla to track the implementation so I wonder if work on other
> > base classes should be done in the same way.
> >
> > Also, since I'm quite new to writing gstreamer plugins and have no
> > experience writing decoder plugins in particular, I can probably do little
> > more than just refactoring common code from other decoders, (which is
> > basically what I've done so far). However, looking at other base classes,
> > it seems that they actually do more stuff than just refactoring common
> > code from other plugins, and I guess the same should be done in any other
> > base class. I hope I can get help with that from more experienced people,
> > since that is something that goes beyond my current skills, and without
> > that I guess a GstBaseDecode would not be all that useful.
> >
> > I am looking forward to get feedback from you to know how I should
> > continue with this work or if you think I should invest my effort in some
> > other task more appropriate for  my current skills.
> >
> > Iago
> >
> > ------------------------------------------------------------------------------
> > The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
> > production scanning environment may not be a perfect world - but thanks to
> > Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
> > Series Scanner you'll get full speed at 300 dpi even with all image
> > processing features enabled. http://p.sf.net/sfu/kodak-com
> > _______________________________________________
> > gstreamer-devel mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> >  
>
>
> ------------------------------------------------------------------------------
> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
> production scanning environment may not be a perfect world - but thanks to
> Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
> Series Scanner you'll get full speed at 300 dpi even with all image
> processing features enabled. http://p.sf.net/sfu/kodak-com
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: GstBaseDecode class

Iago Toral Quiroga
In reply to this post by Stefan Sauer

El mié, 13-05-2009 a las 19:10 +0300, Stefan Kost escribió:

> [hidden email] schrieb:
> > Hi all,
> >
> > I have been developing software on top of gstreamer for some time and now
> > I would like to get a bit more close to its internals. With that in mind I
> > started reading the plugin developer guide and implemented a few audio and
> > video transform plugins to play around with the main concepts.
> >
> > Lately I've been looking for something that would let me learn more and at
> > the same time be helpful to the project, and I found a page with some
> > tasks here:
> >
> > http://gstreamer.freedesktop.org/wiki/TaskList
> >
> > I think writing base classes would let me achieve both targets, on one
> > hand, one has to read an understand how other plugins of a certain type
> > work in order to create a base class for them, and on the other hand,
> > having base classes would be obviously useful.
> >
> > Even though I have no experience whatsoever writing source/sink/codec
> > plugins, I would like to propose myself to work on this. Actually, out of
> > curiosity, I started looking at the code of the mpeg2, ac3 and mad
> > decoders and wrote a base class for a decoder based on these. Of course,
> > this is far from being anything else than some preliminary code, I have no
> > experience whatsoever in writing decoder plugins, so I am sure that I am
> > missing many things, but I think it could be a good start.
> >  
> Cool. Its a good project. Can you share your code. Have you actually
> refactored the decoders on the baseclass already? I wonder how much
> reusable code you found.

Yes, but it is something very basic yet. I will file a bug and upload
what I have there, maybe someone with more experience can take it from
that point if it is worth it.

One thing is that I was trying to refactor code in a generic decoder
class suitable for both audio and video decoders, while it is obvious
that you may be able to get some extra common behavior if you specialize
the class for audio or video decoders in particular. David's  work that
Edward pointed out seems to be more focused on a video decoder and that
helps with getting more code refactored although it seems that both
audio and video decoders also share some common structure.

Iago


------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: GstBaseDecode class

Iago Toral Quiroga

El jue, 14-05-2009 a las 07:57 +0200, Iago Toral Quiroga escribió:

> > > Even though I have no experience whatsoever writing source/sink/codec
> > > plugins, I would like to propose myself to work on this. Actually, out of
> > > curiosity, I started looking at the code of the mpeg2, ac3 and mad
> > > decoders and wrote a base class for a decoder based on these. Of course,
> > > this is far from being anything else than some preliminary code, I have no
> > > experience whatsoever in writing decoder plugins, so I am sure that I am
> > > missing many things, but I think it could be a good start.
> > >  
> > Cool. Its a good project. Can you share your code. Have you actually
> > refactored the decoders on the baseclass already? I wonder how much
> > reusable code you found.
>
> Yes, but it is something very basic yet. I will file a bug and upload
> what I have there, maybe someone with more experience can take it from
> that point if it is worth it.

http://bugzilla.gnome.org/show_bug.cgi?id=582569

Iago


------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel