more mergeback from the latest release

Original commit message from CVS:
more mergeback from the latest release
This commit is contained in:
Thomas Vander Stichele 2002-04-15 09:27:03 +00:00
parent 1192f13102
commit 6f9d5fc58c
7 changed files with 152 additions and 65 deletions

8
README
View file

@ -4,8 +4,16 @@ plugins for GStreamer
* to develop against uninstalled GStreamer core :
add path to gstreamer-uninstalled.pc to PKG_CONFIG_PATH
or run configure --with-pkg-config-path=(path to gstreamer uninstalled)
* to register plugins in source tree
run gst-register --gst-plugin-path=.
* if a certain plugin doesn't build, then redo configure with
--disable-(plugin)
to disable it from the build
* Additional documentation :
REQUIREMENTS
supporting libraries for plugins

140
RELEASE
View file

@ -1,46 +1,94 @@
GStreamer 0.3.2 "Do-B-day" released
Release Notes
GStreamer "30 Second Frenchman" 0.3.4 released
RELEASE NOTES
The GStreamer team is happy to announce another release of the
GStreamer streaming-media framework. GStreamer now contains close to
100 plugins for reading, writing and manipulating audio and video. We
are rapidly approaching a stable set of libraries. Our sample
applications are, however, still under development.
GStreamer streaming-media framework.
We now have a gst-all module prepared that includes all of our source
modules in one easy-to-compile package.
Focus of this release
Future Plans
This release fixes a few developer usability issues.
Our goal for the next release is stabilizing and improving the current
feature set of GStreamer further, including introducing an improved
autoplugger module for even better handling of media formats. We will
also focus more attention at our media player sample application as
this is the application most users and developers probably will use to
get aquinted with the framework.
A few of the API functions have been changed to offer better
functionality and to be more consistent with other toolkits (GLib,
GTK).
Sample changes:
* gst_elementfactory_make to gst_element_factory_make
* GST_PADTEMPLATE_* to GST_PAD_TEMPLATE_*
For help building GStreamer, take a look at our build help document.
This release of GStreamer has been primarily made in support of
RhythmBox. It should really work with their upcoming 0.2.0 release.
Updates and Enhancements
The gst-launch parsing has been bisonified. This allows for better and
more consistent command-line parsing. Accordingly, some changes in the
dynamic pad treatment have been made as well.
The registry handling has been changed. gst-register will now write to
a local registry (in ~/.gstreamer/reg.xml) if it does not have
permissions to write to the global registry. Normal applications not
running as root will prefer this local registry if it exists, and fall
back to the global otherwise.
Also, a --gst-registry option has been added to all gst applications.
If this is specified, then the application will ONLY use this
registry. This is useful for testsuites inside the core as well as
general testing of plugins.
* new capabilities negotiation system
* xml support bugfixes
* sdlvideosink enhancements
* gst-xmllaunch added
* fixes in avi plugin
* fli plugin now works again
* fixes to old gstmediaplayer making it work
* lots of fixes on the v4l plugin
* new cdxa plugin
* new mjpeg encoder and decoder plugins
* new example plugin using GOB
* partial update of documentation and examples
* miscellaneous bugfixes
GStreamer is now in Gnome's Bugzilla. Please file bugs against us
there whenever you find them !
More details on these features can be found, along with the release
tarballs and some RPMs, on the project's website,
http://gstreamer.net/.
Changes in the 0.3.x tree
The 0.3.x tree is our first tree using GLib 2.0 and libxml2 as the
sole compile platform. We have also started including all our
documentation in our RPMS starting this tree. People wanting to build
GStreamer themselves with documentation should look at the DOCBUILDING
file for some information on what packages are needed to build that
successfully.
Another new feature of this release tree is the gst-launch-ext
command-line application. It uses predefined pipelines to play back
media files based on their file extension. This means that you don't
need to construct your own pipelines using gst-launch if all you want
to do is play a file. Just type gst-launch-ext [filename] and the
audiofile or movie plays for you. This of course also being a work in
progress means that sometimes it might decide on the wrong pipeline,
or cause jitter, as well as random headaches.
For help building GStreamer, take a look at our [1]build help document
.
Updates and Enhancements in this release
* Improved API naming
* New registry handling, allowing for global, local or specified
registry
* bison parser
* gst-launch-ext dynamic pad fixes
* various fixes in mad and vorbisdec for RhythmBox
Previously, in the 0.3.x tree
* devhelp documentation
* New and improved Props API
* New master clock system
* dxr3 plugin
* libcolorspace plugin
* Full dparams documentation
* All functions documented (551 functions documented)
* Python bindings
* Portability fixes (no more C++ // style comments)
* a52dec plugin updated to a52dec 0.7.3 API
* gnome-vfs plugin updated to new seek api
* Misc bug and caps fixes
* SPEC files improvements
More details on these features can be found on the project's website,
[2]http://gstreamer.net/. Source tarballs are also mirrored at
[3]http://gstreamer.net/releases/current/src/. If you use Red Hat (or
possibly other RPM-based systems), RPMs for both GStreamer itself,
external libraries and development tools not included in the standard
reference distribution (RedHat 7.2) can be found in
[4]http://gstreamer.net/releases/current/redhat.
GStreamer is hosted on SourceForge, so support requests and bugs may
be filed as usual. Interested developers of the core library, plugins,
@ -53,23 +101,35 @@ Updates and Enhancements
Contributors to this release
Core
Core
* Erik Walthinsen <omega@temple-baptist.com>
* Wim Taymans <wim.taymans@chello.be>
* Thomas Vander Stichele <thomas@apestaart.org>
* Andy Wingo <wingo@pobox.com>
* Benjamin Otte <in7y118@public.uni-hamburg.de>
Plugins and Sample Applications
* Richard Boulton <richard@tartarus.org>
* David Lehn <dlehn@vt.edu>
Plugins and Sample Applications
* Ronald Bultje <rbultje@ronald.bitfreak.net>
* Bastien Nocera <hadess@hadess.net>
* Martin Enlund <martin@enlund.net>
* Benjamin Otte <bj>
* Arik Devens <arik@gnome.org>
* Jérémy Simon <jsimon13@yahoo.fr>
* Zeeshan Ali Khattak <zak147@yahoo.com>
* Steve Baker <stevebaker_org@yahoo.co.uk>
* Rehan Khwaja <rehankhwaja@yahoo.com>
Misc
Misc
* Christian Schaller <christian.schaller@linuxrising.org>
* wrobell <wrobell@ite.pl>
* Calum Selkirk <cselkirk@panix.com>
References
1. http://gstreamer.net/releases/current/buildhelp.php
2. http://gstreamer.net/
3. http://gstreamer.net/releases/current/src/
4. http://gstreamer.net/releases/current/redhat/

