Commit graph

171 commits

Author SHA1 Message Date
Thomas Vander Stichele
4efc300279 changing error signal add error codes and domains
Original commit message from CVS:
changing error signal
add error codes and domains
2004-01-18 21:36:20 +00:00
David Schleef
09012ae0da gst/: Change GstBuffer private structure element names. (all files)
Original commit message from CVS:
* gst/elements/gstfilesrc.c: (gst_filesrc_free_parent_mmap),
(gst_filesrc_map_region):
* gst/gstbuffer.c: (_gst_buffer_initialize),
(_gst_buffer_sub_free), (gst_buffer_default_copy),
(gst_buffer_new), (gst_buffer_create_sub),
(gst_buffer_is_span_fast), (gst_buffer_span):
* gst/gstbuffer.h:
Change GstBuffer private structure element names. (all files)
* gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
(gst_queue_link):
* gst/gstqueue.h:
Implement getcaps/pad_link functions that handle the case where
there are data in the queue.
2004-01-11 22:11:35 +00:00
Benjamin Otte
de60fbda38 gst/gstutils.h: GST_PARENT_CALL and
Original commit message from CVS:
2004-01-08  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstutils.h:
Add GST_BOILERPLATE(_FULL), GST_PARENT_CALL and
GST_PARENT_CALL_WITH_DEFAULT
* gst/elements/gstaggregator.c:
* gst/elements/gstbufferstore.c:
* gst/elements/gstfakesink.c:
* gst/elements/gstfakesrc.c:
* gst/elements/gstfdsink.c:
* gst/elements/gstfdsrc.c:
* gst/elements/gstfilesink.c:
* gst/elements/gstfilesrc.c:
* gst/elements/gstidentity.c:
* gst/elements/gstmd5sink.c:
* gst/elements/gstmultidisksrc.c:
* gst/elements/gstpipefilter.c:
* gst/elements/gstshaper.c:
* gst/elements/gststatistics.c:
* gst/elements/gsttee.c:
* gst/elements/gsttypefindelement.c:
use them.
2004-01-08 04:10:18 +00:00
Benjamin Otte
17b132c9b3 and remove that debugging g_print - sheesh
Original commit message from CVS:
and remove that debugging g_print - sheesh
2003-11-24 21:38:54 +00:00
Benjamin Otte
63b0509428 send correct buffer offset after seek
Original commit message from CVS:
send correct buffer offset after seek
2003-11-24 21:36:59 +00:00
Benjamin Otte
25f85868d4 implement URI schemes
Original commit message from CVS:
implement URI schemes
Elements can now register as a source or sink for a protocol and applications can use gst_element_make_from_uri () to get an element that handles a given URI.
This patch provides:
- removal of old broken URI handling scheme.
- new URI handling using interfaces.
- updates for registry to save handled URIs.
- interface for URI handlers.
- implementation of that in filesrc and filesink for the file:// URI
- extension to pipeline parsing to allow specifying only a URI instead of element

