mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-09 05:38:58 +00:00
Original commit message from CVS: 2003-12-21 Ronald Bultje <rbultje@ronald.bitfreak.net> * configure.ac: Improve mpeg2enc detection. This is for distributions that do ship mjpegtools, but without mpeg2enc. Also does object check for might there ever be ABI incompatibility. * ext/mpeg2enc/gstmpeg2enc.cc: Add Andrew as second maintainer (he's helping me), and also add an error if no caps was set. This happens if I pull before capsnego and that's something I should solve sometime else. * gst/matroska/matroska-demux.c: (gst_matroska_demux_parse_blockgroup): Fix time parsing. * gst/matroska/matroska-mux.c: (gst_matroska_mux_audio_pad_link), (gst_matroska_mux_track_header): Add caps to templates. * gst/mpegaudioparse/gstmpegaudioparse.c: (mp3_sink_factory): Add mpegversion=1 to prevent confusion with MPEG/AAC. * gst/mpegstream/gstmpegdemux.c: Remove layer since it causes warnings about unfixed caps. * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get): Fix obvious typo (we error out if caps were set, we should of course error out if *no* caps were set). * sys/oss/gstosselement.c: (gst_osselement_convert): Fix format conversion, we confused bits/bytes. * sys/oss/gstosselement.h: Improve documentation for 'bps'. * sys/v4l/TODO: Remove stuff about plugins that need removing - this was done ages ago. * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_init), (gst_v4lmjpegsrc_src_convert), (gst_v4lmjpegsrc_src_query): * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_init), (gst_v4lsrc_src_convert), (gst_v4lsrc_src_query): * sys/v4l2/gstv4l2src.c: (gst_v4l2src_init), (gst_v4l2src_src_convert), (gst_v4l2src_src_query): Add get_query_types(), get_formats() and query() functions.
44 lines
1.7 KiB
Text
44 lines
1.7 KiB
Text
TODO list (short term):
|
|
=======================
|
|
* v4lsrc/v4lmjpegsrc/v4l2src: fix interlacing (not handled at all...)
|
|
* fix v4l*src ! spider ! colorspace ! xvideosink
|
|
- first sets to PLAYING, then (re-)triggers capsnego - that breaks
|
|
|
|
TODO list (long term):
|
|
======================
|
|
* v4lmpegsrc (*hint* MPEG card needed *hint*)
|
|
* v4l2sink
|
|
* BSD-videosrc (bktr)
|
|
* color correction (brightness, hue, etc.)
|
|
* gamma correction
|
|
|
|
Useful Documentation:
|
|
=====================
|
|
MJPEG/V4L API : ./videodev_mjpeg.h
|
|
Linux/V4L API : /usr/include/linux/videodev.h or
|
|
http://roadrunner.swansea.uk.linux.org/v4l.shtml
|
|
Linux/V4L2 API: /usr/include/linux/videodev2.h or
|
|
http://www.thedirks.org/v4l2/
|
|
(kernel patches: http://bytesex.org/patches/)
|
|
BSD/Meteor API: /usr/include/machine/ioctl_meteor.h
|
|
mjpegtools : http://www.sourceforge.net/projects/mjpeg
|
|
|
|
Capturing:
|
|
==========
|
|
* sound is the master clock
|
|
* it's probably a good idea to create an audiosource element:
|
|
- autodetect alsa/oss
|
|
- first try alsa, then oss... they work the same internally
|
|
* same for videosource:
|
|
- autodetect v4l/v4l2 + mjpeg capabilities
|
|
- for this, just open device using v4l2element. On success:
|
|
+ use v4l2
|
|
- on failure:
|
|
+ use v4lelement and query for MJPEG capabilities
|
|
+ if that's available, combine caps of v4lmjpegsrc and v4lsrc
|
|
* both sources run in their own GstThread with a high priority
|
|
* an encoder element takes care of encoding + muxing. A toplevel element
|
|
(reverse of spider) is probably a good idea here. How? Don't know...
|
|
* format negotiation via filtered caps
|
|
* statistics via listening to the frame_{lost,inserted,deleted,captures}
|
|
signals and GST_PAD_QUERY_POSITION (gst_pad_query())
|