7
REQUIREMENTS Normal file
View file

@ -0,0 +1,7 @@
This file lists supporting libraries for which gst-plugins contains plugins,
as well as their minimum version. You can find the corresponding plugins in
ext/(library)
a52dec 0.7.3
avifile >= 0.6.0 (cvs)

View file

@ -10,10 +10,15 @@ AM_DISABLE_STATIC
dnl when going to/from release please set the nano (fourth number) right !
dnl We disable static building for development, for time savings
AM_DISABLE_STATIC
AS_VERSION(gst-plugins, GST_PLUGINS, 0, 3, 3, 1)
AS_VERSION(gst-plugins, GST_PLUGINS, 0, 3, 4, 0)
AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
AS_LIBTOOL(GST_PLUGINS, 0, 0, 0, yes)
dnl we'll move this to a configure option later on which will be turned on
dnl by autogen
dnl GST_ERROR="-Wall -Werror"
GST_ERROR="-Werror"
dnl FIXME take something else ?
AC_CONFIG_SRCDIR([gst/law/alaw.c])
AM_CONFIG_HEADER(config.h)

View file

@ -489,6 +489,9 @@ end:
/* OK, clean up the framer */
ogg_sync_clear (&oy);
/* FIXME: this might be wrong, or deprecated, so please let me know */
gst_element_set_eos (element);
}
static void

View file

