mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
GStreamer multimedia framework
39a338d51c
Original commit message from CVS: 2004-01-01 Ronald Bultje <rbultje@ronald.bitfreak.net> * configure.ac: Fix configure check for mpeg2enc. We need 1.6.1.93 instead of 1.6.1.92, since the pkg-config file of 1.6.1.92 is borked and it therefore uses the wrong include paths. Too bad... Note that 1.6.1.93 is not release yet. ;). Also add a check for mplex, which is now using the lib'ified mplex from mjpegtools, too. * ext/ffmpeg/gstffmpegcodecmap.c: Add codec_tag for 3ivx/xvid. For xvid, this should fix playback issues. I don't think ffmpeg handles 3ivx correctly, so this probably won't work. But it won't hurt either. * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_connect), (gst_ffmpegdec_chain): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect), (gst_ffmpegenc_chain_audio): Fix memleak in audio encoding. Close codec if open fails, this calls the cleanup routines so we can re-use the context. * ext/mpeg2enc/gstmpeg2enc.cc: Fix pad template names/types, fix memory issue with getcaps(). * ext/mpeg2enc/gstmpeg2encoder.cc: * ext/mpeg2enc/gstmpeg2encoder.hh: Fix compile issue with new caps system (const thingy). * ext/mpeg2enc/gstmpeg2encpicturereader.cc: * ext/mpeg2enc/gstmpeg2encpicturereader.hh: We read a first frame right on initing, so that we have a caps when we init the output. This caps is cached in padprivate and read as first frame. * ext/mplex/Makefile.am: * ext/mplex/gstmplex.cc: * ext/mplex/gstmplex.h: * ext/mplex/gstmplex.hh: * ext/mplex/gstmplexibitstream.cc: * ext/mplex/gstmplexibitstream.hh: * ext/mplex/gstmplexjob.cc: * ext/mplex/gstmplexjob.hh: * ext/mplex/gstmplexoutputstream.cc: * ext/mplex/gstmplexoutputstream.hh: We wrap mjpegtools mplex. So I rewrote the plugin. The old plugin had issues, didn't do capsnego, supported only a subset of the mplex features and required a mplex fork in our local CVS. Plus that it worked agaist a very old mplex version. Rewriting was faster than updating it. * gst-libs/ext/Makefile.am: * gst-libs/ext/mplex/INSTRUCT: * gst-libs/ext/mplex/Makefile.am: * gst-libs/ext/mplex/README: * gst-libs/ext/mplex/TODO: * gst-libs/ext/mplex/ac3strm_in.cc: * gst-libs/ext/mplex/audiostrm.hh: * gst-libs/ext/mplex/audiostrm_out.cc: * gst-libs/ext/mplex/aunit.hh: * gst-libs/ext/mplex/bits.cc: * gst-libs/ext/mplex/bits.hh: * gst-libs/ext/mplex/buffer.cc: * gst-libs/ext/mplex/buffer.hh: * gst-libs/ext/mplex/fastintfns.h: * gst-libs/ext/mplex/format_codes.h: * gst-libs/ext/mplex/inputstrm.cc: * gst-libs/ext/mplex/inputstrm.hh: * gst-libs/ext/mplex/lpcmstrm_in.cc: * gst-libs/ext/mplex/mjpeg_logging.cc: * gst-libs/ext/mplex/mjpeg_logging.h: * gst-libs/ext/mplex/mjpeg_types.h: * gst-libs/ext/mplex/mpastrm_in.cc: * gst-libs/ext/mplex/mpegconsts.cc: * gst-libs/ext/mplex/mpegconsts.h: * gst-libs/ext/mplex/mplexconsts.hh: * gst-libs/ext/mplex/multplex.cc: * gst-libs/ext/mplex/outputstream.hh: * gst-libs/ext/mplex/padstrm.cc: * gst-libs/ext/mplex/padstrm.hh: * gst-libs/ext/mplex/stillsstream.cc: * gst-libs/ext/mplex/stillsstream.hh: * gst-libs/ext/mplex/systems.cc: * gst-libs/ext/mplex/systems.hh: * gst-libs/ext/mplex/vector.cc: * gst-libs/ext/mplex/vector.hh: * gst-libs/ext/mplex/videostrm.hh: * gst-libs/ext/mplex/videostrm_in.cc: * gst-libs/ext/mplex/videostrm_out.cc: * gst-libs/ext/mplex/yuv4mpeg.cc: * gst-libs/ext/mplex/yuv4mpeg.h: * gst-libs/ext/mplex/yuv4mpeg_intern.h: * gst-libs/ext/mplex/yuv4mpeg_ratio.cc: We don't fork mjpegtools' mplex in our CVS anymore. * gst/avi/gstavidemux.c: (gst_avi_demux_src_getcaps), (gst_avi_demux_add_stream): * gst/avi/gstavidemux.h: Add getcaps() function for proper caps nego. This makes some parts of AVI playback/reading work. * sys/ximage/ximagesink.c: (gst_ximagesink_sinkconnect): Resize window on new capsnego. This is probably wrong, but I'm still committing it because with current capsnego, the first successfull capsnego is auto-fixated, therefore rounded down to the lowest values in the caps. this results in a 16x16 XWindow that is not reized when real capsnego finishes. Dave, I see more cases of this, do you know a proper solution? * tools/gst-launch-ext.in: Fix MPEG-4 AAC (Apple iPod/iTunes) file commandline. |
||
---|---|---|
common@cd5507ae3d | ||
examples | ||
ext | ||
gconf | ||
gst | ||
m4 | ||
sys | ||
tests | ||
tools | ||
.gitignore | ||
.gitmodules | ||
AUTHORS | ||
autogen.sh | ||
ChangeLog | ||
configure.ac | ||
gst-plugins.spec.in | ||
INSTALL | ||
LICENSE_readme | ||
Makefile.am | ||
NEWS | ||
README | ||
REQUIREMENTS | ||
TODO |
WHAT IT IS ---------- This is gst-plugins, a set of plug-ins for GStreamer. COMPILING FROM SOURCE --------------------- - make sure you compiled and at least did a test-run of GStreamer (core) - check output of ./configure --help to see if any options apply to you - configure the source tree: - if you installed GStreamer, then do: ./configure If configure complains about missing GStreamer, you should try ./configure --with-pkg-config-path=prefix/lib/pkgconfig where prefix should be replaced by the prefix you used to configure GStreamer. (Be mindful NOT to ADD a trailing / to that option !) If this doesn't fix it, you have other issues ;) - if you didn't install GStreamer, you can still compile the plug-ins. Add the path to gstreamer-uninstalled.pc (which lives in the gstreamer source tree) to PKG_CONFIG_PATH or run configure --with-pkg-config-path=(path to gstreamer uninstalled) - the output of configure will give you a list of plug-ins with external dependencies (ie, depending on other libs, see below). By no means should you try to get them all built on your first run. This is hard enough as it is ;) Resist the urge to get the most features for now. It doesn't list all of the non-depending plug-ins, which get built regardless (unless you explicitly asked it not to). - build the tree: make If any plug-in causes a problem at this stage, you should re-configure with --disable-(dependency) and doublecheck if configure reports this plug-in as being disabled. Then re-run make. - install: - if you installed GStreamer, and want to install the plug-ins as well, run make install and, as root, run gst-register - if you installed GStreamer, but don't want to install the plug-ins, run gst-register --gst-plugin-path=. - if you didn't install GStreamer, then do path/to/gstreamer/tools/gst-register --gst-plugin-path=. (Replace path/to/gstreamer obviously) - test: - run gst-launch sinesrc ! fakesink and prefix gst-launch with the path to gstreamer/tools if you didn't install GStreamer. If this doesn't give any errors, you can abort it. - try replacing fakesink with your choice of osssink/esdsink/artsdsink/alsasink/jacksink (depending on what output method you have available) and see if you hear a C tone. - After this, you should look into installing an application, like gst-player, gst-editor or monkey-media with rhythmbox. COMPILING FROM CVS ------------------ When building from CVS sources, you will need to run autogen.sh to generate the build system files. GStreamer is cutting-edge stuff. To be a CVS developer, you need what used to be considered cutting-edge tools. ATM, most of us have at least these versions : * autoconf 2.52 (NOT 2.52d) * automake 1.5 * libtool 1.4 (NOT Gentoo's genetic failure 1.4.2) * pkg-config 0.8.0 autogen.sh will check for these versions and complain if you don't have them. You can also specify specific versions of automake and autoconf with --with-automake and --with-autoconf Check autogen.sh options by running autogen.sh --help autogen.sh can pass on arguments to configure - you just need to separate them from autogen.sh with -- between the two. prefix has been added to autogen.sh but will be passed on to configure because some build scripts like that. You will probably have to pass at least --with-pkg-config-path to autogen.sh to point to the CVS version of GStreamer. When you have done this once, you can use autoregen.sh to re-autogen with the last passed options as a handy shortcut. Use it. After the autogen.sh stage, you can follow the directions listed in "COMPILING FROM SOURCE" PLUG-IN DEPENDENCIES AND LICENSES --------------------------------- GStreamer is developed under the terms of the LGPL (see LICENSE file for details). Some of our plug-ins however rely on libraries which are available under other licenses. This means that if you are using an application which has a non-GPL compatible license (for instance a closed-source application) with GStreamer, you have to make sure not to use GPL-linked plug-ins. When using GPL-linked plug-ins, GStreamer is for all practical reasons under the GPL itself. The plug-ins which use a GPL library are as follows: cdparanoia libcdparanoia (http://www.xiph.org/paranoia/) aasink aalib (http://aa-project.sourceforge.net/aalib/) xmms libxmms (http://www.xmms.org) decdvd ac3dec,mpeg2dec (http://linuxvideo.org/mpeg2dec/,http://linuxvideo.org/ac3dec/)a mad mad (http://www.mars.org/home/rob/proj/mpeg/) Plug-ins which use an LGPL library are as follows: colorspace Hermes (http://www.clanlib.org/hermes/) httpsrc libghttp (ftp.gnome.org/pub/GNOME/stable/sources/libghttp/) alsasink alsa (http://alsa-project.org) arts aRts (http://arts-project.org) sdlsink libsdl (http://www.libsdl.org) gnomevfssource gnome-vfs (ftp.gnome.org//pub/GNOME/stable/sources/gnome-vfs) gnomevfssink gnome-vfs esdsink libesd (ftp.gnome.org/pub/GNOME/stable/sources/esound) icastsend libshout (http://www.icecast.org) lame libmp3lame (http://www.mp3dev.org/mp3/) gst1394 libraw1394 (http://linux1394.sourceforge.net) flac libFLAC (http://flac.sourceforge.net) RTP ortp (http://www.linphone.org/ortp/) Plug-ins which use a BSD covered library are as follows: vorbisenc libogg/libvorbis (http://www.xiph.org/ogg/vorbis) vorbisdec libogg/libvorbis Plug-ins based on libraries with other free licenses: xvideosink libXv (MIT X11 / X Consortium license) gsm libgsm (MIT license http://kbs.cs.tu-berlin.de/~jutta/toast.html) Plug-ins using non-free libraries: wincodec win32ddl (http://divx.euro.ru/)