Re: Squeezing a gstreamer video pipeline into the smallest footprint possible

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


On Di, 2014-04-08 at 19:03 -0400, Patrick Doyle wrote:
> I have a ridiculously pinhole sized memory footprint into which I
> would like to squeeze a gstreamer based video pipeline.  I am looking
> for tips on what I can do to minimize the footprint as much as
> possible for my Yocto based system.
> 
> Looking at the rootfs, I see that libgstaudio is included.  Can
> anybody give me any tips on how I might exclude that from my system?
> At worst, I suppose I could write a post install task that simply
> removes it from the rootfs, but that feels unduly hackish to me.
> 
> Also, I tried adding a .bbappend file with --disable-theora,
> --disable-vorbis, etc... added, but when I looked at the resulting
> config.status file, I found my --disable-theora & --disable-vorbis
> options in ac_cs_config, followed by --enable-theora and
> --enable-vorbis.
> 
> Adding insult to injury, the resulting compressed rootfs was 100 bytes
> longer than before :-)  (The part of me that enjoys ironic humor,
> laughed heartily at that. The part of me that is just trying to
> squeeze this image into my 6MB partition wept.)
> 
> Is there a way to configure gstreamer with just the set of 3 or 4
> plugins I really need?  Can I compile static libraries and link them
> into into my own static application?

Yes, you most likely want to use static linking in your case. See the
--enable-static-plugins configure options for the plugin modules.

Your application then will have to explicitly link to all plugins it
wants to use, and initialise them after calling gst_init(). See the
GST_PLUGIN_STATIC_DECLARE() and GST_PLUGIN_STATIC_REGISTER() macros for
that.

Also you probably want to compile GStreamer and other software with
-ffunction-sections and -fdata-sections and link everything together
with --gc-sections. For GStreamer you can also disable some unwanted
parts via --disable-X (see ./configure --help, there's e.g.
--disable-parse).


libgstaudio will be needed for the audio encoder and decoders btw.

-- 
Sebastian Dröge, Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
gstreamer-embedded mailing list
gstreamer-embedded@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/gstreamer-embedded

[Index of Archives]     [Linux Embedded]     [Linux ARM Kernel]     [Linux for ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux Media]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux