Commit graph

204 commits

Author SHA1 Message Date
Erik Walthinsen e40c284572 README and the beginning of the first code-review. Here's the README:
Original commit message from CVS:
README and the beginning of the first code-review.  Here's the README:

Code reviews:
=============

Files are to be named by file or subsystem, and CVS revision number or date:

gstbin.c-1.41
editor-20001216

A file should look something like the following:

----------------------------------------------------------------------
Code Review
===========
File: gst/gstbin.c
Revision: 1.41
Date: Dec 16, 2000
Reviewer: Erik Walthinsen <omega@cse.ogi.edu>


-----
Line 20:
#define GST_DEBUG_ENABLED

Shouldn't be here, DEBUG should be enabled globally.  May leave until
scheduling changes are done.


-----
Line 117: (gst_bin_class_init)
gstelement_class->elementfactory =    gst_elementfactory_find("bin");

Not sure this is such a great idea.  I thought the GstElement code did this
kind of stuff?

----------------------------------------------------------------------

The format will evolve as we do more stuff, such as putting in fields for
recommended actions, comments regarding any later changes made and when, etc.
2000-12-17 06:26:30 +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
Erik Walthinsen 1ba6c1b526 First few TODO items to be done after 0.1.0 (i.e. in 2001)
Original commit message from CVS:
First few TODO items to be done after 0.1.0 (i.e. in 2001)
2000-12-13 21:42:19 +00:00
Wim Taymans 196c67d7ff Changed the GstPadFactory and added the GstPadTemplate.
Original commit message from CVS:
Changed the GstPadFactory and added the GstPadTemplate.

The GstPadFactory is an easy way to define a pad with capabilities.
The GstPadFactory is converted into a GstPadTemplate. The template is
used to create new pads and to expose the possible pads used in an
element to the plugin system.

updated mp3parse, mpg123, cdparanoia to the new API.
Rerun gstreamer-register because the XML definition has changed.
2000-12-13 19:29:35 +00:00
Wim Taymans 97fc2e9f07 Added a document about how we handle plugins and dynamic loading.
Original commit message from CVS:
Added a document about how we handle plugins and dynamic loading.
2000-12-12 19:31:00 +00:00
Wim Taymans 06913f27c3 Added some capability options
Original commit message from CVS:
Added some capability options
2000-12-04 19:24:25 +00:00
Erik Walthinsen 16834308e7 First pass at an outline for the Filter Writer's Guide. Mostly complete, though the structure needs some work. Just...
Original commit message from CVS:
First pass at an outline for the Filter Writer's Guide.  Mostly complete,
though the structure needs some work.  Just need someone to write it ;-)
2000-12-02 10:07:50 +00:00
Wim Taymans f2128112c3 Another type system proposal.
Original commit message from CVS:
Another type system proposal.
2000-11-30 20:30:45 +00:00
Wim Taymans 1eb3884bc6 Added the type system design.
Original commit message from CVS:
Added the type system design.
2000-11-26 19:11:00 +00:00
Wim Taymans 933bf32b3f More ramblings..
Original commit message from CVS:
More ramblings..
2000-11-25 18:13:26 +00:00
Wim Taymans a588e5748b Another alternative to the src. Please correct.
Original commit message from CVS:
Another alternative to the src. Please correct.
2000-11-25 16:45:16 +00:00
Wim Taymans d8e23920eb Added asci art control flow diagrams
Original commit message from CVS:
Added asci art control flow diagrams
2000-11-25 16:00:39 +00:00
Wim Taymans 26a69ef7f8 Code Cleanups
Original commit message from CVS:
Code Cleanups
Added use cases for the source elements.
2000-11-25 14:18:47 +00:00
Wim Taymans 92c447c536 Reworked AC3 decoder. No seeking yet but at least we do not need ac3parse anymore.
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.
2000-11-20 19:04:32 +00:00
Wim Taymans ef31aa64e8 Docs updates.
Original commit message from CVS:
Docs updates.
Added LICENSE info to headers/code where missing in gst directory
Added a bonobo wrapper for the media player (it shows up in gshell but
locks up when activating the component, anyone?)
Fixed some XML save/load problems with arguments.
2000-11-11 15:13:50 +00:00
Wim Taymans 4454f1f2a2 Library docs update
Original commit message from CVS:
Library docs update
2000-11-07 21:38:34 +00:00
Wim Taymans 092db54409 I'm too lazy to comment this
Original commit message from CVS:
*** empty log message ***
2000-11-07 21:24:12 +00:00
Wim Taymans e990c2c7d5 Updated docs
Original commit message from CVS:
Updated docs
2000-11-07 21:18:52 +00:00
Wim Taymans c69c6914c9 Missing files..
Original commit message from CVS:
Missing files..
2000-10-30 21:10:35 +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
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
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
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 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 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
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 2fa9336ace Images for the documantation
Original commit message from CVS:
Images for the documantation
2000-09-09 16:40:04 +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 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 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
Wim Taymans 78a7023543 More manual about MIME types and factories...
Original commit message from CVS:
More manual about MIME types and factories...
2000-08-19 16:36:24 +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
Wim Taymans 6661696de0 Various fixes for the build/install problems update to the docs/manual. Added a simple helloworld example.
Original commit message from CVS:
Various fixes for the build/install problems
update to the docs/manual. Added a simple helloworld example.
2000-08-18 20:35:48 +00:00
Wim Taymans aca33a2b4a The book is not published yet... :-)
Original commit message from CVS:
The book is not published yet... :-)
2000-08-17 06:18:59 +00:00
Wim Taymans 531c23d0dd Ignore the png images; they are supposed to be build by the Makefile.
Original commit message from CVS:
Ignore the png images; they are supposed to be build by the Makefile.
2000-08-16 21:40:30 +00:00
Wim Taymans 018a6f381b First draft of Chapter 1 (introduction) and Chapter 2 (basic concepts) of the GStreamer manual.
Original commit message from CVS:
First draft of Chapter 1 (introduction) and Chapter 2 (basic concepts)
of the GStreamer manual.
2000-08-16 21:38:57 +00:00
Wim Taymans d6e6b9cb60 Build fixes.
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.
2000-08-14 15:17:24 +00:00
Erik Walthinsen b6d31c1c72 Megapatch, changes which states are available, how they're used, and how they're set. Also modifies the scheduling s...
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.
2000-07-17 17:14:15 +00:00
Wim Taymans 9920b88c3f This is the audio/video sync release.
Original commit message from CVS:
This is the audio/video sync release.
Changed the mpegvideoparser to parse complete pictures. Added the PTS
timestamps to the pictures.
Added PTS timestamps to the MPEG audio frames.
Made the clock a littlebit better.
Gstplay now uses two more threads one for video, one for audio playback.
Added the first QoS callbacks for the pads.
hopefully fix an mmx compilation problem.
2000-07-12 22:52:42 +00:00
Wim Taymans 49899cf0d8 Added gstreamer.types to the .cvsignore
Original commit message from CVS:
Added gstreamer.types to the .cvsignore
2000-05-21 22:00:41 +00:00
Wim Taymans 8f2b441e96 Fixed the mpeg2 encoder. Added MMX optimisations for motion estimation.
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.
2000-05-21 21:58:20 +00:00
Richard Boulton 1c6911d307 Make GDK pixbuf optional, by compiling videosink only if it is present.
Original commit message from CVS:
Make GDK pixbuf optional, by compiling videosink only if it is present.
Make documentation generated successfully even if libghttp isn't present
(by skipping the ghttpsrc stuff).
2000-05-12 07:15:03 +00:00
Wim Taymans 8b8574407e Fixed some build errors.
Original commit message from CVS:
Fixed some build errors.
2000-05-01 23:22:04 +00:00
Wim Taymans a3443b51d5 Unified getbits handling. I currently have an inline integer implementation.
Original commit message from CVS:
Unified getbits handling. I currently have an inline integer implementation.
2000-04-16 18:47:45 +00:00
Wim Taymans bf8c785fb0 Documentation updates. All standard library objects and standard elements are documented. Modified some of the elemen...
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)
2000-03-27 19:53:43 +00:00
Erik Walthinsen 65e7c2e158 More documentation changes, a couple configure.in and Makefile.am fixes.
Original commit message from CVS:
More documentation changes, a couple configure.in and Makefile.am fixes.
2000-02-02 06:26:44 +00:00
Wim Taymans ffd6d98e9d Try to compile a little mmx program, set the default value of HAVE_LIBMMX. some typos fixed. Changed include path for...
Original commit message from CVS:
Try to compile a little mmx program, set the default value of HAVE_LIBMMX.
some typos fixed. Changed include path for volume.c. RTjpeg uses mmx.h
2000-02-01 19:40:10 +00:00
Erik Walthinsen 56a79fbfcc Re- set up the gtk-doc system. I'd managed to mutilate it a while back, but now it's fixed. I'll put a copy of the ...
Original commit message from CVS:
Re- set up the gtk-doc system.  I'd managed to mutilate it a while back,
but now it's fixed.  I'll put a copy of the HTML output somewhere on the
website tonight.

In order to actually generate the docs, you'll have to install all the
DocBook tools, as well as gtk-doc from GNOME cvs.  (see
http://developer.gnome.org/arch/doc/tools.html)

Notes (I'll codify these some day):

- Don't believe the Gnome page, always edit the SOURCES when documenting a
given function, never the tmpl file.
- I'll be re-arranging things a lot, but gtk-doc is smart enough to merge
any changes to the tmpl file.  However, gtk-doc's merge and CVS's diff are
two entirely separate animals.  We should probably have a virtual mutex on
the entire docs/gst/ directory, over and above what CVS does.
- I'm going to try to end up with a book set (docbook terms), where
docs/gst/ is only one book.  There'd be another called docs/manual/, and
another docs/plugins/, etc.  If you have any comments as to how these
should be done, gstreamer-devel is the place.
2000-02-01 09:16:43 +00:00
Erik Walthinsen af38527ad1 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 cours...
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).
2000-01-31 03:36:35 +00:00
Erik Walthinsen 0ec400890c initial checkin
Original commit message from CVS:
initial checkin
2000-01-30 10:44:33 +00:00