gstreamer/sys/v4l
Sebastian Dröge 49deb0c05d Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory u...
Original commit message from CVS:
* configure.ac:
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_class_init):
* ext/alsa/gstalsasink.c: (gst_alsasink_class_init):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init):
* ext/cdparanoia/gstcdparanoiasrc.c:
(gst_cd_paranoia_src_class_init):
* ext/gio/gstgiosink.c: (gst_gio_sink_class_init):
* ext/gio/gstgiosrc.c: (gst_gio_src_class_init):
* ext/gio/gstgiostreamsink.c: (gst_gio_stream_sink_class_init):
* ext/gio/gstgiostreamsrc.c: (gst_gio_stream_src_class_init):
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_class_init):
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init):
* ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init):
* ext/pango/gsttextrender.c: (gst_text_render_class_init):
* ext/theora/theoradec.c: (gst_theora_dec_class_init):
* ext/theora/theoraenc.c: (gst_theora_enc_class_init):
* ext/theora/theoraparse.c: (gst_theora_parse_class_init):
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_class_init):
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
(gst_audio_filter_template_class_init):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init):
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_class_init):
* gst-libs/gst/interfaces/mixertrack.c:
(gst_mixer_track_class_init):
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_class_init):
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_class_init):
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_class_init):
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_class_init):
* gst/audioresample/gstaudioresample.c:
(gst_audioresample_class_init):
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audio_test_src_class_init):
* gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init):
* gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init):
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(preroll_unlinked):
* gst/playback/gstplaybin.c: (gst_play_bin_class_init):
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init):
* gst/playback/gstplaysink.c: (gst_play_sink_class_init):
* gst/playback/gstqueue2.c: (gst_queue_class_init):
* gst/playback/gststreaminfo.c: (gst_stream_info_class_init):
* gst/playback/gststreamselector.c: (gst_selector_pad_class_init),
(gst_stream_selector_class_init):
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init):
* gst/subparse/gstsubparse.c: (gst_sub_parse_class_init):
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
* gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_class_init):
* gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_class_init):
* gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_class_init):
* gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_class_init):
* gst/videorate/gstvideorate.c: (gst_video_rate_class_init):
* gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init):
* gst/videotestsrc/gstvideotestsrc.c:
(gst_video_test_src_class_init):
* gst/volume/gstvolume.c: (gst_volume_class_init):
* sys/v4l/gstv4lelement.c: (gst_v4lelement_class_init):
* sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_class_init):
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init):
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init):
* sys/ximage/ximagesink.c: (gst_ximagesink_class_init):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init):
Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use
static strings (i.e. all). This gives us less memory usage,
fewer allocations and thus less memory defragmentation. Depend
on core CVS for this. Fixes bug #523806.
2008-03-22 15:00:53 +00:00
..
.gitignore add cvsignores 2003-09-11 19:17:01 +00:00
gstv4l.c restructure configure.ac, use correct libtool LDFLAGS, fix up defines 2005-10-16 13:54:44 +00:00
gstv4lcolorbalance.c Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent) 2006-04-08 21:02:53 +00:00
gstv4lcolorbalance.h expand tabs 2005-12-06 19:42:02 +00:00
gstv4lelement.c Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory u... 2008-03-22 15:00:53 +00:00
gstv4lelement.h Fix broken GObject macros 2006-04-08 18:09:17 +00:00
gstv4ljpegsrc.c Use GST_DEBUG_CATEGORY_STATIC where possible (#342503). 2006-06-23 09:53:09 +00:00
gstv4ljpegsrc.h Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass 2006-06-01 19:19:51 +00:00
gstv4lmjpegsink.c Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory u... 2008-03-22 15:00:53 +00:00
gstv4lmjpegsink.h Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass 2006-06-01 19:19:51 +00:00
gstv4lmjpegsrc.c Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory u... 2008-03-22 15:00:53 +00:00
gstv4lmjpegsrc.h Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass 2006-06-01 19:19:51 +00:00
gstv4lsrc.c Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory u... 2008-03-22 15:00:53 +00:00
gstv4lsrc.h Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass 2006-06-01 19:19:51 +00:00
gstv4ltuner.c Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent) 2006-04-08 21:02:53 +00:00
gstv4ltuner.h expand tabs 2005-12-06 19:42:02 +00:00
gstv4lxoverlay.c whoops 2005-08-24 11:13:54 +00:00
gstv4lxoverlay.h expand tabs 2005-12-06 19:42:02 +00:00
Makefile.am ext/ogg/Makefile.am: Dist gstoggdemux.h to fix 'make distcheck'. 2007-01-09 13:35:08 +00:00
README - update links to v4l[12] API docs 2004-05-31 20:36:07 +00:00
TODO Remove all references to xvideosink, fix examples (#140845). 2005-01-09 14:53:59 +00:00
v4l_calls.c Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static... 2008-03-03 06:04:31 +00:00
v4l_calls.h expand tabs 2005-12-06 19:42:02 +00:00
v4lmjpegsink_calls.c paranoia cleanups and a sync fix 2004-06-15 09:11:06 +00:00
v4lmjpegsink_calls.h paranoia cleanups and a sync fix 2004-06-15 09:11:06 +00:00
v4lmjpegsrc_calls.c ext/ogg/gstoggmux.c: Basic pad template which accepts OGM tracks, speex, flac, vorbis and theora. Any is incorrect. 2004-10-24 13:41:18 +00:00
v4lmjpegsrc_calls.h paranoia cleanups and a sync fix 2004-06-15 09:11:06 +00:00
v4lsrc_calls.c Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static... 2008-03-03 06:04:31 +00:00
v4lsrc_calls.h Just make it compile with --disable-gst-debug. 2006-02-03 17:45:44 +00:00
videodev_mjpeg.h expand tabs 2005-12-06 19:42:02 +00:00

General Idea:
=============

                            _____/ gstv4lsrc.[ch]
                      _____/     \ v4lsrc_calls.[ch]
                     /
gstv4lelement.[ch] _/____________/ gstv4lmjpegsrc.[ch]
v4l_calls.[ch]      \            \ v4lmjpegsrc_calls.[ch]
                     \_____
                           \_____/ gstv4lmjpegsink.[ch]
                                 \ v4lmjpegsink_calls.[ch]

I.e., all the files on the right are child classes of
the v4lelement 'parent' on the left.

* v4lelement handles generic v4l stuff (picture settings,
    audio, norm/input setting, open()/close())
* v4lsrc, v4lmjpegsrc handle the capture specific
    functions. Maybe we'd need a v4lmpegsrc too
* v4lmjpegsink handles mjpeg hardware playback of video

Useful Documentation:
=====================
MJPEG/V4L API : ./videodev_mjpeg.h

V4L API       : /usr/include/linux/videodev.h or
                /usr/src/linux/Documentation/video4linux/API.html or
                http://linux.bytesex.org/v4l2/API.html

V4L2 API      : /usr/include/linux/videodev2.h or
                http://v4l2spec.bytesex.org/

BSD/Meteor API: /usr/include/machine/ioctl_meteor.h

mjpegtools    : http://www.sourceforge.net/projects/mjpeg