Original commit message from CVS:
2004-01-25 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_info):
Additional pad usability check.
* gst/mpeg1videoparse/gstmp1videoparse.c: (gst_mp1videoparse_init),
(mp1videoparse_find_next_gop), (gst_mp1videoparse_time_code),
(gst_mp1videoparse_real_chain):
Fix MPEG video stream parsing. The original plugin had several
issues, including not timestamping streams where the source was
not timestamped (this happens with PTS values in mpeg system
streams, but MPEG video is also a valid stream on its own so
that needs timestamps too). We use the display time code for that
for now. Also, if one incoming buffer contains multiple valid
frames, we push them all on correctly now, including proper EOS
handling. Lastly, several potential segfaults were fixed, and we
properly sync on new sequence/gop headers to include them in next,
not previous frames (since they're header for the next frame, not
the previous). Also see #119206.
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain),
(bpf_from_header):
Move caps setting so we only do it after finding several valid
MPEG-1 fraes sequentially, not right after the first one (which
might be coincidental).
* gst/typefind/gsttypefindfunctions.c: (mpeg1_sys_type_find),
(mpeg_video_type_find), (mpeg_video_stream_type_find),
(plugin_init):
Add unsynced MPEG video stream typefinding, and change some
probability values so we detect streams rightly. The idea is as
follows: I can have an unsynced system stream which contains
video. In the current code, I would randomly get a type for either
system or video stream type found, because the probabilities are
being calculated rather randomly. I now use fixed values, so we
always prefer system stream if that was found (and that is how it
should be). If no system stream was found, we can still identity
the stream as video-only.
Original commit message from CVS:
2004-01-20 Julien MOUTTE <julien@moutte.net>
* gst/switch/gstswitch.c: (gst_switch_request_new_pad),
(gst_switch_init): Fixed switch element : proxying link and setting
caps from src to sink on request.
Original commit message from CVS:
* gst-libs/gst/audio/Makefile.am:
Add gstaudiofiltertemplate.c and building of gstaudiofilterexample.c
from the template.
* gst-libs/gst/audio/gstaudiofilter.c:
* gst-libs/gst/audio/gstaudiofilter.h:
Add bytes_per_sample and size and n_samples calculation.
* gst-libs/gst/audio/gstaudiofilterexample.c:
Remove, now autogenerated.
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
Moved from gstaudiofilterexample, object name changed, code added
so that it actually works.
* gst-libs/gst/audio/make_filter:
Script to build an audiofilter subclass from the template.
* gst/colorspace/Makefile.am:
* gst/colorspace/yuv2yuv.c:
Remove file, since it's GPL, and we don't use it.
Original commit message from CVS:
* ext/esd/esdsink.c: (gst_esdsink_class_init): Remove property
that handles osssink fallback.
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_init),
(gst_audio_convert_getcaps):
* gst/qtdemux/qtdemux.c: (qtdemux_audio_caps):
Add audio/x-qdm2 for QDM2 audio.
* gst/sine/gstsinesrc.c: (gst_sinesrc_get):
* gst/sine/gstsinesrc.h: Add example of how to implement tags.
* gst/videoscale/gstvideoscale.c: (gst_videoscale_getcaps):
Decrease minimum size to 16x16.
* gst/wavparse/gstwavparse.c:
Convert disabled pad template caps to new caps.
* sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get),
(gst_xvimagesink_chain): Throw element error when display cannot
be opened. Increase minimum framerate to 1.0. Check the data
free function on a buffer to make sure it is the type we expect
before manipulating it.
Original commit message from CVS:
2004-01-15 Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/colorspace/gstcolorspace.c:
* gst/colorspace/yuv2yuv.c: (gst_colorspace_yuy2_to_i420),
(gst_colorspace_i420_to_yv12):
Fix compiling... Didn't test if it actually works.
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:
2003-12-22 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/qtdemux/qtdemux.c: (plugin_init):
qtdemux requires bytestream
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:
Adding a new plugin: switch.
It takes N input and only has 1 output. You can "switch" the forwarded input through properties ("nb_sources", "active_source") and i will probably add tuner interface support soon.
It should be able to handle any kind of data passing through it.
It is still a work in progress don't consider it usable for production yet.
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:
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:
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:
Woah, I'm f***ing annoyed that someonme never tests his changes and figures out that every freakin' format is identified as text/plain
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:
Add new element: frame dropper. This element inserts/drops frames to go from a certain input framerate to a certain output framerate. It's extremely simple and that's why it's so cute.
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:
Fixes to make it compile without GNOME, and with a modern (>= 0.3)
version of GStreamer. Now that I got it compiled, I want to delete
it.
Original commit message from CVS:
New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as described in the previous commit's document. Note: some plugins will break, some pipelines will break, expect HEAD to be broken or at least not 100% working for a few days, but don't forget to report bugs
Original commit message from CVS:
compatibility fix for new GST_DEBUG stuff.
Includes fixes for missing includes for config.h and unistd.h
I only ensured for plugins I can build that they work, so if some of them are still broken, you gotta fix them yourselves unfortunately.
Original commit message from CVS:
This adds width/height properties to qtdemux, so that it connects to ffdec_*... still doesn't work, because the buffer allocation in ffdec_ allocs too small buffers (edge emulation failure or so?), which causes a segfault. I'm working on that
Original commit message from CVS:
+ simplifying the filter's structure, but it's still not working perfectly
+ starting to wonder if/how midi integration is possible ...
Original commit message from CVS:
Handle compressed headers. Fix inappropriate use of bytestream_flush().
Code cleanup. Added getcaps and _link functions for src pads. Extract
and set the size,rate,channels correctly. Fix some of the caps to
agree with avidemux and/or ffmpeg.
Original commit message from CVS:
fix Makefiles for C++ libraries. They should now work with Forte. This needs a new libtool, update autogen.sh to reflect this.
Original commit message from CVS:
Made the SWAP and PREPARE_3D_LINE macros work with gints rather than
using typeof(), since typeof() is a gcc-extension and does not work
with other compilers. This is okay since every place these macros
are used, gints are passed in. I renamed SWAP to SWAP_INT to reflect
that it is not so generic.
Original commit message from CVS:
Corrected the configure.ac so it actually works. Updated some c files
so that they build on Solaris. This mostly involved supporting ISO
style variable-argument macros.
Original commit message from CVS:
Updated autogen.sh/configure.ac and various Makefiles to make the
configure script set up all gcc specific compiler arguments, rather
than hardcoding them in the Makefile.am files
Original commit message from CVS:
fixes to mp3 typefinding:
- removed workaround that detected files with valid ID3v2 tag as mp3 (not needed anymore)
Invalid files didn't occur because of broken length in the tag but because of padding
in the beginning of the audio data most of the time.
- fixed various assorted stuff in the old typefind function (like not adjusting buffer
size after skipping)
- added 2nd typefind function to detect mp3 streams (fixes#94113)
Original commit message from CVS:
another batch of connect->link fixes
please let me know about issues
and please refrain of making them yourself, so that I don't spend double
the time resolving conflicts
Original commit message from CVS:
Use bytestream to get buffer from sinkpad ( gst-player should play mod file now ;)
Move module types build from mikmod to modplug
Original commit message from CVS:
Added measures and beats to the playondemand filter so it can act like an audio
sequencer. Currently defines three extra globally visible functions, might
eventually want to put them in an interface instead ?
Original commit message from CVS:
- reimplemented using organic masks, rendered with gouraud shaded triangles
- implemented more masks
- implemented adjustable border
Original commit message from CVS:
- Ripped some ID3 tag parsing from libid3 for typefind.
- Added ID3V1 to fypefind.
- Don't check for a valid mp3 header after finding the ID3 tag as some ID3
tags seem broken.
Original commit message from CVS:
qtdemux.c:315: warning: implicit declaration of function `free'
qtdemux.c:331: warning: implicit declaration of function `malloc'
Original commit message from CVS:
new filter subdir for standard audio filters
first filter uses code from vorbis to implement an iir filter
not optimized yet, iir code uses doubles and plugin uses float
Original commit message from CVS:
add ranks only for plugins who participate in autoplugging. If you have a file that used to autoplug but doesn't anymore, then let me know or add a rank to the missing element.
Original commit message from CVS:
adding new quicktime parser:
- openquicktime free (hense gst/qtdemux)
- no more seeks for parsing -> better for network streams
- uses GstByteStream
- less memcpy's
- long ChangeLog record in pompous style
Original commit message from CVS:
* a hack to work around intltool's brokenness
* a current check for mpeg2dec
* details->klass reorganizations
* an element browser that uses details->klass
* separated cdxa parse out from the avi directory
Original commit message from CVS:
fixed rest of warning for gcc 3 in /gst.
fixed some Makefiles: s/-m486/-mcpu=i486/
disabled mpegaudioparse plugin. What good is this rotten code for anyway?
Original commit message from CVS:
* removal of //-style comments
* don't link plugins to core libs -- the versioning is done internally to the plugins with the plugin_info struct,
and symbol resolution is lazy, so we can always know if a plugin can be loaded by the plugin_info data. in theory.
Original commit message from CVS:
s/@GST_PLUGIN_LDFLAGS@/$(GST_PLUGIN_LDFLAGS)/
@-substitued variables variables are defined as make variables automagically,
and this gives the user the freedom to say make GST_PLUGIN_LDFLAGS=-myflag
Original commit message from CVS:
* s/gst_element_install_std_props/gst_element_class_install_std_props/ -- it just makes more sense that way
* added jack element, doesn't quite work right yet but i didn't want to lose the work -- it does build, register,
and attempt to run though
* imposed some restrictions on the naming of request pads to better allow for reverse parsing
* added '%s' to reverse parsing
* added new bin flag to indicate that it is self-iterating, and some lame code in gst-launch to test it out
* fixen on launch-gui
* added pkg-config stuff for the editor's libs
Original commit message from CVS:
Uhm, if I'll be fixing errors like this all over just because I'm enabling
plugin debug output for the first time, I'm in for a world of hurt over
the next few hours...
Original commit message from CVS:
* changes to spider:
* add padtemplates so the connect functions can connect two request-pad
elements
* add a hack in gstelement.c. please look at this, Company, and see how
we can get around this
* add backwards caps-propagation support in identity, int2float, float2int,
adder, speed, volume
Original commit message from CVS:
made changes everywhere to accomodate for the headers being in
<gst/(lib)/...>
we'll need to conclude this fast because we will also need to change stuff in core real soon for the libs in order to fix everything
and I can't do it right now because I disabled all of the plugins here ;)