@ -268,35 +268,39 @@ gst_vorbisenc_chain (GstPad * pad, GstBuffer * buf)
while (vorbis_analysis_blockout (&vorbisenc->vd, &vorbisenc->vb) == 1) {
/* analysis */
vorbis_analysis (&vorbisenc->vb, &vorbisenc->op);
vorbis_analysis (&vorbisenc->vb, NULL);
vorbis_bitrate_addblock(&vorbisenc->vb);
while(vorbis_bitrate_flushpacket(&vorbisenc->vd, &vorbisenc->op)) {
/* weld the packet into the bitstream */
ogg_stream_packetin (&vorbisenc->os, &vorbisenc->op);
/* weld the packet into the bitstream */
ogg_stream_packetin (&vorbisenc->os, &vorbisenc->op);
/* write out pages (if any) */
while (!vorbisenc->eos) {
int result = ogg_stream_pageout (&vorbisenc->os, &vorbisenc->og);
GstBuffer *outbuf;
/* write out pages (if any) */
while (!vorbisenc->eos) {
int result = ogg_stream_pageout (&vorbisenc->os, &vorbisenc->og);
GstBuffer *outbuf;
if (result == 0)
break;
if (result == 0)
break;
outbuf = gst_buffer_new ();
GST_BUFFER_DATA (outbuf) = g_malloc (vorbisenc->og.header_len + vorbisenc->og.body_len);
GST_BUFFER_SIZE (outbuf) = vorbisenc->og.header_len + vorbisenc->og.body_len;
outbuf = gst_buffer_new ();
GST_BUFFER_DATA (outbuf) = g_malloc (vorbisenc->og.header_len + vorbisenc->og.body_len);
GST_BUFFER_SIZE (outbuf) = vorbisenc->og.header_len + vorbisenc->og.body_len;
memcpy (GST_BUFFER_DATA (outbuf), vorbisenc->og.header, vorbisenc->og.header_len);
memcpy (GST_BUFFER_DATA (outbuf) + vorbisenc->og.header_len, vorbisenc->og.body,
vorbisenc->og.body_len);
memcpy (GST_BUFFER_DATA (outbuf), vorbisenc->og.header, vorbisenc->og.header_len);
memcpy (GST_BUFFER_DATA (outbuf) + vorbisenc->og.header_len, vorbisenc->og.body,
vorbisenc->og.body_len);
GST_DEBUG (0, "vorbisenc: encoded buffer of %d bytes", GST_BUFFER_SIZE (outbuf));
GST_DEBUG (0, "vorbisenc: encoded buffer of %d bytes", GST_BUFFER_SIZE (outbuf));
gst_pad_push (vorbisenc->srcpad, outbuf);
gst_pad_push (vorbisenc->srcpad, outbuf);
/* this could be set above, but for illustrative purposes, I do
it here (to show that vorbis does know where the stream ends) */
if (ogg_page_eos (&vorbisenc->og)) {
vorbisenc->eos = 1;
/* this could be set above, but for illustrative purposes, I do
it here (to show that vorbis does know where the stream ends) */
if (ogg_page_eos (&vorbisenc->og)) {
vorbisenc->eos = 1;
}
}
}
}

View file

@ -81,14 +81,14 @@ read_config ();
### "ac3", "ac3parse ! $cfg{AUDIOSINK}",
%pipes = (
"au", "auparse ! $cfg{AUDIOSINK}",
"avi", "avidemux video_00! { queue ! windec ! $cfg{VIDEOSINK} } avidemux0.audio_00! { queue ! mad ! $cfg{AUDIOSINK} }",
"avi", "avidemux video_%02d! { queue ! windec ! $cfg{VIDEOSINK} } avidemux0.audio_00! { queue ! mad ! $cfg{AUDIOSINK} }",
"fli", "flxdec ! colorspace ! $cfg{VIDEOSINK}",
"mod", "modplug ! $cfg{AUDIOSINK}",
"mp3", "mad ! $cfg{AUDIOSINK}",
"mpg", "mpegdemux video_00! { queue ! mpeg2dec ! $cfg{VIDEOSINK} } mpegdemux0.audio_00! { queue ! mad ! $cfg{AUDIOSINK} }",
"mpg", "mpegdemux video_%02d! { queue ! mpeg2dec ! $cfg{VIDEOSINK} } mpegdemux0.audio_%02d! { queue ! mad ! $cfg{AUDIOSINK} }",
"ogg", "vorbisdec ! $cfg{AUDIOSINK}",
"sid", "siddec ! $cfg{AUDIOSINK}",
"vob", "mpegdemux video_00! { queue max_level=500 ! mpeg2dec ! $cfg{VIDEOSINK} } mpegdemux0.private_stream_1.0! { queue max_level=500 ! a52dec ! $cfg{AUDIOSINK} }",
"vob", "mpegdemux video_%02d! { queue max_level=500 ! mpeg2dec ! $cfg{VIDEOSINK} } mpegdemux0.private_stream_1_%02d! { queue max_level=500 ! a52dec ! $cfg{AUDIOSINK} }",
);
if ($cfg{VISUALIZER}) {