Original commit message from CVS:
2003-12-22 Benjamin Otte <in7y118@public.uni-hamburg.de>
* ext/alsa/gstalsa.c: (gst_alsa_get_caps), (gst_alsa_link):
Fix remaining caps handling errors due to CAPS merge.
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:
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:
first bunch of conversions to new plugin_init. Includes libs/gst, gst/id3, sys/oss, ext/gnomevfs, gst/typefind and ext/mad.
You guessed it, everything Rhythmbox needs ;)
fixed BMP typefind and made gnomevfs one plugin instead of two while doing this
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:
* actually recurse into sndfile if we are able
* big ladspa cleanups, mainly to comply with the buffer-frames caps property, but also general
cleanups
- the samplerate prop is gone, if you want to set it explicitly (as in for get-based plugins)
you need to use a filtered connection, just like with buffer-frames
* big float2int and int2float changes for buffer-frames compatibility - I think it's quite a bit
simpler
* make the ossclock general, add it to gstaudio, and use it in sndfile as well
i need to update mimetypes, but that's coming soon. there are some other plugins that don't
support buffer-frames, i guess i need to get around to fixing them as well.
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:
Plugins cleanup:
* stereo2mono, mono2stereo, int2float, float2int: replaced by audioconvert.
* stereosplit replaced by oneton.
* vumeter replaced by level (and was broken anyway).
* avifile replaced by ffmpeg.
* mjpegtools duplicates functionality of jpeg. jpeg now works with jpeg-mmx,
too, which makes mjpegtools unneeded.
* allow for jpegmmx instead of jpeg.
* openquicktime replaced by qtdemux and ffmpeg. Broken anyway.
* XMMS is broken and will never be fixed.
* vga is broken and will not be fixed anywhere soon.
* videosink has never worked. If it works, add it back to replace xvideosink.
Original commit message from CVS:
* caps refcounting fixes for float2int
* fixed wrt setting of caps on int pad with dynamic number of sink pads in float2int
* added libsndfile plugin (currently only the src is implemented) - currently only float output, noninterleaved is implemented
Original commit message from CVS:
next big bunch of stuff:
- proper caps setting in alsasrc
- query / conversion functions
WARNING: Alsa 0.9.2 is heavily borked wrt recording - expect segfaults
Original commit message from CVS:
bugfixes:
- better error reporting
- segfault when using alsasrc without alsasink (d'oh)
- don't try to round when doing samples => time conversion
Original commit message from CVS:
total code reorganization as a start to get alsasrc working - sink and src are now really different classes, not just on paper - includes a fix that makes the testsuite work that might be an older bug
Original commit message from CVS:
Adds divx/xvid encoders.
* divx encoder is based on divx4linux (commercial, closed-source)
* xvid encoder is based on xvidcore (http://www.xvid.org/, GPL - Christian? ;) )
Both use a GstCaps that doesn't conform with what we currently use, I might fix that later on or so. For now, it doesn't matter, it's just a test. We're also missing corresponding decoders (ffmpeg can decoded this too, but that's not the point), these might come later too.
Original commit message from CVS:
fix clock - seeking, xruns etc should be handled correctly now
includes bugfix to not play the rest of the audio buffer when going PAUSED => READY
Original commit message from CVS:
fix timestamp syncing
timestamps are only guessed so add a (big) threshold before starting to drop/insert
fix some clocking madness
Original commit message from CVS:
ALSA rewrite, part 5:
- sync to timestamps (which breaks a _lot_, because most plugins send out wrong timestamps)
- clocking support (A/V sync is superb as long as you don't sync and don't get wrong timestamps)
- 1/2 of format conversion
- assorted bugfixes
I'd like to get people to check the timestamps the plugins send out.
mpegdemux seems to be pretty broken, mad works (I just patched it...), avidemux works at least sometimes.
Haven't checked more so far.
Original commit message from CVS:
rewrote the caps nego / state change stuff once again, new features:
- bugfixes
- get_caps function to report better caps when device is opened
- better _link function
Original commit message from CVS:
fixing bugs:
- reset original caps on failed caps nego
- do only initialize format/rate/caps if known
- added line for fast debugging output (need this for iain now ;)
Original commit message from CVS:
ALSA cleanup step 3:
- make caps nego work, when caps are already set
- rewriting lots of caps nego while doing so
- start stream explicitly now (will probably stay that way because of sync)
- random bugfixes
alsasrc is probably broken again.
alsasink should now be stable enough to be used with gst-player or rhythmbox (seeking works)
Original commit message from CVS:
Bugfixing in alsa again:
- Leif's commit reverted an earlier patch
(stupid diff)
- Some comment from Leif made me clean up his code
- Moved wait() directly in front of mmap
- Assorted fixes
- fixed newbie bug: DON'T EVER USE STATIC VARIABLES WHEN YOU'RE NOT ABSOLUTELY SURE WHAT YOU'RE DOING, Leif *slap* ;)
I hope I didn't break the src now...
Original commit message from CVS:
+ alsasrc compiles and runs in "alsasrc ! fakesink" and "alsasrc ! osssink"
pipelines. seems to have a 100% cpu issue at the moment.
Original commit message from CVS:
bugfixes found while testing:
- return after 1 iteration, don't loop for ever
- caps nego: only parse endianness when necessary
- caps nego: make mu law and a law work
- caps nego: make float work
- call right function when going from PAUSED to PLAYING
- stupid error in request_new_pad
Original commit message from CVS:
add FreeBSD patches from Andrew Turner and add missing ivorbis m4 to cvs, also disable ivorbis plugin as the test mistakes ordinary vorbis for tremor
Original commit message from CVS:
(unicodify, gst_gnomevfssrc_unicodify): New functions.
(audiocast_thread_run): Use them. Remove redundant if from
"if (foo) g_free (foo);" bits. Change fprintf to g_print.
(gst_gnomevfssrc_received_headers_callback): Ditto.
(gst_gnomevfssrc_get_icy_metadata): Ditto.
Original commit message from CVS:
fixing alsa step 2: complete rewrite of data transfer. The whole stuff is clean enough to go from there now.
License change to LGPL, since no copied code is left now.
Missing:
- alsasrc
- resetting format
- corner cases
- testsuite
Original commit message from CVS:
cleaning up alsa, step 1: cleaning up caps parsing/setting and templates
- gst-launch ... ! spider ! alsasink works now
- alsasrc definitely does not work
Original commit message from CVS:
+ removed the access_addr crap from GstAlsaPad ... just use
this->access_addr[channel] instead
+ completely reorganized and reindented code
+ removed the gst_alsa_sink_silence_on_channel function, needs to be completely
redone anyway
+ got alsasink to work on my machine finally ! yay !
Original commit message from CVS:
bugfixing:
- Fix for bug 93479
- Fix for bug 103659
- Did not set interleaved/non-interleaved correctly
- Changed g_print to DEBUG to disable unwanted output
Alsa is still not really useful. Missing is for example:
- Support for Relinking in paused state (when going to next song in gst-player)
- A bug when using gst-launch filesrc ! spider ! alsasink
- Support for events
- Padtemplates exporting proper caps
- general cleanliness
K, back to work ;)
Original commit message from CVS:
+ fixing 100 % cpu usage bug (bug #103658)
+ cleaning up some of the FIXMEs, mostly bytestream stuff
+ changing loop to use snd_pcm_wait instead of that poll business
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