Commit graph

113727 commits

Author SHA1 Message Date
Wim Taymans
9500bd2128 Code cleanup, make it adhere to the Gnome/Gtk+ code formatting, which is quite clean and more readable.
Original commit message from CVS:
Code cleanup, make it adhere to the Gnome/Gtk+ code formatting, which is
quite clean and more readable.
Renamed parseavi to avidecoder
Implemented seeking/time display/pause/play/stop/clean exit to gstmediaplay
Added an element flag to indicate that it cannot deal with noncontigous
buffers. If such an element is found in the pipeline, seeking is disabled
for the complete stream (avidecoder cannot deal with seeking until we convert
it to a loop based element with pull_region to fetch the indeces etc...)
2000-11-01 13:49:41 +00:00
Wim Taymans
c69c6914c9 Missing files..
Original commit message from CVS:
Missing files..
2000-10-30 21:10:35 +00:00
Wim Taymans
4a38cd655b Misc fixes and cleanups
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.
2000-10-30 21:02:08 +00:00
Wim Taymans
31cae4b447 Slightly faster yuv to rgb conversion.
Original commit message from CVS:
Slightly faster yuv to rgb conversion.
2000-10-26 19:07:27 +00:00
Wim Taymans
9bae9d4b91 More Docs updates.
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...
2000-10-25 19:09:53 +00:00
Wim Taymans
268bcbb89d More docs updates
Original commit message from CVS:
More docs updates
2000-10-22 16:30:25 +00:00
Wim Taymans
894215eb29 Documentation updates documented the libraries
Original commit message from CVS:
Documentation updates
documented the libraries
2000-10-22 16:27:21 +00:00
Wim Taymans
2521a319c3 MPEG2 types added for better autoplugging. MPEG2 works more or less. fix in autoplugging. avi now works.
Original commit message from CVS:
MPEG2 types added for better autoplugging. MPEG2 works more or less.
fix in autoplugging. avi now works.
2000-10-21 12:04:40 +00:00
Wim Taymans
b7810a3635 Removed the hardcoded pipeline setup is gstplay in favor of the autoplugging features. Still in a rought shape...
Original commit message from CVS:
Removed the hardcoded pipeline setup is gstplay in favor of the
autoplugging features. Still in a rought shape...
2000-10-12 19:41:30 +00:00
Richard Boulton
7694a06b5d Manual now gets installed correctly by make install. Problems: clean / uninstall don't work.
Original commit message from CVS:
Manual now gets installed correctly by make install.  Problems:
clean / uninstall don't work.
make dist not tested.
pdf manual doesn't have images.
2000-10-12 08:43:03 +00:00
Wim Taymans
04bb8b0142 Added extra Gtk types for better editor properties (FILENAME, enums)
Original commit message from CVS:
Added extra Gtk types for better editor properties (FILENAME, enums)
The disksrcs location property can now be set in the editor: we can
now make our first working mp3 player with gsteditor!!
2000-10-11 19:30:07 +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
Richard Boulton
f1d8e760fb Added building of the manual to the build system. Currently in a rudimentary state - will not gracefully give up if ...
Original commit message from CVS:
Added building of the manual to the build system.  Currently in a
rudimentary state - will not gracefully give up if tools not available,
will not uninstall / clean, and may not install / make dist properly.
Documentation does not have dependencies on images, so won't rebuild if
they're altered either.
2000-10-09 00:34:21 +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
695f761c2b Fixed a bug in the typeloading.
Original commit message from CVS:
Fixed a bug in the typeloading.
Fixes to various elements so that correct types are returned.
Fixed flag collision with GtkObject.
Elements can now suggest a thread. not sure if this is the right way to
handle automatic thread creation.
Autoplugging now works with multiple sinks and thread setup. No threads
are created for intermediate elements yet, so MPEG may still be choppy.
2000-10-08 22:17:11 +00:00
Richard Boulton
fe8a1c5a98 Don't compile editor if havn't got libglade-gnome.
Original commit message from CVS:
Don't compile editor if havn't got libglade-gnome.
2000-10-06 02:38:11 +00:00
Wim Taymans
712d5d0a48 Initial work for the new editor.
Original commit message from CVS:
Initial work for the new editor.
2000-10-01 21:46:33 +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
d00af07660 The cothreads were not initialized in its thread context resulting in severe stack corruption. This was very hard to ...
Original commit message from CVS:
The cothreads were not initialized in its thread context resulting in
severe stack corruption. This was very hard to track down.
We should be able now to modify some plugins to a loop based setup so that
we can get rid of the mp3parse and mp1videoparse elements.
Modified the GList to a GSList in the queue.
2000-09-24 14:29:49 +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
Richard Boulton
41ad7a209b IDCT works, and ieeetest not complains nicely if attempt to run a test with an unsupported DCT type.
Original commit message from CVS:
IDCT works, and ieeetest not complains nicely if attempt to run a test
with an unsupported DCT type.
2000-09-21 01:42:19 +00:00
Richard Boulton
3bcccbf82e Make libs/idct only build mmx support if available - hopefully makes it compile on PPC.
Original commit message from CVS:
Make libs/idct only build mmx support if available - hopefully makes it
compile on PPC.
2000-09-21 01:34:34 +00:00
Richard Boulton
59030bfc59 Patch from Chris Emerson for PPC. cothreads stuff was causing segfaults, because the stack needs to be initialised w...
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.
2000-09-21 00:57:09 +00:00
Richard Boulton
f8666a569f Fix compile problem due to DEBUG being redefined in libs/getbits/gstgetbits.h. Also fix several small typos in the d...
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.
2000-09-18 22:19:57 +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
f7bace76aa Added check for vorbis.
Original commit message from CVS:
Added check for vorbis.
Really compile with Xv extension if the library is found.
Changed the disksrc so that is goes to the PAUSE state if eof.
2000-09-17 14:06:18 +00:00
Wim Taymans
0de050707a Information about the bonobo components and capplets we are going to make :-)
Original commit message from CVS:
Information about the bonobo components and capplets we are going to make :-)
2000-09-17 12:32:07 +00:00
Wim Taymans
2c42495cf0 Converted the mpeg2 encoder asm to gnu asm, removing the dependency of nasm
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.
2000-09-17 12:31:01 +00:00
Richard Boulton
5a7cbafdda More work porting to PPC. libs/winloader is disabled on PPC - I doubt this can be made to work.
Original commit message from CVS:
More work porting to PPC.
libs/winloader is disabled on PPC - I doubt this can be made to work.
libs/videoscale and libs/idct are also disabled - they should be fixable
though.