Does not include:
- tests
- inclusion in docs build
2003-11-24 03:21:54 +00:00
Benjamin Otte
6402b4730b always check file length before making decisions based on it
Original commit message from CVS:
always check file length before making decisions based on it
2003-11-17 01:11:32 +00:00
Benjamin Otte
907e3e97d9 update plugin initialization restructuring (see email for details
Original commit message from CVS:
update plugin initialization restructuring (see email for details
2003-10-31 19:32:47 +00:00
Benjamin Otte
3235f1d4c0 merge TYPEFIND branch. Major changes:
Original commit message from CVS:
merge TYPEFIND branch. Major changes:
- totally reworked type(find) system
- bytestream is out of the core again
- typefind element is now part of gstelements
2003-10-28 20:25:30 +00:00
Andy Wingo
31d748d332 s/GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488. Also inc...
Original commit message from CVS:
s/GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488. Also includes scheduler patches, and probably fixes some queue bugs relating to events and buffers.
2003-10-08 16:06:02 +00:00
David Schleef
b2334b319c Fix assumption that size_t is int
Original commit message from CVS:
Fix assumption that size_t is int
2003-09-24 19:27:02 +00:00
Thomas Vander Stichele
c4c3c998df reverting error patches before making a branch.
Original commit message from CVS:
reverting error patches before making a branch.
2003-09-16 09:57:31 +00:00
Benjamin Otte
be1eaa4de3 implement translatable error messages using gerror.
Original commit message from CVS:
implement translatable error messages using gerror.

Includes bugfixes for:
- crash when unlinking Ghostpads
- make *_PAD_* macros use glib casts
- make spider typefinding merge buffers correctly
2003-09-14 19:49:32 +00:00
David Schleef
8f36390eda Implement read() as a fallback method if mmap() fails. Fixes #117786
Original commit message from CVS:
Implement read() as a fallback method if mmap() fails.  Fixes #117786
2003-07-30 00:44:58 +00:00
Benjamin Otte
803ce6bf48 GST_DEBUG reorganization containing loads of stuff:
Original commit message from CVS:
GST_DEBUG reorganization
This is a big diff (ca 450k), containing loads of stuff:
- gstinfo.[ch] complete rewrite
- changing of all GST_DEBUG messages to reflect that change
- reorganization of subsystem disabling
- addition of gstconfig.h.in so we can track the disablings
- <gst/gst.h> does not include <unistd.h> and <config.h> anymore
- documentation updated for gstinfo stuff (build the docs yourself to know what changed)
- bugfixes for making of the docs (files from CVS are not deleted anymore
- testsuite for debugging changes in testsuite/debug

expect breakage
2003-06-29 14:05:49 +00:00
Wim Taymans
6ab1630c40 - First attempt at implementing #113180, this one also removes automatic (byte) offset calculations in the subbuffer ...
Original commit message from CVS:
- First attempt at implementing #113180, this one also removes
automatic (byte) offset calculations in the subbuffer code and moves
that logic to bytestream and filesrc. It will also update the offset
and duration fields in some special cases.
2003-05-24 10:09:39 +00:00
Benjamin Otte
7524c49140 offsets may be negative (nobody ever seeked beackwards, hu?)
Original commit message from CVS:
offsets may be negative (nobody ever seeked beackwards, hu?)
2003-04-28 21:48:37 +00:00
David Schleef
393033c6fa Convert %lld and %llu in printf formats to G_G[U]INT64_FORMAT. Fix pointer<->int conversion. Fixes warnings on alpha.
Original commit message from CVS:
Convert %lld and %llu in printf formats to G_G[U]INT64_FORMAT.  Fix
pointer<->int conversion.  Fixes warnings on alpha.
2003-02-01 20:29:27 +00:00
David I. Lehn
4ec698fa6c remove redundant flag set
Original commit message from CVS:
remove redundant flag set
2003-01-03 23:33:57 +00:00
Wim Taymans
347505bcb9 - major API breakage (one of the last, I promise...)
Original commit message from CVS:
- major API breakage (one of the last, I promise...)
- GST_PAD_QUERY -> GST_QUERY
- GstPadQuery -> GstQuery
- Move query definitions to gstquery.h to allow for future dynamic
query types.
- remove _pad_handles_* in favour of extra format/event functions to
make the same checks.
- fix elements
- Implemented missing query/event/formats functions in gstelement
2002-12-30 17:42:11 +00:00
Wim Taymans
155369d80c Added pad_query with percent format on filesrc and some constants
Original commit message from CVS:
Added pad_query with percent format on filesrc and some constants
2002-12-22 14:03:09 +00:00
Thomas Vander Stichele
7c84581a90 patch from brian cameron for iso c compliance
Original commit message from CVS:
patch from brian cameron for iso c compliance
2002-12-18 21:44:57 +00:00
Wim Taymans
d8dc45098d Better debugging
Original commit message from CVS:
Better debugging
2002-12-08 20:09:42 +00:00
Wim Taymans
a2f011e446 A little more debugging info and error checking
Original commit message from CVS:
A little more debugging info and error checking
2002-12-08 16:43:27 +00:00
Wim Taymans
c925bc7de0 Small cleanups
Original commit message from CVS:
Small cleanups
2002-11-27 23:14:33 +00:00
Wim Taymans
12490346d0 Small cleanups, more descriptive properties
Original commit message from CVS:
Small cleanups, more descriptive properties
2002-11-21 23:52:30 +00:00
Wim Taymans
e09a7f841a Better error recovery when the mmap fails.
Original commit message from CVS:
Better error recovery when the mmap fails.
2002-11-20 21:31:05 +00:00
Wim Taymans
7eda531ad0 Removed annoying notify messages and removed properties that are better handled with query
Original commit message from CVS:
Removed annoying notify messages and removed properties that are
better handled with query
2002-11-02 13:25:18 +00:00
Andy Wingo
7820d80e33 adding ::license field to core plugins
Original commit message from CVS:
adding ::license field to core plugins
2002-09-29 17:52:31 +00:00
Wim Taymans
f332559461 Use fancy macros
Original commit message from CVS:
Use fancy macros
2002-07-30 19:19:15 +00:00
Wim Taymans
e3c9576f3c Fix some wrong prototypes and funtion args
Original commit message from CVS:
Fix some wrong prototypes and funtion args
2002-07-28 01:06:16 +00:00
Wim Taymans
6db19b953c - Implemented seekmasks, query types and formats in various plugins
Original commit message from CVS:
- Implemented seekmasks, query types and formats in various plugins
- use GST_PAD_IS_USABLE if possible
2002-07-24 21:08:43 +00:00
Wim Taymans
e9f84e2738 - Documentation updates, renamed some _ methods because gtkdoc didn't want to generate docs for them.
Original commit message from CVS:
- Documentation updates, renamed some _ methods because gtkdoc didn't
want to generate docs for them.
- Add some more events for future use.
2002-07-13 23:12:22 +00:00
Wim Taymans
fcb10a6c85 - Removed bufferpool code and move that to gstbuffer.c
Original commit message from CVS:
- Removed bufferpool code and move that to gstbuffer.c
- implemented refcounting on GstData
- implemented new buffer code based on Company's work in the EVENTS2 branch
- added boxed types for GstData/GstEvent/GstBuffer/GstBufferPool
- added refcounting to bufferpools and events
- use lockfree allocation for buffers
- simplified the clock, use lockfree allocation
- use GQueue in GstQueue for faster access to the tail element
- update core plugins to the new event API
2002-07-08 19:22:02 +00:00
Wim Taymans
23dbddcd2c Don't seek past the end of the file
Original commit message from CVS:
Don't seek past the end of the file
Fix a bug where the mapend was incorrectly calculated when we read past
the end of the file.
2002-06-22 09:23:40 +00:00
Wim Taymans
9286f126e2 Added a size event to optimize buffer sizes make filesrc update its blocksize when it receives a size event
Original commit message from CVS:
Added a size event to optimize buffer sizes
make filesrc update its blocksize when it receives a size event
2002-06-13 22:27:40 +00:00
Wim Taymans
c8e8981be8 Documentation updates
Original commit message from CVS:
Documentation updates
Make spider forward bufferpools
Remove some old registry code
2002-06-12 22:26:36 +00:00
Steve Baker
075ca64022 file is opened in ready->paused rather than null->ready. this makes it easier to set the location more than once
Original commit message from CVS:
file is opened in ready->paused rather than null->ready. this makes it easier to set the location more than once
2002-06-07 19:32:53 +00:00
Wim Taymans
9940947219 Remove crappy event code from tee
Original commit message from CVS:
Remove crappy event code from tee
Some more debugging info in filesrc
2002-05-31 21:36:11 +00:00
Wim Taymans
6f96a24d2e - The clock_wait now returns the difference between requested time and unlock time.
Original commit message from CVS:
- The clock_wait now returns the difference between requested time and
unlock time.
- Misc defines like GST_SECOND in gstclock.h
- remove pre/post in gstelement.c until fixed.
- added release_locks to gstelement so that the element can unlock itself
- added some more predefined events.
- added folowing functions to gstpad:
- convert function: get the relation between formats on this pad
- query function: get stats about the pad (position/total/latency)
- internal connect function: find out how this pad connects to other
pad internally to the element.
- generic pad_dispatcher.
- removed the last bits of pullregion
- use release_locks on the queue.
- added some events to queue
- make gstthread use the new release_locks function
- make the scheduler use the new clock_wait functions
- added events to fakesink
- added query functions to filesrc
- swap type and offset in the bytestream seek API to match fseek
- added some event handling in bytestream.
2002-05-26 21:54:27 +00:00
David I. Lehn
37d29b584f formatting
Original commit message from CVS:
formatting
2002-05-14 00:40:15 +00:00
Wim Taymans
086de421dc Totally rewritten registry handling.
Original commit message from CVS:
Totally rewritten registry handling.
- move the registry save/load code into a gstregistry subclass, this
will make it possible to use other registries (flat file, web based,
RDBMS type, etc..)
- a simple GMarkup xml registry is implemented
- use standard statically linked plugins for core elements.
- GstPlugin has a very well defined set of functions now
A little bytestream hack..
Added more info to -inspect.
Some more debugging info for clocking.
Small cleanups

I use ./gst-register --gst-plugin-path=/opt/src/sourceforge/gst-plugins/gst-libs:/opt/src/sourceforge/gst-plugins/
to register core and gst-plugins now.
2002-05-08 20:40:48 +00:00
Wim Taymans
c14adca257 Fix a compile error.
Original commit message from CVS:
Fix a compile error.
2002-04-03 06:27:25 +00:00
jim thornton
7fb5bcfdff Buffer flag symbols are enum values, so |'ing together doesn't do the right thing, must use GST_BUFFER_FLAG_SET macro
Original commit message from CVS:
patch from jim thornton <jthornton@parc.com>:

Buffer flag symbols are enum values, so |'ing together doesn't do the right
thing, must use GST_BUFFER_FLAG_SET macro
2002-04-02 16:33:21 +00:00
Andy Wingo
cfb228b0f9 add notify back to filesrc, it's needed for MVC applications remove notify printouts from gst-launch cleanup in gst-p...
Original commit message from CVS:
* add notify back to filesrc, it's needed for MVC applications
* remove notify printouts from gst-launch
* cleanup in gst-plugins configure.ac
* some jack updates
* remove SELF_ITERATING flag in favor of SEF_SCHEDULABLE (not a clear name,
but it's what we have for the moment)
* improve parsing of request pad names, no more sscanf
* fixes to the fastscheduler Makefile.am
2002-03-30 19:31:14 +00:00
Wim Taymans
f0326eea55 - Remove the propsprivate header file
Original commit message from CVS:
- Remove the propsprivate header file
- Added new API for properties.
- Moved the clock distribution to the scheduler.
- Removed the lock from GstCaps
- Added boxed types for Caps/Props
- Simplified the clock, new systemclock implementation
- Removed deprecated element_info/send_event functions
- First step at exposing more info in the pad_connect functions
- Queue cleanup
- Make the scheduler aware of other schedulers inside it
- Added the _SELF_SCHEDULABLE flag to gstthread
- Removed _get_widget from _utils, changed to new props API
- Make fakesink sync on timestamps when requested
- Removed the offset notify from filesrc
- Added a fast scheduler
- some scheduler cleanups.
2002-03-30 17:05:03 +00:00
Andy Wingo
ed9b628168 filter newlines out of GST_DEBUG statements to reflect new core behavior fixes to adder's caps, again
Original commit message from CVS:
* filter newlines out of GST_DEBUG statements to reflect new core behavior
* fixes to adder's caps, again
2002-03-24 22:07:09 +00:00
Andy Wingo
a43fadec2e s/gst_element_install_std_props/gst_element_class_install_std_props/ -- it just makes more sense that way added jack ...
Original commit message from CVS:
* s/gst_element_install_std_props/gst_element_class_install_std_props/ -- it just makes more sense that way
* added jack element, doesn't quite work right yet but i didn't want to lose the work -- it does build, register,
and attempt to run though
* imposed some restrictions on the naming of request pads to better allow for reverse parsing
* added '%s' to reverse parsing
* added new bin flag to indicate that it is self-iterating, and some lame code in gst-launch to test it out
* fixen on launch-gui
* added pkg-config stuff for the editor's libs
2002-03-18 04:41:37 +00:00
Andy Wingo
0c6802533c document gst_caps_debug change gst_caps_debug to accept a label argument, assists greatly in debugging capsnego bette...
Original commit message from CVS:
* document gst_caps_debug
* change gst_caps_debug to accept a label argument, assists greatly
in debugging capsnego
* better names from gst_object_name_default
* some more debugging in gstpad.c
* require caps to match padtemplates on both side of a connection
* gstspider uses default naming so that names are globally unique
* moved filesrc offset arg to the top -- show up first in a prop list.
in the future we should have flags on props indicating which ones
it might be interesting for the end-user to change.
* initialize cothreads in the more standard way, and provide some more debugging
2002-03-03 00:44:41 +00:00
Benjamin Otte
5efa475181 initial checkin for the deep_notify signal which replaces INFO events in the long run.
Original commit message from CVS:
initial checkin for the deep_notify signal which replaces INFO events in the long run.
PLEASE do not use gst_element_[info,message,error] anymore. Use g_object_notify instead.
Thank you.
2002-02-05 21:11:43 +00:00
Wim Taymans
f0e4bd3b5c Make filesrc respond to seek
Original commit message from CVS:
Make filesrc respond to seek
2002-02-02 13:24:25 +00:00
Wim Taymans
5290fba98d Do the right thing on SET/CUR/END seek types.
Original commit message from CVS:
Do the right thing on SET/CUR/END seek types.
2002-01-26 18:28:55 +00:00
Martin Enlund
7b1d5c7abd Previously filesrc would segfault when fed with the name of a directory.
Original commit message from CVS:
Previously filesrc would segfault when fed with the name of a directory.
Added check to ensure that the given file is a regular file.
2002-01-15 22:33:15 +00:00
Wim Taymans
90355128b5 - Removed deprecated buffer flags.
Original commit message from CVS:
- Removed deprecated buffer flags.
- removed gst_element_signal_eos, replaced with gst_element_set_eos
to set the object to PAUSED, signal an eos event etc..
- small updates to documentation
- repair some plugins
2001-12-28 20:20:26 +00:00
Wim Taymans
01d2b54b37 Fix cleanup for filesrc
Original commit message from CVS:
Fix cleanup for filesrc
2001-12-28 15:19:38 +00:00
Wim Taymans
087dee1f62 This is an attempt at not segfaulting on errors but reporting some usefull info instead.
Original commit message from CVS:
This is an attempt at not segfaulting on errors but reporting some
usefull info instead.
- bin changes so errors can propagate.
- changed the _FAST macros to _CAST because that is what they do.
- removed all references to cothreads out of the core, they are
really a scheduler issue, handler with a sched_private gpointer.
- added a live buffer count, for debugging buffer leaks.
- added error checking in gst_scheduler_state_transition this solves the
"out of cothreads" problem.
- GST_ELEMENT_NO_ENTRY == GST_ELEMENT_INFINITE_LOOP
- added 2 private element flasg for use by the scheduler
(_COTHREAD_STOPPING) is now
- added scheduler entry points:
- _yield : to create possible scheduling points.
- _interrupt: to stop execution of an element.
- _error: to signal en error condition to the scheduler.
- improved error messages for pads.
- signal gst_element_error where appropriate.
- added the a new bin to the parent before entering it so one can reference
its children.
- queue memleak fixes on dispose.
- added possible deadlock detection in queue (turned off be default)
- GstBasicScheduler is a real class of its own now, hiding its internal
variables.
- GST_ELEMENT_IS_COTHREAD_STOPPING is gone. either call explicit _yield
operations, or make a sane loop.
- Better state change handling in filesrc. Better error reporting/recovery
too.
- updated core plugins.
- detect non decoupled elements on scheduler boundries and error.
2001-12-22 21:18:17 +00:00
Wim Taymans
9a011a79c0 Reset the offset when going to READY
Original commit message from CVS:
Reset the offset when going to READY
2001-12-18 16:54:11 +00:00
Christian Schaller
7886394507 more of the popular // fixes
Original commit message from CVS:
more of the popular // fixes
2001-12-17 18:14:51 +00:00
Wim Taymans
cbe353a146 Added en axtra include for sys_errlist
Original commit message from CVS:
Added en axtra include for sys_errlist
2001-12-15 22:59:24 +00:00
Wim Taymans
04b1c69ce1 Don't wrtie to the page we have mmaped read only.
Original commit message from CVS:
Don't wrtie to the page we have mmaped read only.
2001-12-14 12:15:27 +00:00
Wim Taymans
e2cb41fed8 More Michael fixage
Original commit message from CVS:
More Michael fixage
2001-12-13 23:37:47 +00:00
Andy Wingo
e4bba88ae9 minor typographical change to autogen added --with-html-dir option to configure more robust docbook checks convert to...
Original commit message from CVS:
* minor typographical change to autogen
* added --with-html-dir option to configure
* more robust docbook checks
* convert to standard docbook makefiles, at least for the gst/ directory
* added filesrc.h so that docbook can know about filesrc
* updated -sections.txt because docbook is incredibly stupid and requires that at
least one of the lines between <section> and </section> is not an entity
* first pass at possible getting the docs to build on glib2, untested
2001-12-12 06:08:44 +00:00
Wim Taymans
5e85a8eb03 Added 64 bit support to filesrc and a gtk+ shim (mapped to ulong unfortunatly) as per vishnus patch.
Original commit message from CVS:
Added 64 bit support to filesrc and a gtk+ shim (mapped to ulong
unfortunatly) as per vishnus patch.
2001-10-22 19:13:24 +00:00
Wim Taymans
eb2791d210 GSearchFunc seems to be glib1.2 only so it was replaced with
Original commit message from CVS:
GSearchFunc seems to be glib1.2 only so it was replaced with
GCompareFunc again.
2001-10-22 13:37:50 +00:00
Wim Taymans
55515f8433 Some compiler warning removed.
Original commit message from CVS:
Some compiler warning removed.
Updated the event handler in filesrc.
2001-10-21 21:58:29 +00:00
Erik Walthinsen
c352836abe added another madvise and wrapped them in #ifdef's so they don't break systems without MADV_*
Original commit message from CVS:
added another madvise and wrapped them in #ifdef's so they don't break systems without MADV_*
2001-10-17 20:57:53 +00:00
Erik Walthinsen
d574ab8126 merge from EVENTS1 on 20011016
Original commit message from CVS:
merge from EVENTS1 on 20011016
2001-10-17 10:21:27 +00:00
Joshua N. Pritikin
4934137e0c comment out unsupressable debugging foo
Original commit message from CVS:
comment out unsupressable debugging foo
2001-09-14 22:13:55 +00:00
Erik Walthinsen
c6a04366a3 gstinfo.[ch], cothreads.c: added initial support for -finstrument_functions gstbin.c: removed a reference to config.h...
Original commit message from CVS:
gstinfo.[ch], cothreads.c: added initial support for -finstrument_functions
gstbin.c: removed a reference to config.h
gstbuffer.[ch]: added gst_buffer_is_span_fast(), used it in gst_buffer_span
elements/gstfilesrc.c: initial work fleshing out the event handling code

everywhere else: wrapped XML stuff in #ifndef's
2001-09-10 19:46:01 +00:00
Erik Walthinsen
e0653beb7f added more properties, added a 'touch' feature
Original commit message from CVS:
updated filesrc to gobject (oops), added more properties, added a 'touch' feature
2001-08-22 19:54:08 +00:00
Erik Walthinsen
8f55a3b61f added new gstfilesrc to replace disksrc eventually
Original commit message from CVS:
added new gstfilesrc to replace disksrc eventually
2001-08-22 04:30:27 +00:00