Original commit message from CVS:
2004-01-30 Benjamin Otte <in7y118@public.uni-hamburg.de>
* configure.ac:
use AC_C_INLINE
* configure.ac:
* ext/Makefile.am:
* ext/theora/Makefile.am:
* ext/theora/theoradec.c:
add theora video decoder. Does just do simple decoding for now and
has been tested against Theora cvs only.
* ext/vorbis/vorbisdec.c: (vorbis_dec_event):
always reset packetno on DISCONT
Original commit message from CVS:
2004-01-25 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/divx/gstdivxdec.c: (gst_divxdec_init),
(gst_divxdec_negotiate):
Fix for new capsnego - also fixes gst-player with divxdec.
Original commit message from CVS:
2004-01-20 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/mplex/gstmplex.cc:
* ext/mplex/gstmplexibitstream.cc:
g++ doesn't like NULL in our i18n/error macros, should be
either (NULL) or ("").
Original commit message from CVS:
2004-01-20 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/mpeg2enc/gstmpeg2encpicturereader.cc:
fix thomas' error errors.
Original commit message from CVS:
2004-01-20 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/divx/gstdivxdec.c: (gst_divxdec_setup), (gst_divxdec_chain):
* ext/divx/gstdivxenc.c: (gst_divxenc_setup), (gst_divxenc_chain):
Fix for new error system.
Original commit message from CVS:
2004-01-16 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/mpeg2enc/Makefile.am:
* ext/mpeg2enc/gstmpeg2enc.cc:
* ext/mpeg2enc/gstmpeg2encpicturereader.cc:
Bugfix with respect to EOS handling.
Original commit message from CVS:
2004-01-16 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect):
Link with right caps (else, it segfaults).
* ext/mplex/gstmplexjob.cc:
Fix for slight API change in 1.6.1.93 release of mjpegtools.
Original commit message from CVS:
2004-01-15 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/snapshot/Makefile.am:
* ext/snapshot/gstsnapshot.c: (gst_snapshot_sinkconnect),
(gst_snapshot_chain):
* ext/snapshot/gstsnapshot.h:
This has to be a joke... Snapshot should be connected to a tee,
colorspace element before it and EOS after that, where the other
src of the tee receives normal data.
The current way is *wrong*.
Original commit message from CVS:
2004-01-15 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/hermes/gsthermescolorspace.c:
Fix another compile error. Same as below.
Original commit message from CVS:
* configure.ac:
* gst/colorspace/Makefile.am:
* gst/colorspace/gstcolorspace.c:
* gst/colorspace/gstcolorspace.h:
* gst/colorspace/yuv2rgb.c:
* gst/colorspace/yuv2rgb.h:
Duplicate the ext/hermes colorspace plugin, and remove Hermes
code and GPL code. Fix for new caps negotiation. Rewrite
much of the format handling code, and some of the conversion
code. Basically, rewrote almost everything. This element
handles I420, YV12 to RGB conversions.
* ext/hermes/Makefile.am:
* ext/hermes/gsthermescolorspace.c:
Rename colorspace to hermescolorspace. Fix negotiation issues.
Remove non-Hermes related code. This element handles lots of
RGB to RGB conversions, but no YUV.
* ext/hermes/gstcolorspace.c:
* ext/hermes/gstcolorspace.h:
* ext/hermes/rgb2yuv.c:
* ext/hermes/yuv2rgb.c:
* ext/hermes/yuv2rgb.h:
* ext/hermes/yuv2rgb_mmx16.s:
* ext/hermes/yuv2yuv.c:
* ext/hermes/yuv2yuv.h:
Remove old code.
Original commit message from CVS:
2004-01-14 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/divx/gstdivxdec.c:
* ext/divx/gstdivxenc.c:
Set category to divx4linux instead of divx (too generic).
* gst/wavparse/gstwavparse.c: (gst_wavparse_init),
(gst_wavparse_parse_fmt), (gst_wavparse_handle_sink_event),
(gst_wavparse_loop), (gst_wavparse_change_state):
* gst/wavparse/gstwavparse.h:
fix parsing of WAV files with non-standard fmt-tag size and fix
skipping of unrecognized chunks... Someone please fix this thing
to use rifflib so all this is automated.
* sys/v4l/Makefile.am:
* sys/v4l2/Makefile.am:
Add X_CFLAGS because we depend on X (for overlay).
Original commit message from CVS:
Remove all usage of gst_pad_get_caps(), and replace it with
gst_pad_get_allowed_caps() or gst_pad_get_negotiated_cap().
Original commit message from CVS:
* configure.ac:
* ext/Makefile.am: Fixes to make ext/libcaca compile.
* ext/divx/gstdivxdec.c:
* ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_sink_link),
(gst_gdk_pixbuf_init), (gst_gdk_pixbuf_chain): Make gdkpixbufdec
handle images that span multiple buffers. Now work with both
filesrc ! gdkpixbufdec and qtdemux ! gdkpixbufdec.
* ext/gdk_pixbuf/gstgdkpixbuf.h:
* ext/libcaca/gstcacasink.h: Fixes needed due to recent
video/video.h changes
* ext/xvid/gstxvid.c: (gst_xvid_csp_to_caps): same
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_get),
(gst_v4lmjpegsrc_buffer_free): Use buffer free function instead
of GstData free function.
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get), (gst_v4lsrc_buffer_free):
same.
Original commit message from CVS:
2004-01-11 Julien MOUTTE <julien@moutte.net>
* ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_chain): Fixing the
pad_alloc_buffer implementation to use ->srcpad
* ext/hermes/gstcolorspace.c: (gst_colorspace_chain): Fixing the
pad_alloc_buffer implementation to use ->srcpad
* gst/videoscale/gstvideoscale.c: (gst_videoscale_chain): Fixing the
pad_alloc_buffer implementation to use ->srcpad
* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new),
(gst_ximagesink_chain), (gst_ximagesink_buffer_free),
(gst_ximagesink_buffer_alloc): Now only use GST_BUFFER_PRIVATE to keep
a reference to everything we need.
* sys/ximage/ximagesink.h: adding a reference to the sink in the image.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new),
(gst_xvimagesink_chain), (gst_xvimagesink_buffer_free),
(gst_xvimagesink_buffer_alloc): Now only use GST_BUFFER_PRIVATE to keep
a reference to everything we need.
* sys/xvimage/xvimagesink.h: adding a reference to the sink in the image
Original commit message from CVS:
* ext/divx/gstdivxenc.c: remove bogus gst_caps_is_fixed() test
* gst/debug/efence.c: (gst_efence_chain), (gst_fenced_buffer_new),
(gst_fenced_buffer_default_copy): Fix for rename of buffer private
structure members.
* gst/effectv/gstwarp.c: (gst_warptv_setup): Don't reset the time
value during a resize/renegotiation.
* gst/videofilter/gstvideofilter.c: (gst_videofilter_chain): use
gst_pad_alloc_buffer();
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_get),
(gst_v4lmjpegsrc_buffer_free): Fix for rename of buffer private
structure members.
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get), (gst_v4lsrc_buffer_free):
Fix for rename of buffer private structure members.
* sys/ximage/ximagesink.c: (gst_ximagesink_chain),
(gst_ximagesink_buffer_free), (gst_ximagesink_buffer_alloc):
Fix for rename of buffer private structure members.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain),
(gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc):
Fix for rename of buffer private structure members.
Original commit message from CVS:
* ext/hermes/gstcolorspace.c: (gst_colorspace_chain):
Implementing gst_pad_alloc_buffer to use optimized buffer allocation.
Original commit message from CVS:
2004-01-09 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/divx/gstdivxenc.c: (gst_divxenc_init):
Use explicit caps - fix capsnego.
* ext/xvid/gstxviddec.c:
* ext/xvid/gstxvidenc.c:
Remove macro-inside-macro which caused compile errors.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_header):
Error out if it's not a RIFF file. Else we error out without
gst_element_error() which is not good...
Original commit message from CVS:
2004-01-07 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/audiofile/gstafsink.c: (gst_afsink_init), (gst_afsink_chain),
(gst_afsink_handle_event):
* ext/jpeg/gstjpegenc.c: (gst_jpegenc_init):
* gst/avi/gstavimux.c: (gst_avimux_request_new_pad):
* sys/dxr3/dxr3audiosink.c: (dxr3audiosink_init):
* sys/dxr3/dxr3spusink.c: (dxr3spusink_init):
* sys/dxr3/dxr3videosink.c: (dxr3videosink_init):
Fix for instantiate-test (see core). Also remove dead code from
jpegenc (which still needs fixing, but that's lower on my TODO
list...).
* sys/v4l2/gstv4l2src.c: (gst_v4l2src_getcaps):
Never return NULL as caps.
Original commit message from CVS:
2004-01-04 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/xvid/gstxviddec.c: (gst_xviddec_init),
(gst_xviddec_src_getcaps), (gst_xviddec_src_link),
(gst_xviddec_sink_link):
Implement src_getcaps() so proper size caps is negotiated.
Original commit message from CVS:
2004-01-02 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/mpeg2enc/gstmpeg2enc.cc:
fix const/nonconst compile issue.
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.
Original commit message from CVS:
2003-12-22 Benjamin Otte <in7y118@public.uni-hamburg.de>
* ext/faad/gstfaad.c: (gst_faad_base_init), (gst_faad_init),
(gst_faad_sinkconnect), (gst_faad_srcgetcaps),
(gst_faad_srcconnect):
Port to new caps system.
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.
Original commit message from CVS:
Sorry Dave... Add mpegversion=1 to mp3 caps everywhere so that the autoplugger uses mad and not faad for mp3 decoding. This should fix mp3 playback.
Original commit message from CVS:
This is a first attempt at a wrapper for the lib'ified mpeg2enc of
mjpegtools. Currently, there's a few release candidates for mjpegtools-1.6.2
available, but no stable version yet.
I've made 4 small subclasses to wrap input, output, options and generic
encoding model. The last .cc file is the GStreamer plugin element.
Note that it doesn't actually work yet, I'm doing something wrong with
header parsing and Andrew asked me to commit so he could help debugging
that. Apart from that, we should soon be able to make top-quality MPEG
encodes! :).
mpeg2enc licensing is tricky, btw, I don't even want to start discussing
that...
Original commit message from CVS:
tagging stuff and build fixes. In detail:
- make gdk-pixbuf loader work when distchecking
- fix invalid syntax in ffmpeg Makefile. wildcards for EXTRA_DIST are not allowed. This broke builds where distdir != srcdir
- fix ffmpeg cvs grabbing when srcdir != distdir
- new id3tag plugin for id3 tag reading/writing (uses mad's libid3tag)
- mad and libid3tag require mad/libid3tag v0.15. Fixed configure to require that
- added ogg demuxer in ext/ogg. The demuxer does not handle events yet. Especially getting seeking right will require some effort or code copying from libvorbis.
- added raw vorbis detection to typefinding. oggdemux requires a typefind function to detect its contents.
- tags plugin in gst/tags. Provides API in <gst/tags/gsttagediting.h>. API includes tag matching GStreamer <=> ID3 and GStreamer <=> vorbis and writing/reading vorbiscomments or ID3v1 tags. Also included is a simple vorbiscomment reader/writer. Writing will not really work though until someone writes oggmux.
- various build fixes. Mostly missing (DIST)CLEANFILES.
- vorbisenc handles tag writing.
Now it's YOUR turn to fix and write more plugins that handle writing/reading of tags. :)
Original commit message from CVS:
make colorspace handle the original RGB format, too, since it handles both. Add the template caps for the reverse format to video.h
Original commit message from CVS:
Remove all config.h includes from header files, add it to each source file and remove duplicate config.h includes from several source files
Original commit message from CVS:
remove audiofile typefinding because it is buggy and we support all of its formats anyway.
If you need it back, please fix it before you put it back in :)
Original commit message from CVS:
Fix this too. Note that the per-plugin licensing is gone because of company's new per-plugin (rather than per-element) API. We basically need both... Ohwell, I just want this stuff to compile.
Original commit message from CVS:
merge TYPEFIND branch. Major changes:
- totally reworked type(find) system
- all typefind functions are in gst/typefind now
- more typefind functions then before
- some plugins might fail to compile now because I don't have them installed and they
a) require bytestream or
b) haven't had their typefind fixed.
Please fix those plugins and put the typefind functions into gst/typefind if they don't have dependencies
Original commit message from CVS:
New typefind system:
* bytestream is now part of the core
* all plugins have been modified to use this new typefind system
* asf typefinding added
* mpeg video stream typefiding removed because it's broken
* duplicate typefind entries removed
* extra id3 typefinding added, because we've seen 4 types of files
(riff/wav, flac, vorbis, mp3) with id3 headers and each of these needs
to work. Instead, I've added an id3 element and let it redo typefiding
after the id3 header. this needs a hack because spider only typefinds
once. We can remove this hack once spider supports multiple typefinds.
* with all this, mp3 typefinding is semi-rewritten
* id3 typefinding in flac/vorbis is removed, it's no longer needed
* fixed spider and gst-typefind to use this, too.
* Other general cleanups
Original commit message from CVS:
Adding needed license information. The patch was reviewed and approved by
Christian Shaller. Ronald Bultje and Benjamin also responded with
comments.
Original commit message from CVS:
Take a hint from dschleef and grab the bufferpool at the last possible
moment instead of in gst_colorspace_srcconnect_func. I don't know
if this is the "correct" fix, but I'm going to commit anyway because
colorspace doesn't work _at_ _all_ without this change.
Original commit message from CVS:
Fix to loop through a list of caps when calling try_set_caps(). Added
a workaround for some strangeness in gst_props_normalize(), I think.
It doesn't seem to like GST_VIDEO_PAD_TEMPLATE_PROPS_15_16.