Original commit message from CVS:
A rather large update:
- a new videosink using plain X windows (xvideosink). It uses capsnego to
set up it's formats.
- gstplay uses the new xvideosink and a gtk_socket. The initial window
size is set to 0x0 so you need to resize it before you see something.
- got rid of the video metadata include file in favour of properties and
caps negotiation
- adjusted most plugins to not use the metadata.
Original commit message from CVS:
Added a plain X videosink, the videosink uses capsnego.
adjusted the v4lsrc so that it uses capsnego on the src pad
Small fixed to capsnego and the properties/caps.
Original commit message from CVS:
Modified a lot of plugins to use the caps system.
Modified the caps of audio/raw to our agreed properties.
Added the multidisksrc plugin of Dominic Ludlam
Renamed audiosink/src to osssink/src and updated all the examples using
the old name. Moved oss specific plugins in an oss directory. removed
the old audiosink from the elements/ dir.
removed audioraw.h metadata header files since we now use the properties.
There are still a few plugins that won't build because they include the
old audioraw.h header file. This will be fixed soon.
Make sure the caps are set in the plugins as described by their
padtemplates (this should solve problems with gstmediaplay with various
media files).
*please don't panic when some plugins won't build, just cd manually into
the plugin dirs* This will be fixed soon.
Original commit message from CVS:
Small fixes to pipeline and gstbin.
Fixed the xmmstest makefile entry
Removed the plugin_load statements in videotest
Applied the patch from Steve Baker for float args parsing
Original commit message from CVS:
CPU detection of MMXEXT and probably 3DNOW (not on Athlon yet)
Renamed the mmxe motion compentation files.
disabled SSE optimisation in ac3dec because it apparently faults..
enable MMXEXT motion compensation on non SSE CPUs (AMD)
Original commit message from CVS:
slightly changed the Makefile.am in videoscale libs.
v4lsrc works again
A little modification to the videotest programm to use a tee element.
added support for multiple paths in --gst-plugin_path=.
added ab ENV variable GST_PLUGIN_PATH to specify extra directories to
look for plugins.
Original commit message from CVS:
This is a megapatch with the following changes:
- moved the gchar *name to GstObject, removed the ones in GstElement and
GstPad.
- moved the parent handling completely into GstObject. This cause *all* of
the plugins to fail (except those that used gst_pad_get_parent)
- rearanged the XML save handling.
- GstObject now has a class function save/restore_thyself.
- GstObject has a generic method gst_object_save_thyself, this makes it
possible to fire a signal wehever a new object is loaded. This is needed
so we can add XML save hooks.
- GstXML API has changed slightly. You now have to create a GstXML object
first before you can actually load something. This makes it possible to
attach a signal to GstXML whenever an object is loaded. I'm not sure we
will keep this interface.
- GstObject can now print the path_string without knowing about the GstPad and
GstElement types.
- Added gst_bin_get_by_name_recurse_up to lookup an element in the current
element hierarchy.
- added XML namespaces to the saved pipelines the namespace is:
http://gstreamer.net/gst-core/1.0/
namespaces are needed to distinguish user generated XML from the core XML.
Note that the plugins still contain a macro GST_OBJECT_PARENT that will be
replaced with gst_pad_get_parent shortly.
Original commit message from CVS:
Major cleanup of the latest ghostpad changes. Fixed everything that
broke, correctly. Someone will want to go update the API doc templates.
Original commit message from CVS:
Massive build fixup. Will send message to -devel list later with details
on the changes and what they mean for Makefile.am writers. Check
docs/random/omega/build/TODO for a list of things that I had to make sure
of.
NOTE: this requires a complete rebuild of all plugins, since I also
changed the STATE enum to a bitfield instead of sequential numbers.
Original commit message from CVS:
Fixed the MPEG2 to MPEG1 recoder, we need cannot create dangling elements
with the current scheduler. Remove the subtitle parser because it's not
possible with the current scheduler.
Added a padtemplate for MPEG2 subtitles.
Original commit message from CVS:
The examples must not be installed
Removed debugging from Makefiles for avidecoder/ac3parse
/test/bindings/dummy.h cannot be installed
Original commit message from CVS:
Pending editor changes.
fixes for autoplug of elementary MPEG1 video streams
make sure mp3 types get compiled
videosink changes for xml loading
Original commit message from CVS:
Remove cothreads.[ch] from tests/cothreads/ and replace then with a rule
in the Makefile.am to generate symlinks to the live versions of the code
in gst/ : fixes a compile error, and should keep things cleaner.
Original commit message from CVS:
Reworked AC3 decoder. No seeking yet but at least we do not need ac3parse
anymore.
Reworked dvdsrc to read scrambled data (DeCSS not included). I have
modified DeCSS a bit to work in GStreamer. Can I release the code or is
there some lawyer that's going to sue me?
MPEG2 SSE motion compensation.
Tried to add PTS to the MPEG decoder but failed.
Original commit message from CVS:
Misc fixes and cleanups
A reworked gstplay. Now it is called gstmediaplay. gstplay is a custom
widget that can display media and is to become a bonobo component soon.
put the tables of the mpeg audio encoder in a header file.
maybe faster quantisation for the mpeg encoder.
Original commit message from CVS:
More Docs updates.
Added plugin documentation. I fear we need a gstdoc implementation
that loads plugins and does introspection on them. I think we should
automatically create the docs for the pads and mime types the plugins
provide. Does anyone have enough perl knowledge to add these features? I
allready changed the C code to output the pad definitions but my perl
knowledge is too limited, for now, to implement the rest of the needed
functionality...
Original commit message from CVS:
A first attempt to fix the queues in a cothreaded pipeline.
Some fixes to the thread handling.
Fix a bug in gstreamer-config : gthread was not included.
gst_bin_create_plan() is now done in the READY state.
a bin with only another bin in it will now work with gst_bin_iterate.
Added some examples for the queues.
Original commit message from CVS:
Patch from Chris Emerson for PPC. cothreads stuff was causing segfaults,
because the stack needs to be initialised with a particular structure on
PPC, unlike x86 where it simply has items pushed or popped.
Added Chris to AUTHORS, for his trouble.
Original commit message from CVS:
Fix compile problem due to DEBUG being redefined in
libs/getbits/gstgetbits.h. Also fix several small typos in the docs and
examples.
Original commit message from CVS:
Converted the mpeg2 encoder asm to gnu asm, removing the dependency of nasm
Added cpu detection in the mpeg2 encoder
removed the inlined mmx asembler to seperate files.
Original commit message from CVS:
The vorbis encoder
A test program to convert an mp3 to a vorbis file.
A fix for the dynamic plugin loader factory_find was not working.
Don't forget to run gstreamer-register after installing the plugins!
Original commit message from CVS:
Faster and modular getbits implementation.
Fixed a bug in the audiosink that could lock up your box on bad MB.
Modified the plugins to use the new getbits functions.
Original commit message from CVS:
libXv is now linked against by test/* and gstplay if it is present.
-lXv isn't leaked all over the place due to AC_CHECK_LIB test.
This is still messy though - we shouldn't have to link explicitly
with extra things just because we use certain plugins.
Build Makefile in tests, but don't recurse into tests when doing the
build (tests no longer in SUBDIRS).
Original commit message from CVS:
Build fixes.
Adapted the test directory to the new state management
added an mpeg2 to avi encoder.
added a v4l to divx capture example.
Original commit message from CVS:
Megapatch, changes which states are available, how they're used, and how
they're set. Also modifies the scheduling system, breaking pulled
buffers. Check mail archives for more details.
Original commit message from CVS:
Added seeking to some of the plugins.
some MMX speedups in the MPEG decoders.
Better YUV to MMX conversion
implemented seeking to gstplay.
Original commit message from CVS:
Switched Cr and Cb in YUV2RGB
fixed the avi parser (gstriff had wrong size)
the system_encoder can now do video only system streams
sanitized the colorspace and scaler api.
added fast self modifying asm scaler.
worked on the typefind stuff.
added a cool media player (gstplay) it uses the typefinder to playback
avi, mpeg1 (system and video) streams. It is also a testbed and a real app.
Original commit message from CVS:
Added SCR and mux_rate calculations in the MPEG1 multiplexer.
worked toward a unified putbits implementation
Added an MPEG audio layer 1&2 encoder.
Original commit message from CVS:
Reworked the audio resampler.
Added first frames skipping to the mp3 and ac3 parser (this allows you to
skip a number of frames before pushing them).
Removed wrong mmx code from the encoder.
Added Macroblocks per slice to the encoder.
added bilinear and bicubic interpolation to the videoscaler.
Added a MPEG1 multiplexer (no SCR or mux rate calculations yet)
Added some options (framerate to the encoder/decoder)
Original commit message from CVS:
Added a basic element: pipefilter. This element connects the stdin/stdout
of an external program into the pipeline. We now have virtually all of
the capabilities of sox, lame, ...
Original commit message from CVS:
Rewrote the mpeg1 system stream parser.
Fixed a motion compensation bug (was a bug on Intels site)
Faster/Better/more accurate motion detection in the mpeg encoder
Added an audio resampler (convert 48000 kHz to 44100 for example) does not work
Fixed rate control in the mpeg2 encoder.
Original commit message from CVS:
Fixed the mpeg2 encoder. Added MMX optimisations for motion estimation.
Added another mpeg1 encoder.
Added Two filters: smooth and median (a median cut filter)
Made the queue pull buffers.
Original commit message from CVS:
A simple video scaler as a library and an Element. Also a little non
working mpeg2 to mpeg1 converter (still struggling with the quantisation).
Original commit message from CVS:
More changes to the mpeg parser and encoder.
It seems like the mpeg2 decoder does not like some MPEG1 videos. Use
mpeg_play for now (eg. AlienSong)
Original commit message from CVS:
Added MMX optimized yuv2rgb (AlienSong now plays back at only 6% CPU)
Added mpeg1 picture skipping and fixed a buffer overflow.
Added a system clock. The audiosink can now adjust the clock.
Fixed incorrect behaviour on 8, 15, 16, 24 and 32 bits displays.
Cleanup of the videosink, it now uses the color conversion library when
needed.
Original commit message from CVS:
Added a colorspace library and removed yuv2rgb conversion from the
videosink.
The aviencoder should now more or less work.
Original commit message from CVS:
Documentation updates. All standard library objects and standard
elements are documented. Modified some of the elements to more
accuratly report about their arguments so the documentation builds
more reasonable output.
Added aviencoder and jpegencoder elements (not working yet)
Original commit message from CVS:
Added the riff code into a seperate library in /libs dir. The plugin
loader also checks the /libs path.
The avi parser now uses the riff library.
WAV is broken.
Original commit message from CVS:
Various cleanups. Moved the overlay code to a specialized widget.
One error I cannot seem to fix: switching desktops does not disable the
overlay.
Original commit message from CVS:
This is a rather large patch. Switched on -Wall compiler flag and fixed
the warnings.
Made the Video for Linux more like it should be.
Original commit message from CVS:
Added a pull function in the gstpad. Modified the videosink to implement
the pull. This function allows a source element to request a buffer
from the destination. This is much more efficient because the
videosink can then pass a buffer with SHM to the element, which does
not require an aditional memcpy.
removed scaling from the videosink. I need something better.
Original commit message from CVS:
Speedup in mpg123 parsing. speedup in mp1videoparse. rearanged the
MPEG player got rid of some memcpy. bit handling changes.
MMX code for the IDCT and motion compensation in mpeg_play.
Almost as fast as the commercial mpeg player mtv, but with a much
better video quality :-)
Original commit message from CVS:
The first functional video sink... Removed all of the video stuff
from the MPEG video decoder. Fixed a bug in smoothwave.
The MPEG video decoder still does the YUV->RGB conversion.
Original commit message from CVS:
Rearranged and updated mp1parse. Indentation is sane again (what editor
are you using, Wim?), and it now uses threads. Playback is clean (at
least, audio and video are running smoothly. Video is still a little
choppy on my test stream (first 1MB from disk two of Mulan VCD), and it's
still wildly out of sync, but it's looking VERY COOL.
Original commit message from CVS:
The first functional video MPEG1 decoder. The decoder still opens a window
to show the video. This is not optimised at all. Some glitches and
crashes due to bugs in mp1videoparse.c. I need to queue incomplete
slices in mp1videoparse before sending them to the decoder.
use test/mp1parse on your favorite video to test. No audio/video sync,
no QoS at all.
Original commit message from CVS:
Fixed the mpeg 1 parser. It can now be used to playback the audio stream
of an MPEG1 movie (check out test/mp1parse.c).
Original commit message from CVS:
Fixed a nasty bug in mp3parse (partial buffer state remained)
Added eos check for the test programs to stop them from allocating all
of your memory (had to use alt-sysreq-k a few times :-( ).
MPEG layer 1 plays fine now with mp3play.
Original commit message from CVS:
More incremental updates. I can now successfully produce an rpm simply by
typing `./autogen.sh;make rpm`. This is good ;-)
Original commit message from CVS:
A bunch more changes to clean up build/`make dist` issues, as well as a
spec file, -config file, .m4, etc. Next step is to build an RPM of this
mess.
Original commit message from CVS:
OK, I think I've got all the .cvsignore stuff taken care of, though we'll
want to fine-tune things as we go, of course. Most of them are the same,
with some exceptions for directories that produce executables (those are
listed by name after the standard ones and a newline for separation).
Original commit message from CVS:
- added usage info
- uses first arg as registry filename
- any additional args are plugins to search for (no change but argv base)
- cleaned up output with a spare \n