Sorted out most of the plugins - avi is disabled for now on PPC;
can be worked on later if there's any chance of getting it to work.

Also provide an automake conditional for compiling vorbis, based on a
configure test for the needed libraries: currently the test isn't
implemented and defaults to "no" so you'll have to fiddle it to compile
vorbis.  I shall get hold of vorbis and implement an appropriate test some
other time (if noone else beats me to it).
2000-09-16 23:11:05 +00:00
Richard Boulton
ac036272b9 Moved generic function implementations into gstgetbits_generic.c, and tidy up a bit.
Original commit message from CVS:
Moved generic function implementations into gstgetbits_generic.c, and
tidy up a bit.
2000-09-16 22:03:24 +00:00
Wim Taymans
ff99ee6132 Added a quick hack to allow loop based elements to finish intead of looping till infinity.
Original commit message from CVS:
Added a quick hack to allow loop based elements to finish intead of
looping till infinity.
Added compile time i386 or plain C getbits implementation selection.
The vorbis decoder now is our first loop based element!
2000-09-16 10:58:23 +00:00
Richard Boulton
11e8ef9074 More work towards a powerPC port, and towards generic portability.
Original commit message from CVS:
More work towards a powerPC port, and towards generic portability.
2000-09-16 00:59:12 +00:00
Richard Boulton
968b5acaa1 Fix on x86 architectures - was just checking for 386, D'oh.
Original commit message from CVS:
Fix on x86 architectures - was just checking for 386, D'oh.
Fix autogen to run autoheader _before_ autoconf, since it generates a
required file (config.h.in, which I just removed from CVS since its an
autogenerated one).  Also fix messed up variables in gst/Makefile.am
2000-09-15 23:04:31 +00:00
Richard Boulton
238bbc23c8 Begun to add support for non i386 architectures, with the help of Chris
Original commit message from CVS:
Begun to add support for non i386 architectures, with the help of Chris
Emerson.  Added bits to configure to figure out architecture, and added
some alternatives for PPC.  Should cause no problems on i386, but I'll
check after this commit, but doesn't yet work on PPC by a fair way...
2000-09-15 22:44:10 +00:00
Wim Taymans
3239d7cb0c The vorbis encoder
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!
2000-09-14 22:18:43 +00:00
Wim Taymans
8051d54c36 Due to popular demand :-), I added a vorbis decoder.
Original commit message from CVS:
Due to popular demand :-), I added a vorbis decoder.
The encoder is not yet functional.
Small cosmetic changes to gstcpu.c

Beware:
You *need* to install libvorbis.a from the main vorbis CVS.
you *have* to change the line in libtool to
deplibs_check_method="pass_all"
because else the plugin shared library refuses to link against the
static libvorbis.a library. This is a hack. I have no intention in
including libvorbis into the gstreamer CVS tree and making it
libtool compatible.
2000-09-14 20:31:03 +00:00
Wim Taymans
56e7d38238 Bring the low level API docs up to date.
Original commit message from CVS:
Bring the low level API docs up to date.
2000-09-13 19:04:55 +00:00
Wim Taymans
8d2a4dfbec Added CPU detection.
Original commit message from CVS:
Added CPU detection.
Added SSE optimisation to mpeg_play
Modified the mpeg2 decoder and gstidct to use cpu detection.
Cleanups in the mpeg1 and mpeg2 decoders.
2000-09-12 18:13:48 +00:00
Wim Taymans
2fa9336ace Images for the documantation
Original commit message from CVS:
Images for the documantation
2000-09-09 16:40:04 +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
23540ccc52 Faster and modular getbits implementation.
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.
2000-09-07 20:35:15 +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
fa4a4319f0 A first (rude) attempt at autoplug.
Original commit message from CVS:
A first (rude) attempt at autoplug.
Autoplugging selects appropriate codecs to connect src to sink, adds
them to the pipeline and connect pads.
Autoplugging will run the typedetect plugin if the src pad has no MIME
type.
No autoplugging is done on the src and sink pads, it's hardcoded:
connect 'src to sink'.
No attempt at creating threads.
No attempt at dynamically autoplugging not yet existing pads.
Changes to (some) plugins to properly set their MIME types.
2000-08-21 21:20:38 +00:00