Commit graph

134 commits

Author SHA1 Message Date
Richard Boulton
0bf1a380cc Remove #include <gnome.h> from some tests which don't actually need it, and make the other tests and the autoplug exa...
Original commit message from CVS:
Remove #include <gnome.h> from some tests which don't actually need it,
and make the other tests and the autoplug example only compile if gnome
headers are present.
2001-04-25 11:49:38 +00:00
Wim Taymans
892f4b3204 API docs updates.
Original commit message from CVS:
API docs updates.
Properly implemented the disksink.
Fixed a compile problem with alsa.
Added bufferpool handling to dvdec
Some compiler warning fixes
2001-04-22 16:04:19 +00:00
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
Wim Taymans
6bd5dcffab The first wave of docs updates
Original commit message from CVS:
The first wave of docs updates
Added a little more comments about the API usage in the api docs.
Some fixes for the capsnego testsuite.
2001-04-17 21:14:55 +00:00
Wim Taymans
a8ba9c4122 Autoplug3 shows an example of an autoplugged mp3 player.
Original commit message from CVS:
Autoplug3 shows an example of an autoplugged mp3 player.
Autoplug4 shows various static autoplugger examples.
2001-04-17 21:03:43 +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
Wim Taymans
ac7bf2494d Updated the padfactory test code.
Original commit message from CVS:
Updated the padfactory test code.
2001-04-16 21:48:44 +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
6912e1946e Adjust the test cases to the new FOURCC API.
Original commit message from CVS:
Adjust the test cases to the new FOURCC API.
2001-03-31 00:13:51 +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
7d4666d4dc Added the new enum testcase to .cvsignore
Original commit message from CVS:
Added the new enum testcase to .cvsignore
2001-03-20 18:29:46 +00:00
Wim Taymans
0267b92c93 More work on capsnego proxying. It should be OK now.
Original commit message from CVS:
More work on capsnego proxying. It should be OK now.
Added another testcase enum that shows various capsnego algorithms.
Warn about pads that try to set a capability incompatible with their
padtemplate.
Implemented refcounting and copy_on_write for caps/props.
2001-03-20 18:29:00 +00:00
Wim Taymans
29cb713b21 More work on capsnego, mostly proxying
Original commit message from CVS:
More work on capsnego, mostly proxying
Added another testsuite for capsnego
Added caps to vorbisdec, mp3parse, mp1videoparse
Redid the queue proxy handling a bit.
2001-03-18 16:17:39 +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
3ec275832a Merged the CAPSNEGO1 branch..
Original commit message from CVS:
Merged the CAPSNEGO1 branch..
2001-03-12 21:02:12 +00:00
Richard Boulton
1f3f906886 Updated test to have a comment explaining its purpose (very important this, especially for regression tests), and to ...
Original commit message from CVS:
Updated test to have a comment explaining its purpose (very important this,
especially for regression tests), and to actually test what I meant it to.
2001-03-09 12:29:51 +00:00
Richard Boulton
51847f3fe4 Added a testsuite. This currently only has one test, which replicates a problem just submitted to the list.
Original commit message from CVS:
Added a testsuite.  This currently only has one test, which replicates a
problem just submitted to the list.

I hope noone disagrees that we need a testsuite.  Also, hopefully we all
think that a tiny testsuite which is easy to add tests to is much better
than a huge project to create a complete testsuite, which never gets
started because its too big and scary.

I suggest that tests get created whenever someone has a spare moment, or
whenever a bug is reported (to replicate the problem, and thus be sure that
when fixed it stays fixed), and before making a change to a piece of code
to ensure that it remains working.

If we all add little tests occasionally, then we'll have a good useful
testsuite before we know it.  All you need to do is make a
2001-03-09 12:08:38 +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
d20f0b4bae Add gst_element_request_compatible_pad and remove gst_element_request_pad.
Original commit message from CVS:
Add gst_element_request_compatible_pad and remove gst_element_request_pad.
Implemented something reasonable for gst_element_request_compatible_pad,
but havn't tested much: it won't work for tee because the pad templates
have no caps, and negotiation is not yet written, so it is assumed that the
tee pads can't connect to anything.
2001-01-23 18:42:23 +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
bc9054e18e Added another test case, a bin in a thread, to test EOS. still hangs because gtk_main hangs in a __poll somewhere.
Original commit message from CVS:
Added another test case, a bin in a thread, to test EOS. still hangs because
gtk_main hangs in a __poll somewhere.
2001-01-21 16:08:37 +00:00
Wim Taymans
044c4611af More eos handling, bin in bin is handled correctly now.
Original commit message from CVS:
More eos handling, bin in bin is handled correctly now.
Updated gstreamer-launch to loop while !EOS.
2001-01-21 16:06:42 +00:00
Wim Taymans
029e7bfbd9 More test cases for EOS handling
Original commit message from CVS:
More test cases for EOS handling
2001-01-20 17:53:03 +00:00
Erik Walthinsen
fdadef86d9 updated tests code to new ghostpad API
Original commit message from CVS:
updated tests code to new ghostpad API
2001-01-20 03:36:20 +00:00
Wim Taymans
de4b9f654e Two more test cases
Original commit message from CVS:
Two more test cases
2001-01-20 03:02:29 +00:00
Wim Taymans
9b3f1277ce API docs updates
Original commit message from CVS:
API docs updates
2001-01-19 22:15:21 +00:00