Commit graph

125 commits

Author SHA1 Message Date
Richard Boulton
610e9e8227 Merged from BRANCH-PLUGINVER1
Original commit message from CVS:
Merged from BRANCH-PLUGINVER1
2001-04-22 12:30:14 +00:00
Wim Taymans
57a5017c8b Fixed a few plugins so that mpeg1 encoding sorta works.
Original commit message from CVS:
Fixed a few plugins so that mpeg1 encoding sorta works.
Added an mpeg1 encoder example, it uses the autoplugger to convert
the stream to audio/video, which is then fed to the encoders.
2001-04-21 17:45:56 +00:00
Thomas Vander Stichele
4ad674a2a2 mixer now works with variable inputs mixer creates custom volume envelopes allowing each song to play alone and end w...
Original commit message from CVS:
* mixer now works with variable inputs
* mixer creates custom volume envelopes allowing each song to play alone
and end with a mix of all of them, undistorted
2001-04-18 16:08:59 +00:00
Thomas Vander Stichele
bbb7ab7055 cleaned up some code and integrated with new adder (mixer now works with different types of files)
Original commit message from CVS:
* cleaned up some code and integrated with new adder (mixer now works with
different types of files)
2001-04-18 14:04:08 +00:00
Thomas Vander Stichele
7c5e80c383 changed mixer to work by autoplugging the input channels (not very useful yet, since the input buffers to volenv have...
Original commit message from CVS:
changed mixer to work by autoplugging the input channels
(not very useful yet, since the input buffers to volenv have different
sizes)
2001-04-17 21:17:55 +00:00
Thomas Vander Stichele
64f5e810a1 header for mixer.c, containing input_pipe_t
Original commit message from CVS:
header for mixer.c, containing input_pipe_t
2001-04-17 17:48:19 +00:00
Thomas Vander Stichele
2d0a7dfad1 added a struct to set up input channels
Original commit message from CVS:
added a struct to set up input channels
2001-04-17 17:47:45 +00:00
Erik Walthinsen
d74fc2e0fa Merged HEAD from BRANCH-INCSCHED1-200104161 into BRANCH-INCSCHED1.
Original commit message from CVS:
Merged HEAD from BRANCH-INCSCHED1-200104161 into BRANCH-INCSCHED1.
2001-04-16 21:43:21 +00:00
Thomas Vander Stichele
5050318744 changed volume envelope; should do a nice transition between both songs now
Original commit message from CVS:
changed volume envelope; should do a nice transition between both songs
now
2001-04-16 19:38:56 +00:00
Wim Taymans
d0921a2897 Added an example audio mixer.
Original commit message from CVS:
Added an example audio mixer.
2001-04-16 16:34:16 +00:00
Wim Taymans
3c7dde9ad4 Add the xvideosink to the example.
Original commit message from CVS:
Add the xvideosink to the example.
2001-04-16 10:55:52 +00:00
Wim Taymans
b38d9a945b A rather large patch:
Original commit message from CVS:
A rather large patch:
- changed the API for the padtemplates:
- remove the factories (array of pointers) for the padtemplates,
properties and caps. The static array was a nice idea but converting
all the property values to a gpointer was not a good idea.
float properties were not possible, and casting a gint to a pointer
is not very portable. The new API just uses the _padtemplate_new,
_caps_new and _props_new functions to create the templates.
This has the added benefit that the API is now uniform for static
and dynamic templates and that the code can be made cleaner.
- lots of cleanups in the way the capabilities are constructed (va_list)
- lots of updates for all the plugins (new API)
- docs updates (new API)
- removed the videoraw docs.
2001-04-14 18:56:37 +00:00
Wim Taymans
335080574f Lots of updates to the plugins for caps negotiation.
Original commit message from CVS:
Lots of updates to the plugins for caps negotiation.
Added YUY2 output to the win32 dlls.
Added a colorspace converter in gstplay
2001-04-12 18:11:19 +00:00
Wim Taymans
c3a64ce1f6 Merged the float property patch from Steve Baker. This patch doesn't really work yet...
Original commit message from CVS:
Merged the float property patch from Steve Baker. This patch doesn't
really work yet...
2001-04-02 19:56:34 +00:00
Wim Taymans
04813b163b Simplified the FOURCC API to the caps, add a GST_MAKE_FOURCC macro to create a fourcc.
Original commit message from CVS:
Simplified the FOURCC API to the caps, add a GST_MAKE_FOURCC macro
to create a fourcc.
Adjusted the plugins to use the new FOURCC API
2001-03-30 23:56:07 +00:00
Wim Taymans
54347a618b Small updates to the .cvsignore files.
Original commit message from CVS:
Small updates to the .cvsignore  files.
2001-03-30 20:10:45 +00:00
Wim Taymans
0837e1e495 Modified a lot of plugins to use the caps system.
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.
2001-03-24 17:22:03 +00:00
Richard Boulton
d80375c632 Added --enable-plugin-docs configure option, to enable build of the plugin documentation (currently broken). This de...
Original commit message from CVS:
Added --enable-plugin-docs configure option, to enable build of the plugin
documentation (currently broken).  This defaults to off.
Changed --enable-docs-build to default to on, since all other documentation
should build correctly.

Also, correct typo in manual, and fix up a couple of things in example.c
2001-03-20 23:12:24 +00:00
Wim Taymans
3534e68563 Reworked the capsnegotiation function audiosink now uses capsnego to set its parameters mpg123/ac3dec use capsnego in...
Original commit message from CVS:
Reworked the capsnegotiation function
audiosink now uses capsnego to set its parameters
mpg123/ac3dec use capsnego instead of metadata
Added the beginnings of a testsuite for capsnego.
2001-03-18 02:42:30 +00:00
Wim Taymans
29a006c8d8 Updated the autoplug example with the new autoplugger. there still is a scheduling issue though.
Original commit message from CVS:
Updated the autoplug example with the new autoplugger. there still is
a scheduling issue though.
2001-03-13 18:57:25 +00:00
Wim Taymans
55006f6367 Merged the AUTOPLUG2 branch
Original commit message from CVS:
Merged the AUTOPLUG2 branch
2001-03-07 21:52:56 +00:00
Wim Taymans
30685cb8c9 Added quotes around the command line mp3 player
Original commit message from CVS:
Added quotes around the command line mp3 player
2001-03-06 20:06:07 +00:00
Wim Taymans
3c79a3d66f Make the autoplugging example work again with an ugly hack until we have autoplug2 merged...
Original commit message from CVS:
Make the autoplugging example work again with an ugly hack until we
have autoplug2 merged...
2001-03-02 17:56:02 +00:00
Wim Taymans
f37f8a939e Added directories to Makefiles for DIST
Original commit message from CVS:
Added directories to Makefiles for DIST
2001-02-24 16:56:19 +00:00
Wim Taymans
1340064d57 More doc updates
Original commit message from CVS:
More doc updates
Manual additions: xml/load save of custom XML, debugging, request pads
added a signal to the example plugin
fixed a bug in mp3parse (ifdef 1)
2001-02-22 23:18:51 +00:00
Wim Taymans
94472df1c2 Fixed an unclosed comment
Original commit message from CVS:
Fixed an unclosed comment
2001-02-22 17:13:30 +00:00
Erik Walthinsen
2324ea92c8 significant commenting of the example plugin
Original commit message from CVS:
significant commenting of the example plugin
2001-02-22 01:34:25 +00:00
Wim Taymans
1a5cfae0f6 Added a first attempt for XML embedding in the main core XML.
Original commit message from CVS:
Added a first attempt for XML embedding in the main core XML.
Objects will emit a signal that a user app can connect to in order to
insert its XML into the tree.
You can catch the object_loaded signal in GstXML to parse the user
supplied XML data in the stream. The object_loaded signal is implemented
with a custom made class signal. All GstObject classes now automatically
create a GstSignalObject that serves as a proxy to the user app when an
object is loaded. All objects are currently responsible to emit the
class signal themselves.
runxml and createxml serve as an example how the XML hooks can be used to
insert and retrieve custom XML tags.
2001-01-30 23:53:04 +00:00
Wim Taymans
eaeadf52e3 Lots of plugins fixes where the parentage macros were replaced with the correct gst_*_get_parent.
Original commit message from CVS:
Lots of plugins fixes where the parentage macros were replaced with the
correct gst_*_get_parent.
Updated the example.
'gstreamer' now is the doc type instead of GST-Pipeline
2001-01-29 23:50:29 +00:00
Wim Taymans
51cbf22624 This is a megapatch with the following changes:
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.
2001-01-29 00:06:02 +00:00
Richard Boulton
ba237a38dd Fix launch so that it can play a list of files, now that EOS works enough. (It needs to not have to restart gstreamer...
Original commit message from CVS:
Fix launch so that it can play a list of files, now that EOS works enough.
(It needs to not have to restart gstreamer each time, but good enough for
now ;-) )
2001-01-22 23:39:23 +00:00
Wim Taymans
6b317bf748 Oops
Original commit message from CVS:
Oops
2001-01-17 07:43:13 +00:00
Wim Taymans
a9967137df Added the typefind example from the manual
Original commit message from CVS:
Added the typefind example from the manual
2001-01-17 00:01:48 +00:00
Erik Walthinsen
9ca8248cc2 Massive build fixup. Will send message to -devel list later with details on the changes and what they mean for Makef...
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.
2001-01-14 21:55:41 +00:00
Richard Boulton
c12e795dec Move plugin example code to new location, and put it into build system.
Original commit message from CVS:
Move plugin example code to new location, and put it into build system.
Add work on firstplugin chapter of pwg.
Fix typo in quotes.
Add @'s before commands in manuals.mak
2001-01-08 23:55:27 +00:00
Wim Taymans
2a4a536fee Manual updates. fixes to gstxml.c gst_xml_get_element was broken
Original commit message from CVS:
Manual updates.
fixes to gstxml.c gst_xml_get_element was broken
2001-01-08 22:08:40 +00:00
Wim Taymans
f068579abd Fixed mp3play
Original commit message from CVS:
Fixed mp3play
2001-01-04 19:22:37 +00:00
Richard Boulton
00aff5b225 Undo accidental commit of debugging version.
Original commit message from CVS:
Undo accidental commit of debugging version.
2001-01-04 17:44:51 +00:00
Richard Boulton
dccc0d8714 Updated to supply argument as "name=value" rather than just "value"
Original commit message from CVS:
Updated to supply argument as "name=value" rather than just "value"
2001-01-04 00:15:42 +00:00
Richard Boulton
f4ae52d0ab Do gst_init first, so we can supply debugging options to libgst
Original commit message from CVS:
Do gst_init first, so we can supply debugging options to libgst
2001-01-03 22:58:58 +00:00
Richard Boulton
126569f47c Do gst_init first in helloworld, so you can supply gst parameters.
Original commit message from CVS:
Do gst_init first in helloworld, so you can supply gst parameters.
Correct name of frequency cap to rate, in esdsink.  Now connects properly.
2001-01-03 19:12:21 +00:00
Wim Taymans
fea2f662c1 The examples must not be installed
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
2001-01-02 19:46:43 +00:00
Erik Walthinsen
ae0d5d1889 Massive, massive update of most source files. I went through and cleaned up all the warnings that I could, which inv...
Original commit message from CVS:
Massive, massive update of most source files.  I went through and cleaned
up all the warnings that I could, which involved fixing some of the plugins.

The configure.in script was re-arranged and cleaned up so, and a check for
libtool 1.3.5 was added to autogen.sh.  Added checks for Gtk and GNOME.

Some plugins were removed from the list of things to build for various reasons.

Added GST_DEBUG_FORCE_DISABLE in gstgetbits, since that's time critical and
even an if() from a DEBUG can significantly increase runtimes.
2001-01-02 08:13:34 +00:00
Richard Boulton
9f9f59141f Added launch back into make system.
Original commit message from CVS:
Added launch back into make system.
The Makefile wasn't being generated, resulting in make dist failing when
the directory was entered for make dist.
2001-01-02 00:31:26 +00:00
Wim Taymans
5d171b83c7 Added directories to DIST_SUBDIRS
Original commit message from CVS:
Added directories to DIST_SUBDIRS
2001-01-01 23:50:07 +00:00
Erik Walthinsen
5c60d369c7 somehow Makefile.am went zero-bytes
Original commit message from CVS:
somehow Makefile.am went zero-bytes
2001-01-01 23:20:42 +00:00
Erik Walthinsen
f559fb0928 updated examples build stuff
Original commit message from CVS:
updated examples build stuff
2001-01-01 22:44:20 +00:00
Erik Walthinsen
cd744791c5 More build fixes
Original commit message from CVS:
More build fixes
2001-01-01 21:21:25 +00:00
Richard Boulton
a2c260761d Add one more file to dist.
Original commit message from CVS:
Add one more file to dist.
2001-01-01 14:34:06 +00:00
Richard Boulton
5637570cc1 Fix broken build system for examples.
Original commit message from CVS:
Fix broken build system for examples.
2001-01-01 13:41:27 +00:00
Erik Walthinsen
2da16ed5ed Re-arranged the build a bit to try to make it more sane. Added some debug.
Original commit message from CVS:
Re-arranged the build a bit to try to make it more sane.  Added some debug.
2001-01-01 08:37:41 +00:00
Wim Taymans
39a19ca625 Added -Wall to configure.in
Original commit message from CVS:
Added -Wall to configure.in
2001-01-01 06:59:49 +00:00
Erik Walthinsen
077e68edb1 fixed stupid spelling mistake
Original commit message from CVS:
fixed stupid spelling mistake
2001-01-01 03:18:40 +00:00
Erik Walthinsen
582fcaffcd hopefully one last update to the examples .cvsignores
Original commit message from CVS:
hopefully one last update to the examples .cvsignores
2001-01-01 00:44:45 +00:00
Erik Walthinsen
5307686379 cleaned up the examples, added Makefiles, etc
Original commit message from CVS:
cleaned up the examples, added Makefiles, etc
2001-01-01 00:42:10 +00:00
Erik Walthinsen
0b650eb737 Updated makefiles for examples
Original commit message from CVS:
Updated makefiles for examples
2001-01-01 00:34:13 +00:00
Wim Taymans
bc4619a44b Added multiple caps to the pads
Original commit message from CVS:
Added multiple caps to the pads
Extended the padfactory for the multiple caps
GstCaps now have a name so that future manipulations on them can be done by name
Updated the plugins for the new caps list
2000-12-31 16:12:48 +00:00
Erik Walthinsen
da03fde054 WARNING: Don't grab this updated unless you're really, REALLY sure.
Original commit message from CVS:
WARNING: Don't grab this updated unless you're really, REALLY sure.
WARNING: Wait for the next one.

Whole lotta changes here, including a few random bits:

examples/*/Makefile: updated to use `libtool gcc`, not just `gcc`
gst/
gstbuffer.h: updated to new flag style
gst.c, gstdebug.h: added new debugging for function ptrs
gstpipeline.c: set type of parent_class to the class, not the object
gstthread.c: ditto
plugins/
cdparanoia/cdparanoia.c: added an argument type, updated some defaults
cobin/spindentity.c: updated to new do/while loopfunction style
mp3encode/lame/gstlame.c: argument types, whole lotta lame options
tests/: various changes

Now, for the big changes:  Once again, the scheduling system has changed.
And once again, it broke a whole bunch of things.  The gist of the change
is that there is now a function pointer for gst_pad_push and gst_pad_pull,
instead of a hard-wired function.  Well, currently they are functions, but
that's for debugging purposes only, they just call the function pointer
after spewing lots of DEBUG().

This changed the GstPad structure a bit, and the GstPad API as well.
Where elements used to provide chain() and pull() functions, they provide
chain() and get() functions. gst_pad_set_pull[region]_function has been
changed to get_pad_set_get[region]_function.  This means all the elements
out there that used to have pull functions need to be updated.  The calls
to that function have been changed in the normal elements, but the names
of the functions passed is still _pull[region](), which is an aesthetic
issue more than anything.

As for what doesn't work yet, just about anything dealing with Connections
is hosed, meaning threaded stuff won't work.  This will be fixed about 12
hours from now, after I've slept, etc.  The simplefake.c test works in
both cothreaded and chained cases, but not much else will work due to the
Connection problem.  Needless to say, don't grab this unless you *need*
these features *now*, else wait to update this stuff until tomorrow.

I'm going to sleep now.
2000-12-16 10:18:09 +00:00
Wim Taymans
64a740ad9b Move a step closer to autoplugging. The element selection in the pipeline works.
Original commit message from CVS:
Move a step closer to autoplugging. The element selection in the
pipeline works.
Slight modification to the typefind function handling.
removed the stupid mime types in the mpeg decoders.
Adjust videosink for the new caps handling.
Modified the queue example to show an error in plan creation; Erik can you
solve this? This is the type of pipelines autoplugging uses.
2000-12-15 16:43:26 +00:00
Wim Taymans
e8ea96d23b Some code cleanup
Original commit message from CVS:
Some code cleanup
Let the parent GstBin decide when to do a create_plan (bin inside a thread)
2000-11-01 22:11:48 +00:00
Wim Taymans
870c6045b2 Fixed a severe timestamp bug in mpeg_play.
Original commit message from CVS:
Fixed a severe timestamp bug in mpeg_play.
Create a new thread upon a multisrc element in autoplugging: the autoplug
example now correctly sets up 5 threads for an mpeg player.
2000-10-09 20:01:17 +00:00
Wim Taymans
b772f81d4a Added an autoplug example. This little program (30 relevant lines) is able to play MPEG1(system)/MPEG2(system)/AVI(DI...
Original commit message from CVS:
Added an autoplug example. This little program (30 relevant lines) is able
to play MPEG1(system)/MPEG2(system)/AVI(DIVX)/Vorbis/AC3 and whatever codec
you write.
Separated the mp3 and mpeg1 types for better reuse.
2000-10-08 22:23:12 +00:00
Wim Taymans
4e7f031df7 Loading and saving of XML pipeline descriptions.
Original commit message from CVS:
Loading and saving of XML pipeline descriptions.
GladeXML like operation implemented (you can retrieve parts of a pipeline)
2000-09-27 19:33:10 +00:00
Wim Taymans
9fec44e1c5 better .cvsignore
Original commit message from CVS:
better .cvsignore
2000-09-24 22:47:08 +00:00
Wim Taymans
31d31ddc2a Cleanups.
Original commit message from CVS:
Cleanups.
The first steps to a Glade like XML handling.
A first example of what is to come...
2000-09-24 22:45:48 +00:00
Wim Taymans
c6b47b8ed2 An example of two threads and two queues.
Original commit message from CVS:
An example of two threads and two queues.
2000-09-24 14:31:21 +00:00
Wim Taymans
e5ab7f33ac A first attempt to fix the queues in a cothreaded pipeline.
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.
2000-09-22 23:35:14 +00:00
Wim Taymans
cab1728fa5 Added gst_pipeline_add_sink/src to allow multiple sink cases and more complex autoplugging. Update docs too.
Original commit message from CVS:
Added gst_pipeline_add_sink/src to allow multiple sink cases and
more complex autoplugging. Update docs too.
Simplified the pipeline autoplugging code.
Changed the cothread case: One iteration is now a push from the src
element. The disk source does not change its state anymore on eof.
Better type setting for the ac3 parser/decoder and mpeg2parse.
2000-09-17 22:08:09 +00:00
Wim Taymans
1351aba899 A thread example.
Original commit message from CVS:
A thread example.
An example of gstreamer-launch: an mp3 player
2000-09-09 16:39:03 +00:00
Wim Taymans
552b7f32aa Changes to gstreamer-config to include gtk+ libs manual changes: queues, threads, programs gsteditor does not crash a...
Original commit message from CVS:
Changes to gstreamer-config to include gtk+ libs
manual changes: queues, threads, programs
gsteditor does not crash anymore.
gstpipline new should return a GstElement *
fixed ac3dec for new getbits
fixes to gstreamer-launch
more efficient startup for gstplay.
2000-09-09 16:36:10 +00:00
Wim Taymans
7ccc2cf90b Externalized the plugin information in /etc/gstreamer/reg.xml
Original commit message from CVS:
Externalized the plugin information in /etc/gstreamer/reg.xml
- no need to do a plugin_load_all()
- plugins are loaded when needed
- typedetect functions are loaded when needed (still buggy)
- no need to check for the existance of the plugin in the codecs
- added gstreamer-register to create the reg.xml file
- renamed launch to gstreamer-launch
- plugins need to register the typefactory they provide
modified the plugins to meet the new design
modified the plugins to correctly set their pad types
autoplugging can be done without loading the plugins now
2000-08-28 20:20:55 +00:00
Wim Taymans
a703c01d94 More docs (most of them just empty...)
Original commit message from CVS:
More docs (most of them just empty...)
Added automatic pad plugging.
Added automatic dynamic pad plugging.
Changed some codecs to correctly set their pad types.
2000-08-22 21:18:18 +00:00
Wim Taymans
3cff190b74 ..
Original commit message from CVS:
..
2000-08-21 21:57:40 +00:00
Wim Taymans
c8c0ac4e78 An example using autoplug. Works for mp3 files only for now.
Original commit message from CVS:
An example using autoplug. Works for mp3 files only for now.
2000-08-21 21:23:27 +00:00
Wim Taymans
284ecaecca helloworld example. and docs
Original commit message from CVS:
helloworld example. and docs
2000-08-18 20:38:54 +00:00