Commit graph

962 commits

Author SHA1 Message Date
Wim Taymans
87835a9628 gst/elements/gsttypefindelement.c: Push the buffer store instead of clearing it in case that the stream is not seekable.
Original commit message from CVS:
* gst/elements/gsttypefindelement.c: (stop_typefinding):
Push the buffer store instead of clearing it in case that
the stream is not seekable.
2004-10-06 11:59:01 +00:00
Thomas Vander Stichele
c06e12f42f configure.ac
Original commit message from CVS:
configure.ac
2004-10-05 08:52:37 +00:00
Thomas Vander Stichele
e45b8c2be6 fix typefind discont handling, #153657
Original commit message from CVS:
fix typefind discont handling, #153657
2004-09-26 17:48:05 +00:00
Wim Taymans
5d2684999f gst/elements/: Added datarate properties to limit the datarate.
Original commit message from CVS:
* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
(gst_fakesrc_init), (gst_fakesrc_set_clock),
(gst_fakesrc_set_property), (gst_fakesrc_get_property),
(gst_fakesrc_get), (gst_fakesrc_change_state):
* gst/elements/gstfakesrc.h:
* gst/elements/gstidentity.c: (gst_identity_class_init),
(gst_identity_init), (gst_identity_chain),
(gst_identity_set_property), (gst_identity_get_property),
(gst_identity_change_state):
* gst/elements/gstidentity.h:
Added datarate properties to limit the datarate.
2004-09-03 11:40:35 +00:00
Benjamin Otte
7fb1f1901f gst/: s/gst_pad_new/&_from_template/ register pad templates in the base_init function add static pad template definit...
Original commit message from CVS:
* gst/autoplug/gstspideridentity.c:
(gst_spider_identity_request_new_pad):
* gst/elements/gstaggregator.c: (gst_aggregator_base_init),
(gst_aggregator_init):
* gst/elements/gstfakesink.c: (gst_fakesink_base_init),
(gst_fakesink_init):
* gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
(gst_fakesrc_init):
* gst/elements/gstfdsink.c: (gst_fdsink_base_init),
(gst_fdsink_init):
* gst/elements/gstfdsrc.c: (gst_fdsrc_base_init), (gst_fdsrc_init):
* gst/elements/gstfilesink.c: (gst_filesink_base_init),
(gst_filesink_init):
* gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
(gst_filesrc_init):
* gst/elements/gstidentity.c: (gst_identity_base_init),
(gst_identity_init):
* gst/elements/gstmultifilesrc.c: (gst_multifilesrc_base_init),
(gst_multifilesrc_init):
* gst/elements/gstpipefilter.c: (gst_pipefilter_base_init),
(gst_pipefilter_init):
* gst/elements/gststatistics.c: (gst_statistics_base_init),
(gst_statistics_init):
* gst/elements/gsttee.c: (gst_tee_base_init), (gst_tee_init):
* gst/gstqueue.c: (gst_queue_base_init), (gst_queue_init):
s/gst_pad_new/&_from_template/
register pad templates in the base_init function
add static pad template definitions
2004-08-17 14:11:23 +00:00
Benjamin Otte
3d53a08118 gst/elements/gstfilesrc.c: work with non-regular files that can be mmapped (like /dev/zero)
Original commit message from CVS:
* gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
work with non-regular files that can be mmapped (like /dev/zero)
* gst/elements/gsttypefindelement.c: (gst_type_find_element_chain):
get rid of typefinds that require a seek when we can't seek instead
of trying them over and over again
* tools/gst-launch.c: (idle_func), (error_cb), (main):
return non-zero failure value when the pipeline was interrupted or
an error occurred
2004-08-12 09:12:13 +00:00
Benjamin Otte
6788d167d6 gst/elements/gstfilesrc.c: make seek events to before start/after end of file not fail, but seek to start/end instead
Original commit message from CVS:
* gst/elements/gstfilesrc.c: (gst_filesrc_open_file),
(gst_filesrc_srcpad_event):
make seek events to before start/after end of file not fail, but
seek to start/end instead
* testsuite/caps/fraction-convert.c: (check_from_double_convert):
add more output
2004-07-29 15:34:25 +00:00
David I. Lehn
3030cec8b5 Fix binary compatibility with 0.8.{0-3}. Closes bug 148692.
Original commit message from CVS:
Fix binary compatibility with 0.8.{0-3}.  Closes bug 148692.
2004-07-28 15:28:18 +00:00
Benjamin Otte
1a8f31e577 gst/autoplug/gstspideridentity.c: don't delay links on the sink elements, it causes unnegotiated links.
Original commit message from CVS:
* gst/autoplug/gstspideridentity.c: (gst_spider_identity_link):
don't delay links on the sink elements, it causes unnegotiated
links.
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_base_init):
add our padtemplates, we indeed do have some.
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_handle_event),
(gst_type_find_element_chain):
don't push data when typefinding failed.
* gst/gstpad.c: (gst_pad_link_fixate):
check that no fixate function returns empty caps.
* gst/gstpad.c: (gst_pad_push):
check that the link is negotiated before data gets pushed.
* tools/gst-register.c: (main):
don't assert (fixes #148283)
2004-07-25 15:01:52 +00:00
Zaheer Abbas Merali
13905b113e gst/elements/gstmultifilesrc.*: Added newmedia property so it generates newmedia events between each file when proper...
Original commit message from CVS:
2004-07-23  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

* gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init),
(gst_multifilesrc_init), (gst_multifilesrc_set_property),
(gst_multifilesrc_get_property), (gst_multifilesrc_get):
* gst/elements/gstmultifilesrc.h:
Added newmedia property so it generates newmedia events between each
file when property is set, as well as fixed eos handling
2004-07-23 13:09:27 +00:00
Benjamin Otte
228cef489a keep this up to date, since I seem to be the only one who cares about not missing files on commits
Original commit message from CVS:
* gst/.cvsignore:
* gst/autoplug/.cvsignore:
* gst/elements/.cvsignore:
* gst/indexers/.cvsignore:
* libs/gst/bytestream/.cvsignore:
* libs/gst/control/.cvsignore:
* libs/gst/getbits/.cvsignore:
* testsuite/states/.cvsignore:
* testsuite/threads/.cvsignore:
keep this up to date, since I seem to be the only one who cares
about not missing files on commits
2004-07-21 21:37:31 +00:00
Steve Lhomme
9b99ef6164 Handle binary files under Windows OK
Original commit message from CVS:
Handle binary files under Windows OK
2004-07-13 17:35:50 +00:00
Benjamin Otte
f1d9a4c380 gst/gsttypes.h: get rid of GST_O_READONLY, GST_FILE_MODE_READ and
Original commit message from CVS:
* gst/gsttypes.h:
get rid of GST_O_READONLY, GST_FILE_MODE_READ and
GST_FILE_MODE_WRITE, I don't want them in the exported headers. It
just causes support madness
* gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
make it work without this
* gst/indexers/gstfileindex.c: (_file_index_id_save_entries),
(gst_file_index_commit):
glib IO channels don't want binary mode
* testsuite/bytestream/filepadsink.c: (main):
* testsuite/bytestream/test1.c: (read_param_file):
use "rb" instead of GST_FILE_MODE_READ, it works on POSIX systems
2004-07-12 21:57:35 +00:00
Steve Lhomme
fb7d3a201c Handle binary files under Windows
Original commit message from CVS:
Handle binary files under Windows
2004-07-12 20:24:45 +00:00
Thomas Vander Stichele
683546fcb5 clean up debugging. change to finalize to free all resources
Original commit message from CVS:
clean up debugging. change to finalize to free all resources
2004-07-09 11:23:55 +00:00
Thomas Vander Stichele
ac9d8868a5 catch wrong state changes in element base class
Original commit message from CVS:
catch wrong state changes in element base class
2004-07-09 11:20:59 +00:00
Thomas Vander Stichele
56e7e557ae debugging fixes
Original commit message from CVS:
debugging fixes
2004-07-07 16:50:30 +00:00
Wim Taymans
45549aabb2 gst/elements/: Removed multifdsink, moved it to plugins.
Original commit message from CVS:
* gst/elements/Makefile.am:
* gst/elements/gstelements.c:
* gst/elements/gstmultifdsink.c:
* gst/elements/gstmultifdsink.h:
Removed multifdsink, moved it to plugins.
2004-06-26 15:38:11 +00:00
Thomas Vander Stichele
0b17785211 check stream
Original commit message from CVS:
check stream
2004-06-26 13:08:03 +00:00
Thomas Vander Stichele
b5051d23dd print offset_end
Original commit message from CVS:
print offset_end
2004-06-25 12:46:40 +00:00
Wim Taymans
f077afa0b2 gst/elements/: Added an element that writes to multiple filedescriptors at once.
Original commit message from CVS:
* gst/elements/Makefile.am:
* gst/elements/gstelements.c:
* gst/elements/gstmultifdsink.c: (gst_multifdsink_base_init),
(gst_multifdsink_class_init), (gst_multifdsink_init),
(gst_multifdsink_add), (gst_multifdsink_remove),
(gst_multifdsink_clear), (gst_multifdsink_chain),
(gst_multifdsink_set_property), (gst_multifdsink_get_property):
* gst/elements/gstmultifdsink.h:
Added an element that writes to multiple filedescriptors at once.
2004-06-24 17:05:04 +00:00
Thomas Vander Stichele
6f0d62ebdd add sync to identity
Original commit message from CVS:
add sync to identity
2004-06-18 14:05:55 +00:00
Thomas Vander Stichele
a45f193207 use ->length
Original commit message from CVS:
use ->length
2004-06-11 23:46:32 +00:00
Thomas Vander Stichele
e5c9a61a6b fix queue event code
Original commit message from CVS:
fix queue event code
2004-06-11 15:18:58 +00:00
Wim Taymans
9ed520d4e2 gst/elements/: Print more buffer info in fakesink.
Original commit message from CVS:
* gst/elements/gstfakesink.c: (gst_fakesink_chain):
* gst/elements/gstidentity.c: (gst_identity_init),
(gst_identity_chain):
Print more buffer info in fakesink.
Make identity output similar to fakesink.
2004-06-09 14:19:50 +00:00
Benjamin Otte
eb9087b14b gst/elements/gstfdsrc.c: reset offset counter when going READY => PAUSED. (fixes #142903)
Original commit message from CVS:
reviewed by Benjamin Otte  <otte@gnome.org>
* gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
(gst_fdsrc_change_state):
reset offset counter when going READY => PAUSED. (fixes #142903)
2004-06-06 21:11:51 +00:00
Sebastien Cote
502660a784 fix copyright in header and typo in debugging category name
Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_dispose), (gst_queue_change_state):
fix memory leaks (fixes #142795). Initial patch by Sebastien Cote
* libs/gst/bytestream/adapter.c:
* libs/gst/bytestream/adapter.h:
fix copyright in header and typo in debugging category name
2004-06-06 19:44:19 +00:00
Stéphane Loeuillet
55cd61de48 - removing some trailing commas in enums to please C90 only compilers (AIX, Forte, ...) ('should' fix #143290) should...
Original commit message from CVS:
- removing some trailing commas in enums to please C90 only compilers (AIX, Forte, ...)
('should' fix #143290)

should/could we compile gst with -ansi -pedantic to catch those in the build-bots ?
2004-05-28 05:01:05 +00:00
Jan Schmidt
7dcd6a0533 configure.ac: Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file support until we decide where the fla...
Original commit message from CVS:
* configure.ac:
Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file
support until we decide where the flags should be used
* gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_query):
Use GST_FORMAT_BYTES when GST_FORMAT_DEFAULT is passed
* gst/gstpad.c: (gst_pad_link_call_link_functions):
Output refused caps in the debug info
2004-05-13 12:06:11 +00:00
Thomas Vander Stichele
0cdc821508 gst/elements/gstidentity.c: add duration debug
Original commit message from CVS:
* gst/elements/gstidentity.c: (gst_identity_chain):
add duration debug
* gst/gstinfo.c: (gst_debug_log_default):
add timestamp
2004-05-13 10:10:31 +00:00
Benjamin Otte
ac83b103a1 gst/elements/gstfilesrc.c: compute mapsize correctly
Original commit message from CVS:
* gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
compute mapsize correctly
* gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap):
use correct datatypes when calling a varargs function
* gst/elements/gsttypefindelement.c: (stop_typefinding):
push a DISCONT event as first thing
* gst/gst_private.h:
* gst/gstinfo.c: (_gst_debug_init):
remove GST_DATAFLOW debugging category
* gst/gstbin.c: (gst_bin_iterate):
use GST_SCHEDULING category
* gst/gstpad.c: (gst_pad_get_type), (_invent_event),
(gst_pad_push), (gst_pad_pull), (gst_pad_call_chain_function),
(gst_pad_call_get_function):
add GST_DATAFLOW to easily track flow of buffers or events.
* gst/gstqueue.c: (gst_queue_get_type),
(gst_queue_handle_pending_events), (gst_queue_chain),
(gst_queue_get), (gst_queue_handle_src_event):
use own static debugging category GST_DATAFLOW for dataflow,
use DEBUG category for showing which path events go, use LOG
category for buffers.
2004-05-11 16:20:41 +00:00
David Schleef
ca7539c40e Changes to handle compilers that don't have variadic macro support. In particular, glib headers define some inlines ...
Original commit message from CVS:
Changes to handle compilers that don't have variadic macro
support.  In particular, glib headers define some inlines
that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
builds.
* gst/Makefile.am:
* gst/cothreads.c:
* gst/elements/gstfdsink.c:
* gst/elements/gstfdsrc.c:
* gst/elements/gstfilesink.c:
* gst/elements/gstfilesrc.c:
* gst/gst_private.h:
* gst/gstatomic.c:
* gst/gstcaps.c: (gst_caps_append):
* gst/gstcpu.c: (gst_cpuid_i386):
* gst/gstelement.c:
* gst/gsterror.c:
* gst/gstfilter.c:
* gst/gstinfo.h:
* gst/gstprobe.c:
* gst/gstquery.c:
* gst/gstregistry.c:
* gst/gststructure.c:
* gst/gsttaginterface.c:
* gst/gsttrace.c: (gst_trace_new):
* gst/gsttrashstack.c:
* gst/gsturi.c:
* gst/gstvalue.c:
* gst/parse/grammar.y:
* gst/parse/parse.l:
* tools/gst-inspect.c: (main):
* tools/gst-launch.c: (main):
* tools/gst-xmlinspect.c: (PUT_STRING):
2004-05-07 02:36:28 +00:00
Benjamin Otte
f9bafab28f gst/elements/gstfilesrc.*: send NEW_MEDIA events correctly
Original commit message from CVS:
* gst/elements/gstfilesrc.c: (gst_filesrc_get),
(gst_filesrc_change_state), (gst_filesrc_srcpad_event):
* gst/elements/gstfilesrc.h:
send NEW_MEDIA events correctly
* gst/elements/gsttypefindelement.c: (start_typefinding),
(gst_type_find_element_handle_event):
restart typefinding when we get a NEW_MEDIA event
* gst/gstbin.c: (gst_bin_remove_func), (gst_bin_change_state),
(gst_bin_dispose):
don't die when someone removes elements in callbacks
* gst/gstelement.c: (gst_element_change_state):
improve debugging
* gst/gstpad.c: (gst_pad_pull), (gst_pad_call_chain_function):
we need a NEW_MEDIA event to engage a link
* gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
don't g_print debugging stuff
* testsuite/caps/simplify.c: (check_caps):
2004-05-06 21:40:55 +00:00
Thomas Vander Stichele
e7b9201555 reorganize C/LIB flags add gst_info to gstcompat.h
Original commit message from CVS:
reorganize C/LIB flags
add gst_info to gstcompat.h
2004-05-04 12:38:36 +00:00
Sebastien Cote
72a12f0e86 gst/elements/gstfilesink.c: Patch from Sebastien Cote to fix leakage of events. (bug #141414)
Original commit message from CVS:
* gst/elements/gstfilesink.c: (gst_filesink_handle_event):
Patch from Sebastien Cote to fix leakage of events. (bug #141414)
2004-04-29 22:12:35 +00:00
Thomas Vander Stichele
a1b6e4c148 fix build and small issues
Original commit message from CVS:
fix build and small issues
2004-04-29 10:16:11 +00:00
David Schleef
7f6d9dcadf Disable parsing of a lot of files that aren't part of the exported API. Move corresponding template files to old/, w...
Original commit message from CVS:
Disable parsing of a lot of files that aren't part of the
exported API.  Move corresponding template files to old/,
waiting for removal when they don't contain anything
interesting.
* docs/gst/Makefile.am:
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/cothreads.sgml:
* docs/gst/tmpl/cothreads_compat.sgml:
* docs/gst/tmpl/gettext.sgml:
* docs/gst/tmpl/gobject2gtk.sgml:
* docs/gst/tmpl/grammar.tab.sgml:
* docs/gst/tmpl/gst-i18n-app.sgml:
* docs/gst/tmpl/gst-i18n-lib.sgml:
* docs/gst/tmpl/gst_private.sgml:
* docs/gst/tmpl/gstaggregator.sgml:
* docs/gst/tmpl/gstarch.sgml:
* docs/gst/tmpl/gstatomic_impl.sgml:
* docs/gst/tmpl/gstbufferstore.sgml:
* docs/gst/tmpl/gstdata_private.sgml:
* docs/gst/tmpl/gstdisksink.sgml:
* docs/gst/tmpl/gstdisksrc.sgml:
* docs/gst/tmpl/gstelementfactory.sgml:
* docs/gst/tmpl/gstextratypes.sgml:
* docs/gst/tmpl/gstfakesink.sgml:
* docs/gst/tmpl/gstfakesrc.sgml:
* docs/gst/tmpl/gstfdsink.sgml:
* docs/gst/tmpl/gstfdsrc.sgml:
* docs/gst/tmpl/gstfilesink.sgml:
* docs/gst/tmpl/gstfilesrc.sgml:
* docs/gst/tmpl/gsthttpsrc.sgml:
* docs/gst/tmpl/gstidentity.sgml:
* docs/gst/tmpl/gstindexfactory.sgml:
* docs/gst/tmpl/gstmarshal.sgml:
* docs/gst/tmpl/gstmd5sink.sgml:
* docs/gst/tmpl/gstmultidisksrc.sgml:
* docs/gst/tmpl/gstmultifilesrc.sgml:
* docs/gst/tmpl/gstpadtemplate.sgml:
* docs/gst/tmpl/gstpipefilter.sgml:
* docs/gst/tmpl/gstschedulerfactory.sgml:
* docs/gst/tmpl/gstsearchfuncs.sgml:
* docs/gst/tmpl/gstshaper.sgml:
* docs/gst/tmpl/gstspider.sgml:
* docs/gst/tmpl/gstspideridentity.sgml:
* docs/gst/tmpl/gststatistics.sgml:
* docs/gst/tmpl/gsttee.sgml:
* docs/gst/tmpl/gsttimecache.sgml:
* docs/gst/tmpl/gsttypefind.sgml:
* docs/gst/tmpl/gsttypefindfactory.sgml:
* docs/gst/tmpl/gstxmlregistry.sgml:
* docs/gst/tmpl/gthread-cothreads.sgml:
* docs/gst/tmpl/old/cothreads.sgml:
* docs/gst/tmpl/old/cothreads_compat.sgml:
* docs/gst/tmpl/old/gettext.sgml:
* docs/gst/tmpl/old/gobject2gtk.sgml:
* docs/gst/tmpl/old/grammar.tab.sgml:
* docs/gst/tmpl/old/gst-i18n-app.sgml:
* docs/gst/tmpl/old/gst-i18n-lib.sgml:
* docs/gst/tmpl/old/gst_private.sgml:
* docs/gst/tmpl/old/gstaggregator.sgml:
* docs/gst/tmpl/old/gstarch.sgml:
* docs/gst/tmpl/old/gstatomic_impl.sgml:
* docs/gst/tmpl/old/gstbufferstore.sgml:
* docs/gst/tmpl/old/gstdata_private.sgml:
* docs/gst/tmpl/old/gstdisksink.sgml:
* docs/gst/tmpl/old/gstdisksrc.sgml:
* docs/gst/tmpl/old/gstelementfactory.sgml:
* docs/gst/tmpl/old/gstextratypes.sgml:
* docs/gst/tmpl/old/gstfakesink.sgml:
* docs/gst/tmpl/old/gstfakesrc.sgml:
* docs/gst/tmpl/old/gstfdsink.sgml:
* docs/gst/tmpl/old/gstfdsrc.sgml:
* docs/gst/tmpl/old/gstfilesink.sgml:
* docs/gst/tmpl/old/gstfilesrc.sgml:
* docs/gst/tmpl/old/gsthttpsrc.sgml:
* docs/gst/tmpl/old/gstidentity.sgml:
* docs/gst/tmpl/old/gstindexfactory.sgml:
* docs/gst/tmpl/old/gstmarshal.sgml:
* docs/gst/tmpl/old/gstmd5sink.sgml:
* docs/gst/tmpl/old/gstmultidisksrc.sgml:
* docs/gst/tmpl/old/gstmultifilesrc.sgml:
* docs/gst/tmpl/old/gstpadtemplate.sgml:
* docs/gst/tmpl/old/gstpipefilter.sgml:
* docs/gst/tmpl/old/gstschedulerfactory.sgml:
* docs/gst/tmpl/old/gstsearchfuncs.sgml:
* docs/gst/tmpl/old/gstshaper.sgml:
* docs/gst/tmpl/old/gstspider.sgml:
* docs/gst/tmpl/old/gstspideridentity.sgml:
* docs/gst/tmpl/old/gststatistics.sgml:
* docs/gst/tmpl/old/gsttee.sgml:
* docs/gst/tmpl/old/gsttimecache.sgml:
* docs/gst/tmpl/old/gsttypefindfactory.sgml:
* docs/gst/tmpl/old/gstxmlregistry.sgml:
* docs/gst/tmpl/old/gthread-cothreads.sgml:
* docs/gst/tmpl/old/types.sgml:
* docs/gst/tmpl/types.sgml:
Rename gsttypefind.[ch] back to gsttypefindelement.[ch], since
gtkdoc-scan doesn't like files with the same name in different
directories.
* gst/elements/Makefile.am:
* gst/elements/gstelements.c:
* gst/elements/gsttypefind.c:
* gst/elements/gsttypefind.h:
* gst/elements/gsttypefindelement.c:
* gst/elements/gsttypefindelement.h:
2004-04-29 00:32:28 +00:00
Benjamin Otte
d0c08ccb19 gst/elements/gstfilesrc.c: better debugging output on error
Original commit message from CVS:
* gst/elements/gstfilesrc.c: (gst_filesrc_open_file):
better debugging output on error
2004-04-25 18:24:02 +00:00
Thomas Vander Stichele
48e3fbd44f support nonregular files (#140734)
Original commit message from CVS:
support nonregular files (#140734)
2004-04-21 14:51:27 +00:00
Benjamin Otte
614b4d1627 gst/gstcaps.c: check for ANY caps before appending/unioning
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_append), (gst_caps_union):
check for ANY caps before appending/unioning
* gst/gstcaps.c: (gst_caps_is_subset),
(gst_caps_is_equal), (gst_caps_structure_subtract_field),
(gst_caps_structure_subtract), (gst_caps_subtract):
* gst/gstcaps.h:
add gst_caps_is_equal, gst_caps_is_subset and gst_caps_subtract to
the API. deprecate gst_caps_is_equal_fixed
* gst/gstpad.c: (gst_pad_try_set_caps):
* gst/gstqueue.c: (gst_queue_link):
s/gst_caps_is_equal_fixed/gst_caps_is_equal/
* gst/gststructure.c: (gst_structure_get_name_id):
* gst/gststructure.h:
add function gst_structure_get_name_id
* gst/gstvalue.c: (gst_value_subtract_int_int_range),
(gst_value_create_new_range), (gst_value_subtract_int_range_int),
(gst_value_subtract_int_range_int_range),
(gst_value_subtract_double_double_range),
(gst_value_subtract_double_range_double),
(gst_value_subtract_double_range_double_range),
(gst_value_subtract_from_list), (gst_value_subtract_list),
(gst_value_can_intersect), (gst_value_subtract),
(gst_value_can_subtract), (gst_value_register_subtract_func),
(_gst_value_initialize):
* gst/gstvalue.h:
add support for subtracting values from each other. Note that
subtracting means subtracting as in set theory. Required for caps
stuff above.
* testsuite/caps/.cvsignore:
* testsuite/caps/Makefile.am:
* testsuite/caps/erathostenes.c: (erathostenes), (main):
* testsuite/caps/sets.c: (check_caps), (main):
* testsuite/caps/subtract.c: (check_caps), (main):
add tests for subtraction and equality code.
2004-04-21 03:25:13 +00:00
David Schleef
828252e0f2 common/as-libtool.mak: Fine-tune DLL building.
Original commit message from CVS:
* common/as-libtool.mak: Fine-tune DLL building.
* configure.ac: Link plugins against libgstreamer.  Define plugindir
(like gst-plugins)
* examples/plugins/Makefile.am: remove plugindir
* gst/autoplug/Makefile.am: DLL building fixes
* gst/elements/Makefile.am: DLL building fixes.  Disable pipefilter on
Windows.
* gst/elements/gstelements.c: Conditionally disable pipefilter.
* gst/indexers/Makefile.am: DLL building fixes
* gst/schedulers/Makefile.am: DLL building fixes.
* libs/gst/bytestream/Makefile.am: DLL building fixes.
* libs/gst/control/Makefile.am: same
* libs/gst/getbits/Makefile.am: same
* testsuite/Makefile.am: New dlopen directory
* testsuite/dlopen/Makefile.am: Tests to check if libgstreamer works
when dlopened.
* testsuite/dlopen/dlopen_gst.c: (main): same
* testsuite/dlopen/loadgst.c: (do_test): same
2004-04-20 22:22:01 +00:00
Thomas Vander Stichele
5a322ed432 making _set_property warn on unknown properties use GST_TIME_FORMAT for timestamp/duration
Original commit message from CVS:

making _set_property warn on unknown properties
use GST_TIME_FORMAT for timestamp/duration
2004-04-20 16:25:41 +00:00
Benjamin Otte
2713712906 gst/elements/gstfilesrc.*: s/seek_happened/need_discont/ and require discont before sending any data
Original commit message from CVS:
* gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get),
(gst_filesrc_change_state), (gst_filesrc_srcpad_event):
* gst/elements/gstfilesrc.h:
s/seek_happened/need_discont/ and require discont before sending any
data
2004-04-16 02:57:55 +00:00
David Schleef
726bbbf7c6 configure.ac: Disable various code when compiling for MinGW.
Original commit message from CVS:
* configure.ac:  Disable various code when compiling for MinGW.
* gst/elements/Makefile.am:
* gst/elements/gstelements.c:
* gst/elements/gstfdsrc.c: (gst_fdsrc_get):
* gst/elements/gstfilesrc.c: (gst_filesrc_init), (gst_filesrc_get):
* gst/registries/gstxmlregistry.c: (make_dir):
2004-04-14 01:38:27 +00:00
David Schleef
f8c81337c5 configure.ac: Changes to remove POSIXisms (mmap in this case) and to build DLLs on Windows.
Original commit message from CVS:
* configure.ac: Changes to remove POSIXisms (mmap in this case)
and to build DLLs on Windows.
* gst/Makefile.am:
* gst/elements/gstfilesrc.c: (gst_filesrc_get),
(gst_filesrc_open_file):
* gst/schedulers/Makefile.am:
2004-04-13 22:18:36 +00:00
Benjamin Otte
3147797afb gst/: don't use memchunks for these objects, use malloc instead
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_type):
* gst/gstclock.c: (gst_clock_get_type):
* gst/gstindex.c: (gst_index_get_type):
* gst/gstobject.c: (gst_object_get_type),
(gst_signal_object_get_type):
* gst/gstpad.c: (gst_pad_get_type), (gst_real_pad_get_type),
(gst_pad_template_get_type), (gst_ghost_pad_get_type):
* gst/gstpluginfeature.c: (gst_plugin_feature_get_type):
* gst/gstqueue.c: (gst_queue_get_type):
* gst/gstregistry.c: (gst_registry_get_type):
* gst/gstsystemclock.c: (gst_system_clock_get_type):
* gst/gstthread.c: (gst_thread_get_type):
don't use memchunks for these objects, use malloc instead
2004-04-09 19:05:03 +00:00
Thomas Vander Stichele
5e7866d43a docs/gst/Makefile.am: make docs exit on scanning problems fix nonsrcdir build issues
Original commit message from CVS:
* docs/gst/Makefile.am:
make docs exit on scanning problems
fix nonsrcdir build issues
* docs/gst/gstreamer-sections.txt:
adding stuff from -unused
* gst/gstqueue.h:
create GstQueueSize
* gst/schedulers/cothreads_compat.h:
fix cothread warnings
2004-04-07 15:31:25 +00:00
Benjamin Otte
6e56b1be99 gst/elements/gstbufferstore.c: when the buffer is complete, don't check if other buffers are needed
Original commit message from CVS:
* gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
when the buffer is complete, don't check if other buffers are needed
* gst/elements/gstfilesrc.c: (gst_filesrc_srcpad_event):
check that the offset is >0 so we don't try to read before the
beginning of the file
* gst/gstpad.c: (gst_pad_set_pad_template):
sink the template, so we don't end up with 130k pad templates
2004-04-06 23:46:37 +00:00
Benjamin Otte
ac5674b03b gst/: implement gst_pad_collect as replacement for gst_pad_select.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
(gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
(gst_pad_select):
* gst/gstpad.h:
* gst/gstscheduler.c: (gst_scheduler_pad_select),
(gst_scheduler_lock_element), (gst_scheduler_unlock_element):
* gst/gstscheduler.h:
implement gst_pad_collect as replacement for gst_pad_select.
deprecate gst_pad_select and gst_scheduler_(un)lock_element
add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
new pad_select, lock and unlock calls.
* gst/cothreads.c: (cothread_destroy), (cothread_switch):
* gst/cothreads.h:
* gst/schedulers/cothreads_compat.h:
* gst/schedulers/gthread-cothreads.h:
remove unused cothread_lock and cothread_unlock calls
* gst/schedulers/entryscheduler.c:
(gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
(_can_schedule_loop), (gst_entry_scheduler_get_handler),
(gst_entry_scheduler_pad_select):
update to new API
* gst/schedulers/gstbasicscheduler.c:
(gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
(gst_basic_scheduler_pad_select):
remove useless lock and unlock calls, update pad_select to new API
(untested)
* gst/schedulers/gstoptimalscheduler.c:
(gst_opt_scheduler_class_init):
remove useless select, lock and unlock function calls
* gst/elements/gstaggregator.c: (gst_aggregator_loop):
use gst_pad_collect instead of gst_pad_select
2004-04-04 02:36:12 +00:00
Ronald S. Bultje
d355246b0d docs/random/ds/0.9-suggested-changes: Add a note to change handoff use in fakesrc to be usable in a more generic way ...
Original commit message from CVS:
* docs/random/ds/0.9-suggested-changes:
Add a note to change handoff use in fakesrc to be usable in
a more generic way (fakesrc should be renamed to appsrc or so).
* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
Change signal type to scope, so we can fill the buffer in the
handoff handler (that's the whole use of this signal...).
2004-04-02 03:08:09 +00:00
Benjamin Otte
6d87ece93d gst/elements/gstbufferstore.c: set the offset of the buffer to the requested offset
Original commit message from CVS:
* gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
set the offset of the buffer to the requested offset
* gst/elements/gsttypefind.c: (stop_typefinding):
revert patch 1.18 (which I unfortunately don't know the reason for).
This is needed to allow downstream elements to seek. Otherwise
typefind might overwrite a previous seek by downstream elements.
This lead to errors with id3tag and typefind on some mp3s.
* gst/schedulers/entryscheduler.c: (COTHREADS_TYPE),
(gst_entry_scheduler_iterate):
be more verbose when debugging
2004-03-30 16:31:06 +00:00
David Schleef
8ce063f780 docs/gst/Makefile.am: Disable a bunch of headers from being scanned
Original commit message from CVS:
* docs/gst/Makefile.am:  Disable a bunch of headers from being scanned
* docs/gst/gstreamer-docs.sgml:  More hacking
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/cothreads_compat.sgml:
* docs/gst/tmpl/gstcaps.sgml:
* docs/gst/tmpl/gstclock.sgml:
* docs/gst/tmpl/gstelement.sgml:
* docs/gst/tmpl/gstevent.sgml:
* docs/gst/tmpl/gstpad.sgml:
* docs/gst/tmpl/gstutils.sgml:
* docs/gst/tmpl/gstxml.sgml:
* docs/gst/tmpl/gthread-cothreads.sgml:
* docs/random/ds/0.9-suggested-changes:
* gst/elements/gstfakesink.h: doc fixes
* gst/elements/gstfakesrc.h: doc fixes
* gst/gstcaps.c: doc fixes
* gst/gstcaps.h: doc fixes
* gst/gstelement.c: doc fixes
* gst/gstelement.h: doc fixes
* gst/gstindex.c: doc fixes
* gst/gstinfo.c: doc fixes
* gst/gstpad.c: doc fixes
* gst/gstpad.h: doc fixes
* gst/gstplugin.c: doc fixes
* gst/gsttypefind.h: doc fixes
* gst/gsturi.c: doc fixes
* gst/gstvalue.c: doc fixes
2004-03-30 07:36:19 +00:00
David Schleef
209c82ee06 docs/gst/gstreamer-sections.txt: More doc hacking.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:  More doc hacking.
* docs/gst/tmpl/gstaggregator.sgml:
* docs/gst/tmpl/gstautoplugfactory.sgml:
* docs/gst/tmpl/gstbin.sgml:
* docs/gst/tmpl/gstbuffer.sgml:
* docs/gst/tmpl/gstbufferstore.sgml:
* docs/gst/tmpl/gstfakesink.sgml:
* docs/gst/tmpl/gstfakesrc.sgml:
* docs/gst/tmpl/gstmd5sink.sgml:
* docs/gst/tmpl/gstreamer-unused.sgml:
* docs/gst/tmpl/gstsearchfuncs.sgml:
* docs/gst/tmpl/gstshaper.sgml:
* docs/gst/tmpl/gstspider.sgml:
* docs/gst/tmpl/gsttee.sgml:
* docs/gst/tmpl/gstutils.sgml:
* docs/gst/tmpl/gstvalue.sgml:
* docs/gst/tmpl/gstxml.sgml:
* gst/Makefile.am:  Remove gstthreaddummy.c.  It never worked,
and we don't support it.
* gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
(gst_use_threads), (gst_has_threads): same
* gst/gstthreaddummy.c: same
* gst/autoplug/gstspider.c: Make gst_spider_details static.
* gst/autoplug/gstspider.h: same
* gst/elements/gstaggregator.h: Remove bogus function from header
* gst/elements/gstfakesink.h: same
* gst/elements/gstfakesrc.h: same
* gst/elements/gstmd5sink.h: same
* gst/elements/gstshaper.h: same
* gst/elements/gsttee.h: same
* gst/gstbin.c: doc fixes
* gst/gstbin.h: Remove unused definition.
* gst/gstbuffer.c: doc fixes
* gst/gstcaps.c: (gst_caps_is_always_compatible): doc fixes
* gst/gstfilter.c: doc fixes
* gst/gsttag.c: doc fixes
* gst/gstvalue.c: doc fixes
2004-03-26 03:46:16 +00:00
Benjamin Otte
c903ce8a27 gst/: clean up used memory in this elements correctly on teardown (closes #137279)
Original commit message from CVS:
reviewed by Benjamin Otte  <otte@gnome.org>
* gst/autoplug/gstspider.c: (gst_spider_dispose):
* gst/elements/gstaggregator.c: (gst_aggregator_finalize),
(gst_aggregator_class_init), (gst_aggregator_init):
* gst/elements/gstfilesrc.c: (gst_filesrc_init),
(gst_filesrc_dispose), (gst_filesrc_set_location):
* gst/elements/gstidentity.c: (gst_identity_finalize),
(gst_identity_class_init), (gst_identity_chain):
* gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file):
* gst/elements/gststatistics.c: (gst_statistics_finalize),
(gst_statistics_class_init):
* gst/elements/gsttee.c: (gst_tee_finalize), (gst_tee_class_init),
(gst_tee_get_property):
clean up used memory in this elements correctly on teardown (closes
#137279)
2004-03-21 03:22:55 +00:00
Thomas Vander Stichele
0bf7263c12 updated translation return silently when filesink not open
Original commit message from CVS:
updated translation
return silently when filesink not open
2004-03-18 13:01:21 +00:00
Benjamin Otte
1cedbe04e1 gst/elements/gstfdsrc.c: set the first parameter for select call correctly.
Original commit message from CVS:
* gst/elements/gstfdsrc.c: (gst_fdsrc_get):
set the first parameter for select call correctly.
(fixes #137230)
2004-03-15 19:49:36 +00:00
Thomas Vander Stichele
7baa6c18e7 don't mix tabs and spaces
Original commit message from CVS:
don't mix tabs and spaces
2004-03-15 19:27:17 +00:00
Johan Dahlin
ecd88e381d Revert again, this time without post-commit reindent hooks to put back the indentation :-)
Original commit message from CVS:
Revert again, this time without post-commit reindent hooks
to put back the indentation :-)
2004-03-15 14:43:35 +00:00
Johan Dahlin
e2b3dc3e47 *.h: Revert indentation changes.
Original commit message from CVS:
* *.h: Revert indentation changes.
2004-03-15 14:31:41 +00:00
Thomas Vander Stichele
a967370df5 gst-indent run on core
Original commit message from CVS:
gst-indent run on core
2004-03-13 15:27:01 +00:00
Ronald S. Bultje
5d1a30f452 gst/gstqueue.c: Reset default max. values in queues. Reason is simply to avoid braindead use. If you want wider value...
Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_init):
Reset default max. values in queues. Reason is simply to avoid
braindead use. If you want wider values, use the properties. The
default is supposed to always work. Wider values would make this
beast a memory hog by default (250 full-PAL RGB32 video frames?
That's 440 MB! No thank you).
2004-03-12 01:41:21 +00:00
Thomas Vander Stichele
97f89b5365 make signals use dashes in the names
Original commit message from CVS:
make signals use dashes in the names
2004-03-04 20:06:02 +00:00
Thomas Vander Stichele
62537fecd4 fix errors
Original commit message from CVS:
fix errors
2004-02-22 14:07:55 +00:00
David Schleef
67455089a4 gst/elements/gstmultifilesrc.c: Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
Original commit message from CVS:
* gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
Use G_TYPE_STRING in signal prototype instead of G_TYPE_POINTER.
* gst/elements/gsttypefind.c: (gst_type_find_element_class_init):
Use GST_TYPE_CAPS in signal prototype.
* gst/gstcaps.c: (_gst_caps_initialize), (gst_caps_copy_conditional):
Convert GST_TYPE_CAPS to boxed.
* gst/gstelement.c: (gst_element_class_init):
Use GST_TYPE_TAG_LIST in signal prototype.
* gst/gstindex.c: (gst_index_class_init):
* gst/gstindex.h:
Add GST_TYPE_INDEX_ENTRY type.
* gst/gstmarshal.list:
Add necessary marshal types.
* gst/gstpad.c: (gst_real_pad_class_init),
(_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
(gst_pad_recover_caps_error):
Use GST_TYPE_CAPS in signal prototypes.  Fix some debugging strings.
* gst/gststructure.c: (_gst_structure_initialize),
(gst_structure_copy), (_gst_structure_copy_conditional):
* gst/gststructure.h:
Convert GST_TYPE_STRUCTURE to boxed.
* gst/gsttag.c: (gst_tag_list_get_type):
* gst/gsttag.h:
Add GST_TYPE_TAG_LIST type.
2004-02-18 05:26:59 +00:00
Julien Moutte
0f21f59260 gst/gstbin.c: Fix a big bug that was breaking pipelines like sinesrc ! { queue ! osssink } when an error was thrown b...
Original commit message from CVS:
2004-02-15  Julien MOUTTE  <julien@moutte.net>

* gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big
bug that was breaking pipelines like sinesrc ! { queue ! osssink } when
an error was thrown by osssink. Basically a state change failure for
an element in a different scheduling group was considered as successfull        , which means that caps nego was going on and weird stuff happened. Like        i wrote in the comment there, if someone want to revert that please
drop me a mail explaining why because i really see no point in keeping
that broken behaviour there.
* gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN
be empty, we then return NULL which will trigger a nice error when
pulling from the pad.
2004-02-15 19:05:59 +00:00
David Schleef
5e7335abe3 gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
Original commit message from CVS:
* gst/elements/gstfdsrc.c: (gst_fdsrc_get): Use GST_TIME_TO_TIMEVAL()
* gst/gstclock.h: Avoid using 64-bit % operator (slow!)
2004-02-13 23:56:11 +00:00
David Schleef
5432f712bb gst/elements/gstfdsrc.*: Adds timeout property to fdsrc, and sends an EOS event if file descriptor reading times out.
Original commit message from CVS:
reviewed by: David Schleef  <ds@schleef.org>
* gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
(gst_fdsrc_init), (gst_fdsrc_set_property),
(gst_fdsrc_get_property), (gst_fdsrc_get):
* gst/elements/gstfdsrc.h:  Adds timeout property to fdsrc,
and sends an EOS event if file descriptor reading times out.
2004-02-13 20:16:42 +00:00
Thomas Vander Stichele
6545411956 removing old files
Original commit message from CVS:
removing old files
2004-02-11 18:50:16 +00:00
Thomas Vander Stichele
5d9481bfb6 rename multidisksrc to multifilesrc
Original commit message from CVS:
rename multidisksrc to multifilesrc
2004-02-11 18:49:26 +00:00
Julien Moutte
df6a979243 gst/gstdata.c: Adding a categorized debug on data_ref because data_unref has one and i prefer the debug to be symetric.
Original commit message from CVS:
2004-02-09  Julien MOUTTE  <julien@moutte.net>

* gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref
because data_unref has one and i prefer the debug to be symetric.
* gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers
were refed when added to the queue and unrefed only once when the queue
was flushed. Now the flush handler unref the buffers two times : first
unref for the ref added when pushing in the queue's tail and second
unref to destroy the flushed buffer.
2004-02-09 09:11:50 +00:00
Ramon Garcia Fernandez
4c4ff33d1f Trying to fix the mess that I made with the two previous commits.
Original commit message from CVS:


Trying to fix the mess that I made with the two previous commits.

First commit, doing something wrong (fixing comparisons of signed and unsigned).
Second commit, trying to revert the previous, but changing other things and
reverting unrelated work of other people.
And this third, hopefully fixes it.
2004-02-07 15:51:39 +00:00
Ramon Garcia Fernandez
1f920b1def Reverted changes made to fix unsigned-signed warnings after hearing comments on IRC. Thans to teus
Original commit message from CVS:
Reverted changes made to fix unsigned-signed warnings after hearing comments on IRC. Thans to teus
2004-02-07 15:37:21 +00:00
David Schleef
d19ae033fd docs/random/ds/0.9-suggested-changes: Random ramblings
Original commit message from CVS:
* docs/random/ds/0.9-suggested-changes: Random ramblings
* gst/elements/gstfilesrc.c: (gst_filesrc_get_mmap): Cast size_t
to int before printing.
* gst/parse/grammar.y: Fix gcc-2.95 style variadic macros.
* gst/parse/parse.l: same.  See bug #129600
2004-02-07 01:23:13 +00:00
Benjamin Otte
5554f286bd gst/autoplug/gstspideridentity.c: use get_allowed_caps, not get_caps (fixes #132519)
Original commit message from CVS:
2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/autoplug/gstspideridentity.c:
(gst_spider_identity_sink_loop_type_finding):
use get_allowed_caps, not get_caps (fixes #132519)
* gst/elements/gsttypefind.c: (stop_typefinding):
use correct order when sending buffers and seeking
2004-02-04 22:16:30 +00:00
Thomas Vander Stichele
4290fca331 increment current, reset padding
Original commit message from CVS:
increment current, reset padding
2004-02-04 21:35:39 +00:00
David Schleef
ad3863ac5e docs/random/ds/0.9-suggested-changes: random notes
Original commit message from CVS:
* docs/random/ds/0.9-suggested-changes: random notes
* gst/elements/gstfakesrc.c: (gst_fakesrc_get_formats),
(gst_fakesrc_get_query_types), (gst_fakesrc_get_event_mask):
Replace GST_PAD_EVENT_MASK_FUNCTION() (et al.) with its
expansion.
* gst/elements/gstfilesink.c: (gst_filesink_get_formats),
(gst_filesink_get_query_types): same
* gst/elements/gstfilesrc.c: (gst_filesrc_get_event_mask),
(gst_filesrc_get_query_types), (gst_filesrc_get_formats): same
* gst/gstcaps.h: deprecate GST_DEBUG_CAPS(), and fix the macro
to use new GST_PTR_FORMAT.
* gst/gstelement.h: deprecate function factory macros
GST_ELEMENT_QUERY_TYPE_FUNCTION(), GST_ELEMENT_EVENT_MASK_FUNCTION().
These are our last variadic macros that can't be replaced with
inlines.  Celebrate!  Also fix a typo in an #ifdef that was
attempting to deprecate gst_element_clock_wait().
* gst/gstevent.h: same
* gst/gstpad.c: (gst_pad_link_intersect), (gst_pad_link_fixate),
(gst_pad_try_set_caps): replace GST_DEBUG_CAPS() with GST_DEBUG()
* gst/gstpad.h: deprecate function factory macros similar to above.
2004-02-04 19:38:33 +00:00
Benjamin Otte
3945b0600b gst/gststructure.c: fix huge memleak
Original commit message from CVS:
2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gststructure.c: (gst_structure_from_string):
fix huge memleak
* gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
(new_entry), (gst_type_find_element_chain):
* gst/gstelement.c: (gst_element_base_class_init),
(gst_element_class_set_details):
* gst/gstpad.c: (gst_pad_can_link_filtered):
fix smaller memleaks
* gst/gstpad.c: (gst_real_pad_dispose):
check that explicit caps are gone
* gst/gststructure.c: (gst_structure_free):
actually free the structure
* gst/gstelement.c: (gst_element_clear_pad_caps):
unset explicit caps
2004-02-03 22:13:13 +00:00
Benjamin Otte
4749c7a4f1 gst/: get rid of gstmarshal.h dependency. It's not needed.
Original commit message from CVS:
2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/parse/Makefile.am:
* gst/gstobject.h:
get rid of gstmarshal.h dependency. It's not needed.
* gst/gst.h:
* gst/elements/gstfakesink.c:
* gst/elements/gstfakesrc.c:
* gst/elements/gstidentity.c:
* gst/gstbin.c:
* gst/gstelement.c:
* gst/gstindex.c:
* gst/gstobject.c:
* gst/gstpad.c:
* gst/gstthread.c:
* gst/gstxml.c:
* libs/gst/control/dparam.c:
* libs/gst/control/dparammanager.c:
include gstmarshal.h.
Fixes #132045
2004-02-03 03:31:26 +00:00
Benjamin Otte
893c74478f gst/elements/gstfilesrc.*: don't ref the filesrc when creating mmaped buffers. Don't keep a list of not-yet-destroyed...
Original commit message from CVS:
2004-02-03  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/elements/gstfilesrc.c: (gst_filesrc_init),
(gst_filesrc_dispose), (gst_filesrc_free_parent_mmap),
(gst_filesrc_map_region), (gst_filesrc_get_mmap):
* gst/elements/gstfilesrc.h:
don't ref the filesrc when creating mmaped buffers. Don't keep a
list of not-yet-destroyed buffers.
* gst/gstbuffer.h:
Deprecated BST_BUFFER_FREE_FUNC and GST_BUFFER_COPY_FUNC
2004-02-03 00:27:09 +00:00
Benjamin Otte
9ec5287a36 gst/elements/gstfilesrc.c: set all the values on buffers that we can
Original commit message from CVS:
2004-02-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/elements/gstfilesrc.c: (gst_filesrc_map_region),
(gst_filesrc_get_read):
set all the values on buffers that we can
2004-02-02 21:18:54 +00:00
Thomas Vander Stichele
b21a435c67 suffix errors with .
Original commit message from CVS:
suffix errors with .
update translation
2004-01-31 22:40:27 +00:00
Thomas Vander Stichele
5f91e9ad66 suffix errors with period.
Original commit message from CVS:
suffix errors with period.
use (NULL) over NULL
2004-01-31 19:30:31 +00:00
Benjamin Otte
192330d37a parts of the patch submitted in bug #113913
Original commit message from CVS:
2004-01-30  Laurent Vivier <Laurent.Vivier@bull.net>

reviewed by Benjamin Otte
parts of the patch submitted in bug #113913

* configure.ac:
use AC_C_INLINE. Use = instead of == with test
* examples/plugins/example.c:
* gst/autoplug/gstspideridentity.c:
* gst/elements/gstfdsrc.c:
* gst/elements/gstfilesrc.c:
* gst/elements/gstidentity.c:
* gst/elements/gstmultidisksrc.c:
* gst/elements/gststatistics.c:
* gst/gstelement.c:
* gst/gstobject.c:
* gst/gstpad.c:
* gst/gstpipeline.c:
* gst/gstthread.c:
don't end enums with a comma
* gst/gstindex.c: (gst_index_compare_func):
do explicit casting to gint
* gst/gsttrace.c: (gst_trace_text_flush):
#define strsize as a macro
2004-01-30 20:48:13 +00:00
Thomas Vander Stichele
c5b612edef GST_ELEMENT_ERROR
Original commit message from CVS:
GST_ELEMENT_ERROR
2004-01-29 23:17:58 +00:00
Julien Moutte
ef6bdb01be gst/elements/gstfilesrc.c: Fixing seeking by making FLUSH happen again and even before DISCONT.
Original commit message from CVS:
2004-01-29  Julien MOUTTE  <julien@moutte.net>

* gst/elements/gstfilesrc.c: (gst_filesrc_get),
(gst_filesrc_uri_handler_init): Fixing seeking by making FLUSH happen
again and even before DISCONT.
* gst/gstpad.c: (gst_pad_event_default): Remove a unused switch case.
* libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf): Fix
bytestream so that it's not stopping to fill the bytestream if events
different than EOS or DISCONT are received. Instead it process them so
that they go downstream.
2004-01-29 22:43:41 +00:00
Ronald S. Bultje
7d41ae65f4 docs/pwg/advanced-tagging.xml: Add a part about tag reading and application signalling... Tag writing still needs to ...
Original commit message from CVS:
2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* docs/pwg/advanced-tagging.xml:
Add a part about tag reading and application signalling... Tag
writing still needs to be documented.
* gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
We can set file locations in READY, too.
2004-01-29 10:56:53 +00:00
Benjamin Otte
807937481e docs/random/mimetypes: update docs for audio/x-raw-float. Add "buffer-frames=0 means undefined"
Original commit message from CVS:
2004-01-29  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* docs/random/mimetypes:
update docs for audio/x-raw-float. Add "buffer-frames=0 means
undefined"
* gst/elements/gstfilesrc.c: (gst_filesrc_set_location):
make it only work in NULL.
* gst/gstcaps.c:
don't posion NULL caps
* gst/gstelement.c: (gst_element_set_time):
add debugging statement
* gst/gstelement.c: (gst_element_emit_found_tag),
(gst_element_found_tag_func), (gst_element_found_tags):
* gst/gstelement.h:
These functions take const taglists
* gst/gstpad.c: (gst_pad_proxy_getcaps):
fix memleak
* gst/gstpad.c: (gst_pad_event_default):
make more effort on handling discont and clocks, g_warn if everything
fails
* gst/gststructure.c: (gst_structure_remove_fields),
(gst_structure_remove_fields_valist):
* gst/gststructure.h:
add gst_structure_remove_fields(_valist)
* gst/gsttag.c:
fix doc glitch
2004-01-29 02:24:52 +00:00
David Schleef
a842daf05e docs/random/ds/element-checklist: Notes about gst_caps_to_string()
Original commit message from CVS:
* docs/random/ds/element-checklist: Notes about gst_caps_to_string()
* gst/registries/gstxmlregistry.c: (gst_xml_registry_save_caps):
Fix memory leakage of gst_caps_to_string().
Use GST_PTR_FORMAT instead of gst_caps_to_string():
* gst/autoplug/gstsearchfuncs.c: (gst_autoplug_sp):
* gst/autoplug/gstspideridentity.c: (spider_find_suggest),
(gst_spider_identity_sink_loop_type_finding):
* gst/elements/gsttypefind.c: (gst_type_find_element_have_type),
(find_suggest):
* gst/gstpad.c: (gst_pad_try_relink_filtered),
(gst_pad_set_explicit_caps):
* gst/parse/grammar.y:
2004-01-29 01:44:08 +00:00
David Schleef
3607f4f024 gst/gstpad.*: Add new function to allow element to (somewhat) specify non-fixed caps on a pad.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_try_set_caps_nonfixed):
* gst/gstpad.h: Add new function to allow element to (somewhat)
specify non-fixed caps on a pad.
* gst/gstqueue.c: (gst_queue_chain): Remove noisy g_object_notify()
that I added a few weeks ago.
2004-01-27 02:06:02 +00:00
David Schleef
aeca198dda Revert accidental checkin and start over
Original commit message from CVS:
Revert accidental checkin and start over
2004-01-26 23:16:21 +00:00
David Schleef
13a292781e Original commit message from CVS:
reviewed by: <delete if not using a buddy>
* docs/gst/tmpl/gstelement.sgml:
* docs/gst/tmpl/gstplugin.sgml:
* docs/gst/tmpl/gstreamer-unused.sgml:
* docs/gst/tmpl/gstxml.sgml:
* gst/gstelement.h:
* gst/gstpad.c: (gst_pad_try_set_caps):
* gst/gstqueue.c: (gst_queue_chain):
* testsuite/caps/Makefile.am:
2004-01-26 23:13:24 +00:00
Benjamin Otte
8a1bb576b2 gst/elements/gstbufferstore.c: fix bug where buffer was not assembled correctly
Original commit message from CVS:
2004-01-25  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/elements/gstbufferstore.c: (gst_buffer_store_get_buffer):
fix bug where buffer was not assembled correctly
* gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init):
silence by default
* gst/elements/gsttypefind.c: (gst_type_find_element_chain):
only seek if there's no more buffers that could work without seeking
2004-01-25 02:50:09 +00:00
Thomas Vander Stichele
603c990009 fix rename
Original commit message from CVS:
fix rename
2004-01-20 15:05:42 +00:00
Thomas Vander Stichele
1c7f15e0cc renamine typefindelement to typefind
Original commit message from CVS:
renamine typefindelement to typefind
2004-01-20 13:48:51 +00:00
Thomas Vander Stichele
2dabfe7567 adding docs
Original commit message from CVS:
adding docs
2004-01-19 18:00:43 +00:00
Thomas Vander Stichele
853f236b36 removing ending punctuation dots
Original commit message from CVS:
removing ending punctuation dots
2004-01-19 11:44:12 +00:00
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
61c61cefda gst/gstqueue.*: Fix the spelling of "treshold" and make min_threshold actually affect the queue.
Original commit message from CVS:
* gst/gstqueue.c:
* gst/gstqueue.h:
Fix the spelling of "treshold" and make min_threshold actually
affect the queue.
2004-01-15 20:37:07 +00:00
Benjamin Otte
6a06c610da gst/gstqueue.c: query if buffers are inside the pool, ignore events
Original commit message from CVS:
2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstqueue.c: (gst_queue_getcaps), (gst_queue_link):
query if buffers are inside the pool, ignore events
2004-01-14 01:50:31 +00:00
Benjamin Otte
1e82f617e4 gst/gstclock.*: deprecate old interface and disable functions that aren't in use anymore.
Original commit message from CVS:
2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
(gst_clock_set_speed), (gst_clock_set_active),
(gst_clock_is_active), (gst_clock_reset),
(gst_clock_handle_discont):
* gst/gstclock.h:
deprecate old interface and disable functions that aren't in use
anymore.
* gst/gstelement.h:
* gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
(gst_element_set_time), (gst_element_adjust_time):
add concept of "element time" and functions to get/set this time.
* gst/gstelement.c: (gst_element_change_state):
update element time correctly.
* gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
This is a debug message, not a g_critical.
* gst/gstpad.c: (gst_pad_event_default):
handle discontinuous events right with element time.
* gst/gstscheduler.c: (gst_scheduler_state_transition):
update to clocking fixes.
set clocks on elements in READY=>PAUSED. The old behaviour caused
a wrong element time on the first element that started playing.
* gst/schedulers/gstbasicscheduler.c:
(gst_basic_scheduler_class_init):
* gst/schedulers/gstoptimalscheduler.c:
(gst_opt_scheduler_class_init):
remove code that just implements the default behaviour.
* gst/elements/gstfakesink.c: (gst_fakesink_chain):
update to use new clocking functions
* testsuite/clock/clock1.c: (gst_clock_debug), (main):
* testsuite/clock/clock2.c: (gst_clock_debug), (main):
update to test new element time.
* gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
use _get_allowed_caps instead of _get_caps. This catches filtered
caps correctly.
* testsuite/debug/commandline.c:
update for new GST_DEBUG syntax.
* testsuite/threads/Makefile.am:
disable a test that only works sometimes.
2004-01-14 00:46:48 +00:00
Thomas Vander Stichele
f5b464fd27 adding i18n tested with nl, seems to work fine
Original commit message from CVS:
adding i18n
tested with nl, seems to work fine
2004-01-13 11:30:00 +00:00
Benjamin Otte
a5bb704036 update - this is huge, because it includes *.bb, *.bbg and *.da files which are generated for gcov.
Original commit message from CVS:
2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* examples/cutter/.cvsignore:
* examples/helloworld/.cvsignore:
* examples/launch/.cvsignore:
* examples/manual/.cvsignore:
* examples/mixer/.cvsignore:
* examples/pingpong/.cvsignore:
* examples/plugins/.cvsignore:
* examples/queue/.cvsignore:
* examples/queue2/.cvsignore:
* examples/queue3/.cvsignore:
* examples/queue4/.cvsignore:
* examples/retag/.cvsignore:
* examples/thread/.cvsignore:
* examples/typefind/.cvsignore:
* examples/xml/.cvsignore:
* gst/.cvsignore:
* gst/autoplug/.cvsignore:
* gst/elements/.cvsignore:
* gst/indexers/.cvsignore:
* gst/parse/.cvsignore:
* gst/registries/.cvsignore:
* gst/schedulers/.cvsignore:
* libs/gst/bytestream/.cvsignore:
* libs/gst/control/.cvsignore:
* libs/gst/getbits/.cvsignore:
* tests/.cvsignore:
* tests/bufspeed/.cvsignore:
* tests/instantiate/.cvsignore:
* tests/memchunk/.cvsignore:
* tests/muxing/.cvsignore:
* tests/sched/.cvsignore:
* tests/seeking/.cvsignore:
* tests/threadstate/.cvsignore:
* testsuite/.cvsignore:
* testsuite/caps/.cvsignore:
* testsuite/cleanup/.cvsignore:
* testsuite/dynparams/.cvsignore:
* testsuite/plugin/.cvsignore:
* tools/.cvsignore:
update - this is huge, because it includes *.bb, *.bbg and *.da files
which are generated for gcov.
2004-01-12 16:53:23 +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
a06605e4e3 gst/elements/gstbufferstore.c: initialize debugging structure correctly
Original commit message from CVS:
2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/elements/gstbufferstore.c:
initialize debugging structure correctly
* gst/elements/gsttee.c: (gst_tee_set_property):
g_object_notify when property was changed
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_change_state):
clear caps correctly
2004-01-11 18:23:48 +00:00
Benjamin Otte
88c4887db3 gst/gstqueue.c: Use better defaults for when a queue should block. This gets rid of jerky playback for quite a few fi...
Original commit message from CVS:
2004-01-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstqueue.c: (gst_queue_init):
Use better defaults for when a queue should block. This
gets rid of jerky playback for quite a few files.
It takes more memory.
2004-01-11 17:55:10 +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
Ronald S. Bultje
718b21bfc2 gst/elements/gstfilesink.c: Fix for if we pass NULL as property to location.
Original commit message from CVS:
2004-01-07  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* gst/elements/gstfilesink.c: (gst_filesink_set_location):
Fix for if we pass NULL as property to location.
* gst/elements/gstpipefilter.c: (gst_pipefilter_init),
(gst_pipefilter_handle_event), (gst_pipefilter_chain):
Fix for instantiate-test (see below).
* gst/gststructure.c: (_gst_structure_parse_value):
Fix compile error on gcc-2.96.
* configure.ac:
* tests/Makefile.am:
* tests/instantiate/Makefile.am:
* tests/instantiate/create.c: (create_all_elements), (main):
Add a test that instantiates all elements. This makes it easy to
track dead code for old API/design (like setting event functions
on sink pads and so on).
2004-01-07 13:13:03 +00:00
David Schleef
2f85a255ba gst/elements/gsttee.c: Remove usage of gst_pad_proxy_fixate.
Original commit message from CVS:
* gst/elements/gsttee.c: (gst_tee_init), (gst_tee_request_new_pad):
Remove usage of gst_pad_proxy_fixate.
* gst/gstcaps.c: (gst_caps_append), (gst_caps_append_structure),
(gst_caps_split_one), (gst_caps_replace):
Add poisoning code.
* gst/gstmarshal.list:
Add pointer__pointer for fixate signal
* gst/gstpad.c: (gst_real_pad_class_init),
(_gst_real_pad_fixate_accumulator), (gst_pad_link_fixate),
(_gst_pad_default_fixate_func), (gst_pad_proxy_fixate),
(gst_pad_set_explicit_caps), (gst_pad_template_new):
Add poisoning code. Add fixate signal on RealPad. Change
set_explicit_caps() to take const GstCaps, like try_set_caps().
* gst/gstpad.h:
* testsuite/caps/Makefile.am:
* testsuite/caps/app_fixate.c: Add a test for the fixate signal
2004-01-04 23:43:11 +00:00
David Schleef
599926b18e gst/elements/gsttypefindelement.c: Use gst_pad_use_explicit_caps for src pad.
Original commit message from CVS:
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_have_type), (gst_type_find_element_init):
Use gst_pad_use_explicit_caps for src pad.
* gst/gstpad.c: (gst_pad_try_set_caps):  Check that link exists
before using it.
2004-01-03 10:01:35 +00:00
David Schleef
e7d186c69a Negotiation fixes
Original commit message from CVS:
Negotiation fixes
2004-01-01 02:23:47 +00:00
Ronald S. Bultje
dd6ba0b28e gst/gstqueue.c: use gst_pad_proxy_getcaps()
Original commit message from CVS:
2003-12-31  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* gst/gstqueue.c: (gst_queue_init):
use gst_pad_proxy_getcaps()
2003-12-31 11:08:01 +00:00
David Schleef
2ecb08f2bd Negotiation fixes
Original commit message from CVS:
Negotiation fixes
2003-12-31 08:09:38 +00:00
Colin Walters
5d39cbbd4e Make GstCaps parameter const. Copy caps parameter. Use _POINTER to marshal caps instead of _BOXED. Don't double-fre...
Original commit message from CVS:
Make GstCaps parameter const.  Copy caps parameter. Use _POINTER to
marshal caps instead of _BOXED.  Don't double-free caps.Use
GST_PAD_LINK_SUCCESSFUL.
2003-12-24 07:42:43 +00:00
David Schleef
778c24a58a gst/elements/: Use gst_pad_proxy_getcaps().
Original commit message from CVS:
* gst/elements/gstaggregator.c:
* gst/elements/gsttee.c:
Use gst_pad_proxy_getcaps().
* gst/gstpad.c:
* gst/gstpad.h:
Add gst_pad_proxy_getcaps(), which filter elements can use
as a generic getcaps implementation.
Fix gst_pad_get_allowed_caps().  It just wasn't doing what
was advertised.
2003-12-23 23:19:07 +00:00
Benjamin Otte
31baf87dd4 gst/elements/gstelements.c: Set ranks of elements to NONE, so the autoplugger doesn't use them.
Original commit message from CVS:
2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/elements/gstelements.c:
Set ranks of elements to NONE, so the autoplugger doesn't use them.
* gst/elements/gstshaper.c: (gst_shaper_getcaps):
Fix proxying to new CAPS stuff. Don't call get_allowed_caps but
gst_caps (peer).
2003-12-22 19:10:41 +00:00
David Schleef
8c9cd079d4 Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2003-12-22 01:39:35 +00:00
Ronald S. Bultje
f12a5871cf gst/gstqueue.c: implement timeout for sending events. Workaround for if the pipeline on this queue is not passing any...
Original commit message from CVS:
2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* gst/gstqueue.c: (gst_queue_handle_pending_events),
(gst_queue_chain), (gst_queue_handle_src_event):
implement timeout for sending events. Workaround for if the
pipeline on this queue is not passing any data.
2003-12-21 18:59:06 +00:00
Ronald S. Bultje
9111ea764c Fix a deadlock that happens if the next element sends an event and the previous element sends a buffer where the queu...
Original commit message from CVS:
Fix a deadlock that happens if the next element sends an event and the previous element sends a buffer where the queue is full. See the comment in the code for the rest.
2003-12-14 13:14:35 +00:00
Ronald S. Bultje
90d64117c5 This is either a rewrite or a large bugfix to the queue element, whatever you prefer to call it.
Original commit message from CVS:
This is either a rewrite or a large bugfix to the queue element, whatever
you prefer to call it.

* upstream event forwarding now works. This should fix Julien's issues.
* this queue allows setting a min. treshold size and a max. limit size
in bytes, buffers and time before the queue allows the next element
to pull data or the previous element to push data into it. This is
very interesting for network-related buffering. Also includes signals
et all for the end user application.
* Events are no longer part of the queue's "size", they're essentially
seen as "void data". they have no size or time associated with them
anyway, so this shouldn't really sound weird.
2003-12-13 17:12:46 +00:00
Benjamin Otte
46a70fddfb removed GST_*_CAST. Disabling of type checking is done in glib.
Original commit message from CVS:
removed GST_*_CAST. Disabling of type checking is done in glib.
2003-12-13 16:58:29 +00:00
David Schleef
1cd87b37e5 Change GST_.*_PADDING to _gst_padding[GST_PADDING];
Original commit message from CVS:
Change GST_.*_PADDING to _gst_padding[GST_PADDING];
2003-12-09 02:39:31 +00:00
Benjamin Otte
b9d7ea92ed finish everything typefinding related (like seeking to correct offset) _before_ pushing the first buffer
Original commit message from CVS:
finish everything typefinding related (like seeking to correct offset) _before_ pushing the first buffer
2003-12-07 19:02:30 +00:00
Andy Wingo
8ca1b1fe7f remove copyright field from plugin structs
Original commit message from CVS:
remove copyright field from plugin structs
2003-12-04 10:02:41 +00:00
David Schleef
71454fa19c change gst_pad_select() to gst_pad_selectv(), and add/fix gst_pad_select() and gst_pad_select_valist()
Original commit message from CVS:
change gst_pad_select() to gst_pad_selectv(), and add/fix gst_pad_select()
and gst_pad_select_valist()
2003-12-02 04:39:00 +00:00
David Schleef
5bb8f132f5 fix minor typo
Original commit message from CVS:
fix minor typo
2003-11-29 04:39:29 +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
284a8c25e7 keep pads active at all times (this is a workaround to not get '... but pad is not active' errors
Original commit message from CVS:
keep pads active at all times (this is a workaround to not get '... but pad is not active' errors
2003-11-17 01:09:56 +00:00
David Schleef
cd429e460c Change G_TYPE_POINTER to the appropriate type in g_signal_new()
Original commit message from CVS:
Change G_TYPE_POINTER to the appropriate type in g_signal_new()
2003-11-13 02:47:03 +00:00
Ronald S. Bultje
9227b98fe3 Compile fix for gcc-2.9x
Original commit message from CVS:
Compile fix for gcc-2.9x
2003-11-09 13:47:21 +00:00
Benjamin Otte
23ad5f6b1a set chainfunction on request pads (FIXME: do we even support chainbased elements with multiple sinkpads?)
Original commit message from CVS:
set chainfunction on request pads (FIXME: do we even support chainbased elements with multiple sinkpads?)
2003-11-05 01:40:29 +00:00
David Schleef
b75efb7f59 Add G_DISABLE_DEPRECATED and fix deprecated code
Original commit message from CVS:
Add G_DISABLE_DEPRECATED and fix deprecated code
2003-11-03 20:56:53 +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
18c107965b declaration order fixes
Original commit message from CVS:
declaration order fixes
2003-10-30 19:54:29 +00:00
David Schleef
0a4c6d8fd2 clean up some warnings
Original commit message from CVS:
clean up some warnings
2003-10-29 04:11:11 +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
Ronald S. Bultje
40b7ac445c Properly give an error if no file was given
Original commit message from CVS:
Properly give an error if no file was given
2003-10-20 14:58:07 +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
85a63494bf Add padding to structures and objects
Original commit message from CVS:
Add padding to structures and objects
2003-10-07 21:58:42 +00:00
David Schleef
f20644277f remember to set buffer size.
Original commit message from CVS:
remember to set buffer size.
2003-10-07 21:56:36 +00:00
Andy Wingo
00d6aa9c21 make filesink handle events only in the chainfunction
Original commit message from CVS:
make filesink handle events only in the chainfunction
2003-09-30 13:11:44 +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
Ronald S. Bultje
5a26d2f709 Implement seekability-only-if-available
Original commit message from CVS:
Implement seekability-only-if-available
2003-09-13 01:06:53 +00:00
David Schleef
7cd75b0ae0 convert pad templates to GST_CAPS_ANY
Original commit message from CVS:
convert pad templates to GST_CAPS_ANY
2003-08-19 04:18:19 +00:00
Andy Wingo
5c2d6b2f43 cache return values of _gst_debug_nameof_funcptr
Original commit message from CVS:
kill some memleaks, add ::signal-handoffs property to fakesrc/sink (default FALSE), cache return values of _gst_debug_nameof_funcptr
2003-08-07 12:45:31 +00:00
David Schleef
b5c340df0d Add using_mmap field to GstFileSrc
Original commit message from CVS:
Add using_mmap field to GstFileSrc
2003-07-30 01:41:23 +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
Ronald S. Bultje
f1015883d0 Add support for not incrementing bytecounter while we're not at the end of the stream
Original commit message from CVS:
Add support for not incrementing bytecounter while we're not at the end of the stream
2003-07-22 21:33:02 +00:00
Wim Taymans
37717df482 Added some comments and use _PAD_IS_USABLE instead of _IS_ACTIVE
Original commit message from CVS:
Added some comments and use _PAD_IS_USABLE instead of _IS_ACTIVE
2003-07-10 20:40:02 +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
Ronald S. Bultje
e3cfc0c701 Actually, size should be a guint (because GST_BUFFER_SIZE(buffer) is a guint too)
Original commit message from CVS:
Actually, size should be a guint (because GST_BUFFER_SIZE(buffer) is a guint too)
2003-06-07 09:37:16 +00:00
Ronald S. Bultje
63bc38c519 Make filesink fail with some grace, see #114614
Original commit message from CVS:
Make filesink fail with some grace, see #114614
2003-06-07 09:35:37 +00:00
Ronald S. Bultje
fdba81e0fa Some adjustments to allow for setting a new filename after EOS, useful for writing multiple files
Original commit message from CVS:
Some adjustments to allow for setting a new filename after EOS, useful for writing multiple files
2003-06-06 23:48:04 +00:00
Thomas Vander Stichele
96a354d4a7 make functions static taaz patch
Original commit message from CVS:
make functions static
taaz patch
2003-06-05 21:33:03 +00:00
Wim Taymans
a913f1fbc0 - added a property to force a failure for a given state transition.
Original commit message from CVS:
- added a property to force a failure for a given state transition.
2003-06-03 20:22:52 +00:00
Ronald S. Bultje
2ddc5c4974 I don't know how I ever got to introducing this madness, but I was wrong. *REALLY* wrong. It hasn't even worked, it s...
Original commit message from CVS:
I don't know how I ever got to introducing this madness, but I was wrong. *REALLY* wrong. It hasn't even worked, it still doesn't work and it will never work because the whole concept of doing a multifile output in filesink is completely braindead. Signal EOS, close file, set new filename and reset to PLAYING is so much easier. This patch removes all the multifile output cruft that I introduced and makes filesink simply work.
2003-06-01 12:27:39 +00:00
Ronald S. Bultje
ed086d5f79 see #108268 - kudos go to janzen@pixelmetrix.com
Original commit message from CVS:
Add patch for better buffering (especially useful for network streaming), see #108268 - kudos go to janzen@pixelmetrix.com
2003-05-30 23:20:02 +00:00
Wim Taymans
a7b3634ddd - the result from the getcaps function should be sunken (gst_caps_sink) instead of unreffed. Not sure that's the righ...
Original commit message from CVS:
- the result from the getcaps function should be sunken (gst_caps_sink)
instead of unreffed. Not sure that's the right thing to do...
2003-05-30 13:36:04 +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
David Schleef
906329ab04 Fix caps negotiation problems.
Original commit message from CVS:
Fix caps negotiation problems.
2003-05-19 02:36:01 +00:00
Thomas Vander Stichele
bdea7633cd a bunch of gtk-doc fixes
Original commit message from CVS:
a bunch of gtk-doc fixes
2003-05-18 15:03:34 +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
Wim Taymans
e1bfecf799 - Added a property to perform caps negotiation in the chain function instead of using proxied negotiation.
Original commit message from CVS:
- Added a property to perform caps negotiation in the chain function instead
of using proxied negotiation.
2003-04-17 22:31:32 +00:00
Benjamin Otte
95b23e597d release lock before doing signal handling
Original commit message from CVS:
release lock before doing signal handling
2003-04-17 19:51:28 +00:00
Colin Walters
900066617c Remove dummy signals, add full signal.
Original commit message from CVS:
Remove dummy signals, add full signal.
2003-04-17 09:19:34 +00:00
Benjamin Otte
4bf4de13ed Ouch: gst_element_dispose does a state change to NULL. Change the state to NULL yourself if you dispose plugins that ...
Original commit message from CVS:
Ouch: gst_element_dispose does a state change to NULL. Change the state to NULL yourself if you dispose plugins that reference some of the freed memory on state changes.

This is probably broken in lots of cases.
2003-04-15 18:46:09 +00:00
Wim Taymans
54b35086ea - make aggregator actually work
Original commit message from CVS:
- make aggregator actually work
2003-04-14 18:58:11 +00:00
Benjamin Otte
fec6a61298 cleanup: remove writer/reader booleans, just signal everytime bugfix: signal not_full after flush (Martin Janzen)
Original commit message from CVS:
cleanup: remove writer/reader booleans, just signal everytime
bugfix: signal not_full after flush (Martin Janzen)
2003-03-27 03:16:08 +00:00
Benjamin Otte
e2c19765d9 fix memory leaks and unlock a mutex earlier
Original commit message from CVS:
fix memory leaks and unlock a mutex earlier
This is a 0.6 branch candidate, btw
2003-03-21 20:53:26 +00:00
Wim Taymans
a82c7a7572 Better capsnego
Original commit message from CVS:
Better capsnego
2003-03-02 14:00:11 +00:00
Wim Taymans
ef258ceb50 - Added generic shaper element that keeps two streams in sync.
Original commit message from CVS:
- Added generic shaper element that keeps two streams in sync.
2003-02-23 20:29:12 +00:00
Wim Taymans
f498068ef7 Fix bogus warning message
Original commit message from CVS:
Fix bogus warning message
2003-02-11 21:03:51 +00:00
Wim Taymans
136e5d254e Small cleanups and portability fixes for GUINT64
Original commit message from CVS:
Small cleanups and portability fixes for GUINT64
2003-02-10 20:16:38 +00:00
Erik Walthinsen
0da768dacb Fix various inconsistencies discovered while attempting to fix --disable-*.
Original commit message from CVS:
Fix various inconsistencies discovered while attempting to fix --disable-*.
Uraeus: this should fix the bison.simple problem that you've had.
2003-02-10 07:53:58 +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
Wim Taymans
d0f97d1978 - Proxy the get_caps function slightly differently. This is potentially dangerous as it works quite differently. My t...
Original commit message from CVS:
- Proxy the get_caps function slightly differently. This is potentially
dangerous as it works quite differently. My tests seem to work though and
it fixes the play-multi-file-segfault in the player.
2003-01-23 19:49:18 +00:00
David Schleef
fb9d810263 Replace __alignof__() GCC-ism with sizeof(). Should produce exactly the same code on all architectures except perhap...
Original commit message from CVS:
Replace __alignof__() GCC-ism with sizeof().  Should produce exactly
the same code on all architectures except perhaps m68k.
2003-01-21 20:50:27 +00:00
Wim Taymans
a722e87b12 Clean up state change
Original commit message from CVS:
Clean up state change
2003-01-15 21:01:58 +00:00
Wim Taymans
1f144436cb Avoid reads on freed memory (patch from vishnu)
Original commit message from CVS:
Avoid reads on freed memory (patch from vishnu)
2003-01-12 13:06:44 +00:00
David I. Lehn
5a74101933 more connect -> link updates
Original commit message from CVS:
more connect -> link updates
2003-01-09 22:59:37 +00:00
Thomas Vander Stichele
f1af3cca60 code cleanups and further deprecation fixes
Original commit message from CVS:
code cleanups and further deprecation fixes
2003-01-09 20:02:34 +00:00
Thomas Vander Stichele
5529bbc7dc first pass of connect->link gst-plugins and other stuff compiles without change at this point
Original commit message from CVS:
first pass of connect->link
gst-plugins and other stuff compiles without change at this point
2003-01-09 14:15:37 +00:00
Wim Taymans
e8b63df877 Provide intrastructure to not have to pass NULL buffers on errors and interrupts, this should fix some issues with th...
Original commit message from CVS:
Provide intrastructure to not have to pass NULL buffers on errors and
interrupts, this should fix some issues with the optimal scheduler.
2003-01-08 21:33:20 +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
eb6c33fb23 - Added PAD_NEGOTIATING flag, remove PAD_EOS flag
Original commit message from CVS:
- Added PAD_NEGOTIATING flag, remove PAD_EOS flag
- Try to avoid negotiation in state change if pad were already negotiating
- Added gstquery.c for completeness (maybe merge common functions with
gstformat.c?)
2003-01-01 03:09:39 +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
a03425c8b3 - disable pads when going to PAUSED, we want to make sure no data is passing when an element is not PLAYING.
Original commit message from CVS:
- disable pads when going to PAUSED, we want to make sure no data is
passing when an element is not PLAYING.
- changed the clock sync API, element should now get a ClockID first and
sync on that. This makes it possible to cancel clock requests.
2002-12-27 22:57:13 +00:00
Wim Taymans
a067031e72 Also display buffer flags
Original commit message from CVS:
Also display buffer flags
2002-12-26 19:15:06 +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
Wim Taymans
f8feed18a0 - queue can change state only when not connected
Original commit message from CVS:
- queue can change state only when not connected
- bufferpools can only be requested from srcpads
2002-12-21 14:21:15 +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
14031db6be Fix silent property
Original commit message from CVS:
Fix silent property
2002-12-15 12:22:11 +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
Thomas Vander Stichele
7eea6a04b7 fix for parallel installability
Original commit message from CVS:
fix for parallel installability
2002-12-08 14:39:38 +00:00
Wim Taymans
fa3381146a More forte compiler fixes, added a .h file to store commonly used macros that have to ifdefed out on non-gcc compilers
Original commit message from CVS:
More forte compiler fixes, added a .h file to store commonly used macros
that have to ifdefed out on non-gcc compilers
2002-11-29 19:08:47 +00:00
Christian Schaller
63a4cb67c2 commit the fdsrc fix from Pedro Corte-Real
Original commit message from CVS:
commit the fdsrc fix from Pedro Corte-Real
2002-11-28 14:13:51 +00:00
Wim Taymans
c925bc7de0 Small cleanups
Original commit message from CVS:
Small cleanups
2002-11-27 23:14:33 +00:00
Wim Taymans
a48bce0ad6 - Added first attempt at general caching mechanism (GstTimeCache renamed to GstCache)
Original commit message from CVS:
- Added first attempt at general caching mechanism (GstTimeCache renamed
to GstCache)
- Some more clocking checks and updates (waiting on GST_CLOCK_TIME_NONE
returns immediatly instead of blocking forever)
- Moved clock get/set functions to element class instead of instance.
- Added cache methods on elements.
- Renamed GST_PROPS_BOOL_TYPE to GST_PROPS_BOOLEAN_TYPE to make it more
consistent with gst_props_get/set_boolean and GST_PROPS_BOOLEAN.
- Give short stats about plugins in gst-inspect.
2002-11-27 20:47:39 +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
David Schleef
e7db7a70ad Change from pthreads to GThreads
Original commit message from CVS:
Change from pthreads to GThreads
2002-11-01 21:38:39 +00:00
David I. Lehn
31efa36756 use G_{BEGIN,END}_DECLS
Original commit message from CVS:
use G_{BEGIN,END}_DECLS
2002-10-30 09:17:34 +00:00
David Schleef
e1b376fb58 Convert from sys_errlist[] to g_strerror()
Original commit message from CVS:
Convert from sys_errlist[] to g_strerror()
2002-10-25 23:57:12 +00:00
Wim Taymans
2030bd0eb1 A discont event should not flush the queue
Original commit message from CVS:
A discont event should not flush the queue
2002-10-25 19:14:57 +00:00
Wim Taymans
99315ab3a6 Add an fd param to set the file descriptor as an int
Original commit message from CVS:
Add an fd param to set the file descriptor as an int
2002-10-17 22:32:55 +00:00
Andy Wingo
c92874adad licenses, ugg
Original commit message from CVS:
licenses, ugg
2002-09-29 18:12:52 +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
Thomas Vander Stichele
1944240a98 backport fixes
Original commit message from CVS:
backport fixes
2002-09-23 06:04:32 +00:00
Wim Taymans
a70416bcd8 State change cleanups
Original commit message from CVS:
State change cleanups
2002-09-15 13:53:08 +00:00
Wim Taymans
c2e64f65da Small cleanups and leak fixes
Original commit message from CVS:
Small cleanups and leak fixes
2002-09-15 13:45:26 +00:00
Wim Taymans
37a127d9ed - Make the return GList of gst_element_get_pad_list as const
Original commit message from CVS:
- Make the return GList of gst_element_get_pad_list as const
- Pad scheduler refactoring
- Remove gst_pad_set/unset_scheduler as it's not needed
- Reimplement gst_pad_get_scheduler using the parent scheduler
- Remove gst_pad_peek as it cannot work reliably
- Remove the pad bufpen, replace with scheduler private gpointer
- Make queue use the new _get_scheduler implementation
- Remove _pad_unset_scheduler from GstScheduler
- Remove LOOP_SEEK mode from aggregator
- Other fixes for API changes.
2002-09-12 20:52:03 +00:00
Ronald S. Bultje
5b5274daf2 This changes an important part of the plugin API, gst_pad_try_set_caps() no longer returns a boolean, it now returns ...
Original commit message from CVS:
This changes an important part of the plugin API, gst_pad_try_set_caps() no longer returns a boolean, it now returns a GstPadConnectReturn, which makes much more sense than a boolean. All plugins have also been changed, so don't worry ;)
2002-09-10 08:52:58 +00:00
Christian Schaller
b9b6c6890a committing many nice little memleaks fixes from Iain, great work dude
Original commit message from CVS:
committing many nice little memleaks fixes from Iain, great work dude
2002-09-08 18:27:36 +00:00
Wim Taymans
d9123d8468 Don't doe EOS in a state change function
Original commit message from CVS:
Don't doe EOS in a state change function
2002-09-01 12:55:57 +00:00
Wim Taymans
1dea23cf36 Implemented segment seeking in fakesrc
Original commit message from CVS:
Implemented segment seeking in fakesrc
2002-08-02 11:45:20 +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
a1a3d3455f - More element API docs.
Original commit message from CVS:
- More element API docs.
- more nego changes for READY->PAUSED
2002-07-24 21:06:17 +00:00
Andy Wingo
74eba3a615 add default bufferpool, clean up some code, add bufferpool testing to fakesrc
Original commit message from CVS:
add default bufferpool, clean up some code, add bufferpool testing to fakesrc
2002-07-24 18:31:12 +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
Wim Taymans
19055c8091 Removed deprecated disksink
Original commit message from CVS:
Removed deprecated disksink
2002-06-11 21:06:53 +00:00
Wim Taymans
da176ab8ca Added the flush flag
Original commit message from CVS:
Added the flush flag
2002-06-09 12:13:56 +00:00
Wim Taymans
3ab6d4c0e2 Whan the buffer is filled, the buffer is kept and added to the queue when there is room again. Don't do this after a ...
Original commit message from CVS:
Whan the buffer is filled, the buffer is kept and added to the queue
when there is room again. Don't do this after a flush.
2002-06-09 12:13:30 +00:00
Wim Taymans
ce100a8211 Revert queue event forwarding, added comments what it is supposed to do.
Original commit message from CVS:
Revert queue event forwarding, added comments what it is supposed to do.
2002-06-08 16:30:43 +00:00
Steve Baker
89f8aec72e g_print bad
Original commit message from CVS:
g_print bad
2002-06-08 16:15:02 +00:00
Steve Baker
e9e6b0797d put upstream events in an async queue and resend them at the start of the chain. not working as expected yet but a start
Original commit message from CVS:
put upstream events in an async queue and resend them at the start of the chain. not working as expected yet but a start
2002-06-08 16:13:18 +00:00
Wim Taymans
f50d53e209 A discont event is the right way to handle seeking on filesink IMO
Original commit message from CVS:
A discont event is the right way to handle seeking on filesink IMO
2002-06-08 15:00:30 +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
b7b63ff4cd Make sure we interrupt the right scheduler on the right pad.
Original commit message from CVS:
Make sure we interrupt the right scheduler on the right pad.
2002-06-05 18:10:07 +00:00
Wim Taymans
005a79ba91 No \n for DEBUG, thank you
Original commit message from CVS:
No \n for DEBUG, thank you
2002-06-04 21:04:41 +00:00
Steve Baker
8713cd5e0e add an optional timeout for when queue blocks. when timeout is reached a GST_EVENT_FILLER is sent downstream
Original commit message from CVS:
add an optional timeout for when queue blocks. when timeout is reached a GST_EVENT_FILLER is sent downstream
This is needed for gst-player since videosink has to be in the same thread as the ui, and spider blocks when there is no video (thus freezing the ui).
2002-06-03 15:44:28 +00:00
Wim Taymans
74f97cd6f8 Don't update state if the peer event failed
Original commit message from CVS:
Don't update state if the peer event failed
2002-06-02 15:34:34 +00:00
Wim Taymans
54580cf3fb unlock the queue
Original commit message from CVS:
unlock the queue
2002-06-02 11:51:26 +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
a599a5b1df Created an overridable method for seeking on an element, along with a default implementation.
Original commit message from CVS:
Created an overridable method for seeking on an element, along with a default
implementation.
make queue flush on discont (not entirely correct)
removed the new_media from the discont event.
2002-05-30 19:03:30 +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
Andy Wingo
ad88770782 add gerror to gstplugin.c -- not fully propagated to periphery apis fix recursive dir creation in the xml registry co...
Original commit message from CVS:
* add gerror to gstplugin.c -- not fully propagated to periphery apis
* fix recursive dir creation in the xml registry
* comment identity props
* fix dependency resolution in lib loading
2002-05-20 23:11:10 +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
df159cbf0d Small cleanups
Original commit message from CVS:
Small cleanups
2002-05-01 20:02:40 +00:00
Thomas Vander Stichele
651f3262ab rename operation
Original commit message from CVS:
rename operation
2002-04-28 17:08:59 +00:00
Andy Wingo
8d198fed21 a hack to work around intltool's brokenness a current check for mpeg2dec details->klass reorganizations an element br...
Original commit message from CVS:
* a hack to work around intltool's brokenness
* a current check for mpeg2dec
* details->klass reorganizations
* an element browser that uses details->klass
* separated cdxa parse out from the avi directory
2002-04-20 21:42:53 +00:00
Benjamin Otte
b2d503d528 declare those stuff extern. My windec doesn't like it without :)
Original commit message from CVS:
declare those stuff extern. My windec doesn't like it without :)
2002-04-14 23:02:41 +00:00
Steve Baker
2d5f9bf48f ARG_LOCATIONS is a pointer
Original commit message from CVS:
ARG_LOCATIONS is a pointer
2002-04-14 10:00:21 +00:00
Steve Baker
c70bfc60b6 ARG_ERROR_AFTER is an int
Original commit message from CVS:
ARG_ERROR_AFTER is an int
2002-04-14 09:59:13 +00:00
Steve Baker
adddd11e71 offset is an int64
Original commit message from CVS:
offset is an int64
2002-04-14 09:58:14 +00:00
Steve Baker
de355109ae make the NULL check silent since it might be valid.
Original commit message from CVS:
make the NULL check silent since it might be valid.
2002-04-14 09:57:15 +00:00
Andy Wingo
b214d35eed commit to make gstreamer follow the gtk function/macro naming conventions:
Original commit message from CVS:
commit to make gstreamer follow the gtk function/macro naming conventions:

GstPadTemplate <-> gst_pad_template <-> GST_PAD_TEMPLATE

and the same for *factory and typefind.
2002-04-11 20:35:18 +00:00
Wim Taymans
ffe760e476 GST_DEBUG and _INFO should have no trailing \n
Original commit message from CVS:
GST_DEBUG and _INFO should have no trailing \n
2002-04-03 18:26:03 +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
Wim Taymans
d7a5d173c8 Documentation updates
Original commit message from CVS:
Documentation updates
Added dump to identity
Fix some warnings in gstelement
2002-03-31 14:04:50 +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
d6b07866ca let's not give our plugins -release versioning make clean before rebuilding after you update on this one...
Original commit message from CVS:
let's not give our plugins -release versioning
make clean before rebuilding after you update on this one...
2002-03-19 05:46:38 +00:00
Andy Wingo
0067d17205 removal of //-style comments don't link plugins to core libs -- the versioning is done internally to the plugins with...
Original commit message from CVS:
* removal of //-style comments
* don't link plugins to core libs -- the versioning is done internally to the plugins with the plugin_info struct,
and symbol resolution is lazy, so we can always know if a plugin can be loaded by the plugin_info data. in theory.
2002-03-19 04:10:13 +00:00
Andy Wingo
6ae5f15064 s/@GST_PLUGIN_LDFLAGS@/$(GST_PLUGIN_LDFLAGS)/ @-substitued variables variables are defined as make variables automagi...
Original commit message from CVS:
s/@GST_PLUGIN_LDFLAGS@/$(GST_PLUGIN_LDFLAGS)/

@-substitued variables variables are defined as make variables automagically,
and this gives the user the freedom to say make GST_PLUGIN_LDFLAGS=-myflag
2002-03-19 01:39:45 +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
Wim Taymans
8bb166dace Added last_message.
Original commit message from CVS:
Added last_message.
2002-02-28 23:39:08 +00:00
Benjamin Otte
24fb9e8282 fixes:
Original commit message from CVS:
fixes:
- g_free accepts NULL
- indenting
- last_message is readable, not writeable
- warn on invalid property id
2002-02-24 13:38:10 +00:00
Andy Wingo
3114e54dc4 changes to spider: add padtemplates so the connect functions can connect two request-pad elements add a hack in gstel...
Original commit message from CVS:
* changes to spider:
* add padtemplates so the connect functions can connect two request-pad
elements
* add a hack in gstelement.c. please look at this, Company, and see how
we can get around this
* add backwards caps-propagation support in identity, int2float, float2int,
adder, speed, volume
2002-02-19 05:59:07 +00:00
Andy Wingo
7e7cf82d70 capsnego fixes in adder, speed, and identity
Original commit message from CVS:
capsnego fixes in adder, speed, and identity
2002-02-17 17:34:23 +00:00
Andy Wingo
b45b280847 convert identity to g_object_notify stuff i hate last-message, it's stupid
Original commit message from CVS:
convert identity to g_object_notify stuff
i hate last-message, it's stupid
2002-02-17 06:00:20 +00:00
Ronald S. Bultje
eaa783598a This is probably cleaner
Original commit message from CVS:
This is probably cleaner
2002-02-13 18:28:21 +00:00
Thomas Vander Stichele
70834db6ad updating tee to use properties
Original commit message from CVS:
updating tee to use properties
2002-02-12 13:57:14 +00:00
Andy Wingo
b47aea64e1 changed libgst -> libgstreamer to comply with namespace issues with gnu smalltalk various other fixes
Original commit message from CVS:
* changed libgst -> libgstreamer to comply with namespace issues with gnu smalltalk
* various other fixes
2002-02-10 17:09:53 +00:00
Thomas Vander Stichele
f985019e4c more build cleanups (using as-version and as-libtool) some release doc notes from the previous release
Original commit message from CVS:
* more build cleanups (using as-version and as-libtool)
* some release doc notes from the previous release
2002-02-09 21:05:12 +00:00
Ronald S. Bultje
c2dc4b26c1 Wim, please upload the header files too next time ;)
Original commit message from CVS:
Wim, please upload the header files too next time ;)
2002-02-07 11:05:27 +00:00
Wim Taymans
19e0ea0458 Converted a few _info events to properties..
Original commit message from CVS:
Converted a few _info events to properties..
2002-02-06 21:57:35 +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
Thomas Vander Stichele
c3ee55473f this fix makes sure that we actually request a pad from the template with an unused name this isn't optimal but gets ...
Original commit message from CVS:
this fix makes sure that we actually request a pad from the template with
an unused name
this isn't optimal but gets the job done

should we move this code fragment to it's own helper function to use
everywhere stuff is requested according to a template ?
2002-02-05 17:42:40 +00:00
Thomas Vander Stichele
1795cddc9f small compile fix
Original commit message from CVS:
small compile fix
2002-02-04 23:28:55 +00:00
Wim Taymans
53b6bb6242 Added a first stab at a better clocking system.
Original commit message from CVS:
Added a first stab at a better clocking system.
It still needs more infrastructure for async notification and custom clock
implementors.
This thing can still deadlock the pipeline.
2002-02-03 20:07:09 +00:00
Ronald S. Bultje
3ea3b8e8ab Some small adjustments for for better open-a-new-file handling
Original commit message from CVS:
Some small adjustments for for better open-a-new-file handling
2002-02-03 15:47:20 +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
b37f73757a Fix a serious leak in tee
Original commit message from CVS:
Fix a serious leak in tee
2002-02-02 00:22:34 +00:00
Ronald S. Bultje
02605b1754 Allow new headers to be written - or we will never create valid second files for avimux
Original commit message from CVS:
Allow new headers to be written - or we will never create valid second files for avimux
2002-01-31 21:03:39 +00:00
Ronald S. Bultje
6db16f9677 Allow multiple files to be created with disksink and integrate a new event for that
Original commit message from CVS:
Allow multiple files to be created with disksink and integrate a new event for that
2002-01-31 15:38:04 +00:00
Thomas Vander Stichele
2a75dee620 removing versioning please check ;)
Original commit message from CVS:
removing versioning
please check ;)
2002-01-30 10:15:26 +00:00
Benjamin Otte
7fe00b9485 dude, use glib swap functions
Original commit message from CVS:
dude, use glib swap functions
2002-01-29 20:42:18 +00:00
Benjamin Otte
aaf8407f85 inclusion of GstMD5Sink
Original commit message from CVS:
inclusion of GstMD5Sink
2002-01-29 20:06:07 +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
b2ee38575d Landed the new improved capsnegotiation system.
Original commit message from CVS:
Landed the new improved capsnegotiation system.
The main idea is to keep track of the possible data types that can
pass through a connection. plugins can at any time inspect, adjust and
refine these caps. plugins also get notified when something changes to
the types so that they can reconfigure themselves.
Look at the updated plugins and the soon to be finished doc.
2002-01-13 22:22:42 +00:00
David I. Lehn
8da28910bc s/filter/plugin/ add $(GST_LIBS) to all plugins move Makefile.am things around to a mostly standard layout remove HTT...
Original commit message from CVS:
* s/filter/plugin/
* add $(GST_LIBS) to all plugins
* move Makefile.am things around to a mostly standard layout
* remove HTTP flags/libs from elements since http element moved
2002-01-12 00:47:40 +00:00
Andy Wingo
d262bea863 summary: fix xml in gstreamer 1) make clear distinction between loading xml that actually creates objects and loading...
Original commit message from CVS:
summary: fix xml in gstreamer

1) make clear distinction between loading xml that actually creates objects and loading xml that just
synchronizes properties with objects. moved most of gst_element_restore_thyself functionality to
gst_xml_make_element. this new function name can change if it sucks.
2) many various fixes. createxml and runxml work now.
3) doc updates.
4) GstSignalObject is stil broken. i have no idea what it's supposed to do.
2002-01-11 15:49:47 +00:00
Wim Taymans
03391373ef Some small cleanups. added a drop_probaility arg to identity, so it occasionally can drop buffers to simulate network...
Original commit message from CVS:
Some small cleanups.
added a drop_probaility arg to identity, so it occasionally can drop buffers
to simulate network packet loss
2002-01-01 13:46:04 +00:00
Wim Taymans
ad6c7ef940 yes, it does return a gboolean.
Original commit message from CVS:
yes, it does return a gboolean.
2001-12-31 16:02:50 +00:00
Thomas Vander Stichele
d1d3d5344f can someone fix this better than me and remove FIXME's ?
Original commit message from CVS:
can someone fix this better than me and remove FIXME's ?
2001-12-31 15:54:42 +00:00
Wim Taymans
881672937a And remove some of the debugging crap
Original commit message from CVS:
And remove some of the debugging crap
2001-12-29 03:09:23 +00:00
Wim Taymans
7a4596415c And the .h file..
Original commit message from CVS:
And the .h file..
2001-12-29 03:05:34 +00:00
Wim Taymans
893c03f784 Changed to a GList as a GSList seems to have ..uhm.. issues
Original commit message from CVS:
Changed to a GList as a GSList seems to have ..uhm.. issues
2001-12-29 03:02:14 +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
e7f54b1e74 - Added a function to get the currently executing cothread
Original commit message from CVS:
- Added a function to get the currently executing cothread
- Removed some useless includes
- _interrupt now returns a boolean so the behaviour after the interrupt
can be controlled by the scheduler.
- Added a better way to set/get the default scheduler.
- make thread and pipeline get the default scheduler.
2001-12-27 00:47:41 +00:00
Wim Taymans
2198726630 Added a property to make identity fail after N buffers
Original commit message from CVS:
Added a property to make identity fail after N buffers
2001-12-27 00:40:50 +00:00
Wim Taymans
bd128c199c Tee Fixes. added cothread_stop (not used) improved the pad event dispatcher.
Original commit message from CVS:
Tee Fixes.
added cothread_stop (not used)
improved the pad event dispatcher.
added an event_received signal on the pad.
do less state changes in the autoplugger.
small scheduler fix.
2001-12-25 02:15:46 +00:00
Andy Wingo
aa9bc272af removed httpsrc from core
Original commit message from CVS:
removed httpsrc from core
2001-12-24 21:33:03 +00:00
Wim Taymans
7ec6702121 Better, cleaner state management of the scheduler by adding scheduler state flags.
Original commit message from CVS:
Better, cleaner state management of the scheduler by adding scheduler state
flags.
typefind has to interrupt instead of yield.
Fix a leak in the queue when it's dropping buffers.
2001-12-24 15:14:03 +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
f5affde61c - Reclaim cothread state even if the cothread was never activated after the free.
Original commit message from CVS:
- Reclaim cothread state even if the cothread was never activated after
the free.
- fix the bin state change when there are no more children.
- use a real method to signal the parent bin of a state change.
- move the state change policy in the scheduler.
- remove the unused and ridiculous state change event
- don't free the cothread state when the element is disabled. only free it
when the element is removed from the scheduler.
2001-12-20 20:03:10 +00:00
Wim Taymans
a8b1346857 cothread cleanup.
Original commit message from CVS:
cothread cleanup.
- removed some old code.
- ran the thing through indent
- rename cothread_init/free to cothread_context_init/free
- implement cothread_free/destroy to clear the cothread_state slot
- make cothread_init reuse empty slots.
minor cleanups in error reporting (gstpad, gstelement)
code cleanup in gstthread
make unexpected state changes in gstthread less fatal
free the cothread_state in the scheduler.

This one passes all the current cvs testcases including dynamic-pipeline.
2001-12-20 02:41:34 +00:00
Zaheer Abbas Merali
eb45d89cfb Added capsnego to the Tee Element
Original commit message from CVS:
Added capsnego to the Tee Element
2001-12-19 01:17:54 +00:00
Wim Taymans
56d3cdf64a - Elements can now send events to their parent.
Original commit message from CVS:
- Elements can now send events to their parent.
- remove the g_signals from the core for parent<->child communication
- the application can easily get element info by listening for an event
signal from the toplevel bin.
- added gst_element_info()/_error().
- fakesrc and fakesink use the info event instead of g_print.
- GST_TYPE_* causes segfaults with elect fence, rever to G_TYPE_POINTER
until we know what's wrong.
- various leaks fixed wrt element destroy.
- The object that created the event is now stored as GST_EVENT_SRC
2001-12-18 19:03:07 +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
Andrew Mitchell
f518f8e795 Re-add fix from the branch
Original commit message from CVS:
Re-add fix from the branch
2001-12-17 04:22:11 +00:00
Thomas Vander Stichele
40e6dccb43 merged back from build branch let's hope you all agree
Original commit message from CVS:
merged back from build branch
let's hope you all agree
2001-12-16 14:23:19 +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
68d82dd00c Various cleanups and leak fixage.
Original commit message from CVS:
Various cleanups and leak fixage.
2001-12-15 22:37:35 +00:00
Christian Schaller
d6b9ae8b63 aye ladie, no more ugly // comments here, even if Taaz gets upset about it
Original commit message from CVS:
aye ladie, no more ugly // comments here, even if Taaz gets upset about it
2001-12-14 22:59:21 +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
Andy Wingo
dd620071e5 vestigial gstdisksrc removal
Original commit message from CVS:
vestigial gstdisksrc removal
2001-12-14 00:19:12 +00:00
Andy Wingo
413a70a342 go away i tell you
Original commit message from CVS:
go away i tell you
2001-12-14 00:00:10 +00:00
Andy Wingo
a1669cdddd bye bye disksrc! c-ya! peace out!
Original commit message from CVS:
bye bye disksrc! c-ya! peace out!
2001-12-13 23:59:05 +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
Thomas Vander Stichele
fe6ae5be4c added GST_CFLAGS to fix make distcheck
Original commit message from CVS:
added GST_CFLAGS to fix make distcheck
2001-12-08 13:41:52 +00:00
wrobell
08eaa11259 - some fixes to int2float making automake 1.5 happy (gst now requires automake1.5). It's still not perfect but it bui...
Original commit message from CVS:
- added playondemand plugin by Leif Morgan Johnson <lmjohns3@eos.ncsu.edu>
- some fixes to int2float
- aplied a patch from wrobell <wrobell@ite.pl> that is a first attempt at
making automake 1.5 happy (gst now requires automake1.5). It's still not
perfect but it builds.
- Made the schedulers plugable. The default scheduler now lives inside a
plugin.
- Added a new mpeg1/2 parser/demuxer.
- Fixed some compiler warnings in the core libs.
- substantial work to GstThread (hopefully less race conditions). simplified
the code in GstThread a bit. A state change can now also happen in the
thread context.
- reworked the state semantics of a bin. it'll now automatically get the
highest state of its children.
- the autoplugger now nests the threads so that a state change failure of
one thread doesn't make its upstream thread lock.
- GstQueue refuses to go to PLAYING if the sinkpad is not connected. This
way the queue will not wedge in the _get lock.
- GstQueue unlocks its mutexes when going to PAUSED.
- make sure that when all elements in a bin/thread go to PAUSED, the bin
is set to PAUSED too.
- make a parent bin wait for its children to PAUSE before ending the
iteration with FALSE (EOS)
- Some changes to GstPlay to deal with EOS.
- aplied the latest patch from Zeenix to gstrtp.

end result: GstPlay doesn't crash on EOS and the pipeline is now shut down
properly.
2001-12-04 22:12:50 +00:00
Wim Taymans
2f60d799a4 Make the queue event aware and make it do something usefull with the events.
Original commit message from CVS:
Make the queue event aware and make it do something usefull with the events.
2001-11-14 21:09:44 +00:00
Erik Walthinsen
42ec9085a2 added taaz's threading patch, including queue events
Original commit message from CVS:
added taaz's threading patch, including queue events
2001-10-27 20:28:31 +00:00
David I. Lehn
2408c618b2 basic statistics element
Original commit message from CVS:
basic statistics element
2001-10-24 22:42:40 +00:00
David I. Lehn
8bcaad11e6 stop printing out readbytes
Original commit message from CVS:
stop printing out readbytes
2001-10-24 22:42:11 +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
Wim Taymans
cccc097ca5 API docs. revived _buffer_ref_by_count fast types for scheduler and bin.
Original commit message from CVS:
API docs.
revived _buffer_ref_by_count
fast types for scheduler and bin.
error checking on plugin features;
removed some prototypes that were not implemented (gst_pipeline_iterate
comes to mind)
remove gst_pad_event until we know what it's supposed to do.
remove sinesrc, it wasn't compiles anymore, so...
updates to various elements that used the old event API.
2001-10-21 18:00:31 +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
Steve Baker
b48fa3d758 gstsinesrc is being moved into plugins/synthesis/sinesrc
Original commit message from CVS:
gstsinesrc is being moved into plugins/synthesis/sinesrc
2001-10-06 12:46:50 +00:00
Steve Baker
dc2006465a volume param now uses the direct instead of the callback method to update
Original commit message from CVS:
volume param now uses the direct instead of the callback method to update
2001-09-16 16:54:34 +00:00
Steve Baker
5be7eb77cf all info to describe a dparam is now in the GstDParamSpec struct. The resemblance to LADSPA descriptors is intentional
Original commit message from CVS:
all info to describe a dparam is now in the GstDParamSpec struct.  The resemblance to LADSPA descriptors is intentional
2001-09-16 13:00:49 +00:00
Joshua N. Pritikin
8b29840f55 1. Add more warnings for the gst core only. Various trival fixes to quiet the warnings.
Original commit message from CVS:
1. Add more warnings for the gst core only.  Various trival fixes
to quiet the warnings.

2. Fix GstBufferCopyFunc prototype.

3. Re-apply the reverted type!=0 assertion in gst_elementfactory_new.
2001-09-14 22:16:47 +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
Steve Baker
7f47be399d generate real timestamps
Original commit message from CVS:
generate real timestamps
2001-09-14 19:18:53 +00:00
Joshua N. Pritikin
11ff1a3b97 add assertion
Original commit message from CVS:
add assertion
2001-09-13 01:16:45 +00:00
Steve Baker
3c51f9cfa7 remove volume and freq args. update to reflect api changes
Original commit message from CVS:
remove volume and freq args. update to reflect api changes
2001-09-12 11:26:31 +00:00
Wim Taymans
8d3ec40f5e Updates to make it compile against gtk1.2 again. mostly marshal stuff.
Original commit message from CVS:
Updates to make it compile against gtk1.2 again. mostly marshal stuff.
2001-09-10 20:11:22 +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
Steve Baker
4fefa734d6 s/Dparam/DParam/ <taaz> i'll whine about an irrelevant thing: Dparam vs DParam. though Dparam is more consistantly s...
Original commit message from CVS:
s/Dparam/DParam/ <taaz> i'll whine about an irrelevant thing: Dparam vs DParam.  though Dparam is more consistantly screwed up with everything else ;)
2001-09-10 17:20:45 +00:00
Steve Baker
750e6b8c97 dparams have arrived. see previous mail for an intro
Original commit message from CVS:
dparams have arrived. see previous mail for an intro
2001-09-10 16:28:43 +00:00
David I. Lehn
d374b67d19 typo fix
Original commit message from CVS:
typo fix
2001-09-01 01:05:11 +00:00
Erik Walthinsen
6eee663d0f oops, another gtkism, changed GtkType to GType for filesrc
Original commit message from CVS:
oops, another gtkism, changed GtkType to GType for filesrc
2001-08-29 00:24:26 +00:00
Erik Walthinsen
75312f3812 Updated the event system to use event,timestamp,data instead of a pointer.
Original commit message from CVS:
Updated the event system to use event,timestamp,data instead of a pointer.
Updated elements to use the event system correctly.
Changed "size" to "filesize" in disksrc.
2001-08-22 21:45:25 +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
Wim Taymans
12bbbd5c1e Lots of modifications to the plugin system.
Original commit message from CVS:
Lots of modifications to the plugin system.
- Added a GstPluginfeature object that serves as a base class for all
plugin contents.
- changed the plugin API, everyhting is now added with
gst_plugin_add_feature
- typefactories are named now so that they can be located easily and filled
in at plugin load.
- mime types like "video/raw image/raw" are gone for now.
- lots of plugin updates (style and API changes)
- tested with an without registry.
- updates to various tools.
- added a little testsuite to test/show how you can load plugins (4 modes)

Test this one, Almost everything has changed :-)
2001-08-21 20:16:48 +00:00
Steve Baker
3cda4e2eaa sync with the current CVS glib API
Original commit message from CVS:
sync with the current CVS glib API
2001-08-13 19:00:13 +00:00
Wim Taymans
b53802cffe mmap returns MAP_FAILED in case of an error, also do a perror in case of a failure.
Original commit message from CVS:
mmap returns MAP_FAILED in case of an error, also do a perror in case of a
failure.
2001-08-10 21:36:57 +00:00
Wim Taymans
453f2fee05 Removed the old eos and qos functions.
Original commit message from CVS:
Removed the old eos and qos functions.
Removed the functions from the elements.
2001-08-10 17:34:59 +00:00
Erik Walthinsen
ee9426a1a1 Initial code for the event system.
Original commit message from CVS:
Initial code for the event system.
2001-08-06 20:37:21 +00:00
Wim Taymans
2ef964f77b Added prototypes for gst_pad_peek, gst_pad_select and gst_pad_selectv.
Original commit message from CVS:
Added prototypes for gst_pad_peek, gst_pad_select and gst_pad_selectv.
Added different scheduling methods in aggregator.
Fixed a bug in fakesrc when setting up the scheduling functions.
2001-07-11 22:52:48 +00:00
Wim Taymans
abf2bfc273 Some cleanups in output of various test plugins.
Original commit message from CVS:
Some cleanups in output of various test plugins.
Added debug output to tee.
Added buffer duplication to identity.
2001-07-11 19:22:20 +00:00
Wim Taymans
bb1cb28921 Added request pads to fakesink.
Original commit message from CVS:
Added request pads to fakesink.
2001-07-11 16:45:43 +00:00
Wim Taymans
1b50ccc246 Added DEBUG_FUNCPTR to most plugins.
Original commit message from CVS:
Added DEBUG_FUNCPTR to most plugins.
Added request pads to fakesrc and aggregator.
2001-07-11 15:51:40 +00:00
Wim Taymans
93c163032d Some code cleanups.
Original commit message from CVS:
Some code cleanups.
Added printouts of the buffer timestamps in identity, fakesrc, fakesink.
Added an aggregator test element.
2001-07-11 14:56:16 +00:00
Wim Taymans
13e5c7ba91 Fix an endless loop at EOS.. this is a hack...
Original commit message from CVS:
Fix an endless loop at EOS.. this is a hack...
2001-06-30 00:35:55 +00:00
Richard Boulton
37c010c00d Convert XMMS and LIBGHTTP checks to use GST_CHECK_FEATURE()
Original commit message from CVS:
Convert XMMS and LIBGHTTP checks to use GST_CHECK_FEATURE()
XMMS check is turned off by default (though not in a very neat way)
2001-06-26 21:44:45 +00:00
Erik Walthinsen
7f8d8fe8d5 Merged from GOBJECT1 to HEAD at 200106241
Original commit message from CVS:
Merged from GOBJECT1 to HEAD at 200106241
2001-06-25 01:20:11 +00:00
Wim Taymans
41381041f7 Changed the bytes_written to a gint to avoid overflow...
Original commit message from CVS:
Changed the bytes_written to a gint to avoid overflow...
2001-06-19 18:32:27 +00:00
Wim Taymans
5c73a7824c Changed a stupid assert in request_pad.
Original commit message from CVS:
Changed a stupid assert in request_pad.
Some fixes for pullregion and EOS conditions.
Remove an unneeded check in the scheduler (check for NULL buffer)
some EOS fixes for pullregion in disksrc.
Removed the macro in the gstparse.h header 'cause it's internal to gstparse.c
Added a check in gstparse for NULL element.
2001-06-15 19:13:45 +00:00
Wim Taymans
3c18e42b39 Fixed some warnings.
Original commit message from CVS:
Fixed some warnings.
2001-06-01 18:30:40 +00:00
Thomas Vander Stichele
abe959c771 coded small bit in to allow changing of output location
Original commit message from CVS:
coded small bit in to allow changing of output location
2001-06-01 15:29:03 +00:00
Erik Walthinsen
13502fc293 Added some caps != NULL checks.
Original commit message from CVS:
Added some caps != NULL checks.
Patched up a problem with the thread handling when the iteration fails.
Cleaned up the output of -inspect a tiny bit.
2001-05-27 23:57:34 +00:00
Wim Taymans
14b03dfeac don't link against libgst.la because it seems to fail on some libtool versions.
Original commit message from CVS:
don't link against libgst.la because it seems to fail on some libtool
versions.
2001-05-26 12:17:05 +00:00
Wim Taymans
dfc62bcbce Added GST_LIBS to LIBADD.
Original commit message from CVS:
Added GST_LIBS to LIBADD.
2001-05-25 21:38:21 +00:00
Erik Walthinsen
4a583683e5 Merged from INCSCHED on 200505251!!!
Original commit message from CVS:
Merged from INCSCHED on 200505251!!!
2001-05-25 21:00:07 +00:00
David I. Lehn
568cbc3030 Update some signal func vars.
Original commit message from CVS:
Update some signal func vars.
2001-05-23 23:24:17 +00:00
Bastien Nocera
427203dc28 - it is now possible to change the opened file when state is PAUSED
Original commit message from CVS:
- it is now possible to change the opened file when state is PAUSED
2001-05-22 19:22:57 +00:00
Wim Taymans
8a89e0b83e Made pipefilter a DECOUPLED element.
Original commit message from CVS:
Made pipefilter a DECOUPLED element.
2001-05-20 14:12:36 +00:00
David I. Lehn
c447ea71a4 Pass buffer in handoff signal
Original commit message from CVS:
Pass buffer in handoff signal
2001-05-10 20:28:51 +00:00
David I. Lehn
38c9344701 Added "silent" arg.
Original commit message from CVS:
Added "silent" arg.
2001-05-09 04:12:09 +00:00
Steve Baker
f02d86f752 update sinesrc to latest caps
Original commit message from CVS:
update sinesrc to latest caps
2001-04-28 18:58:05 +00:00
Steve Baker
ad7fd56339 add factory init for sinesrc
Original commit message from CVS:
add factory init for sinesrc
2001-04-28 18:57:23 +00:00
Erik Walthinsen
09588296ae Collection of minor changes: autogen.sh - remove config.cache before running ./configure gst/elements/gstfakesink.c -...
Original commit message from CVS:
Collection of minor changes:

* autogen.sh - remove config.cache before running ./configure
* gst/elements/gstfakesink.c - print out the size of the buffer, too
* plugins/Makefile.am - removed a spare trailing backslash
* plugins/arts/gst_artsio_impl.cc - change the scale back to 0.5
* plugins/oss/gstosssrc.c - change name slightly to match osssink
2001-04-23 23:16:12 +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
31427072e3 Added caps proxying and bufferpool passing to identity so that
Original commit message from CVS:
Added caps proxying and bufferpool passing to identity so that
-launch disksrc ! mad ! identity ! osssink works.
2001-04-20 19:21:51 +00:00
Thomas Vander Stichele
0b7ec5c86f update to take new gstdisksink element into account
Original commit message from CVS:
update to take new gstdisksink element into account
2001-04-20 12:04:40 +00:00
Thomas Vander Stichele
24db50efc9 first stab at a disk sink element no optimization, is it necessary ? basic error checking seems to work; you can copy...
Original commit message from CVS:
* first stab at a disk sink element
* no optimization, is it necessary ?
* basic error checking
* seems to work; you can copy files by typing
gstreamer-launch disksrc location=test.in ! disksink location=test.out
* decode of mp3 to raw pcm also tested
2001-04-20 11:14:10 +00:00
Erik Walthinsen
91aa46b62d finished change to GST_ macros
Original commit message from CVS:
finished change to GST_ macros
2001-04-17 05:24:24 +00:00
Wim Taymans
6118b074bc Added 1337 macros to create padtemplates and capstemplates.
Original commit message from CVS:
Added 1337 macros to create padtemplates and capstemplates.
Added some code for bufferpools
2001-04-16 21:45:02 +00:00
Wim Taymans
3b8a7d18f8 Added an arg to fakesink so that it doesn't printf.
Original commit message from CVS:
Added an arg to fakesink so that it doesn't printf.
2001-04-16 16:45:53 +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
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
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
3ec275832a Merged the CAPSNEGO1 branch..
Original commit message from CVS:
Merged the CAPSNEGO1 branch..
2001-03-12 21:02:12 +00:00
Wim Taymans
5647ffcc86 Applied the sinesrc patch from Steve Baker.
Original commit message from CVS:
Applied the sinesrc patch from Steve Baker.
2001-03-11 18:34:45 +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
David I. Lehn
da7eb8492f Remove alias for asyncdisksrc backwards compatability.
Original commit message from CVS:
Remove alias for asyncdisksrc backwards compatability.
2001-02-21 20:57:02 +00:00
David I. Lehn
d22d054374 Fixed typo in element details.
Original commit message from CVS:
Fixed typo in element details.
2001-02-21 20:28:31 +00:00
David I. Lehn
0edc93ae29 Added parameter checking to gst_queue_get().
Original commit message from CVS:
Added parameter checking to gst_queue_get().
2001-02-21 20:27:54 +00:00
Erik Walthinsen
c17ed10404 Reworked getregion/pullregion stuff. Region is now specified by a type (OFFSET_LEN, TIME_LEN, etc.) and two guint64'...
Original commit message from CVS:
Reworked getregion/pullregion stuff.  Region is now specified by a type
(OFFSET_LEN, TIME_LEN, etc.) and two guint64's.  They are offset and len,
where offset can be used for the time field, and len would be zero or
the time unit (say, 33ms for video).
2001-02-05 17:16:23 +00:00
Erik Walthinsen
38ff9ae802 moved asyncdisksrc to disksrc, no point in having a distinction
Original commit message from CVS:
moved asyncdisksrc to disksrc, no point in having a distinction
2001-02-04 21:37:14 +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
Wim Taymans
75aa948e0c Docs updates
Original commit message from CVS:
Docs updates
Added XML load from memory functionality
Undid the videosink patch, something else is wrong now on my machine:
no MMX acceleration :-(
2001-01-21 23:20:46 +00:00
Sepp Wijnands
8c54486378 the 'OSS hangs when opening the device when in use' bug.
Original commit message from CVS:
Applied the patch from Sepp Wijnands <mrrazz@garbage-coderz.net> that solves
the 'OSS hangs when opening the device when in use' bug.
2001-01-21 00:57:50 +00:00
Wim Taymans
7ce56f5dab More EOS changes.
Original commit message from CVS:
More EOS changes.
When a bin2 is found inside a bin1, we add the bin2 to the EOS providers
of the bin1. When there is nothing more to schedule in bin1 and bin2 has
fired EOS, bin1 is in EOS.
The queue overrides the EOS notification and calls EOS on the src pad
when the queue is empty and the sink pad is in EOS.
2001-01-20 17:59:25 +00:00
Wim Taymans
0a9cc5f2fe Make sure the loopfunction ends when an element goes to EOS.
Original commit message from CVS:
Make sure the loopfunction ends when an element goes to EOS.
Fixed the fakesrc bug found by taaz.
2001-01-20 03:28:37 +00:00
Wim Taymans
e40880a90e And here they are....
Original commit message from CVS:
And here they are....
2001-01-19 00:02:53 +00:00
Wim Taymans
520fbbee75 Moved queue and typefind elements to the core since they are referenced by name.
Original commit message from CVS:
Moved queue and typefind elements to the core since they are referenced
by name.
2001-01-19 00:01:42 +00:00
Wim Taymans
90f82b6840 Added mthodes to request an element to create pads: gst_element_request_pad*
Original commit message from CVS:
Added mthodes to request an element to create pads: gst_element_request_pad*
This can be used to construct a tee and a muxer/mixer/aggregator element.
Moved the tee element to elements/ because it can now be handled with the
new pad request features.
The padfactory also has some changes: a pad can now be of presence REQUEST,
which means that the pad can be requested from this plugin (doh).
2001-01-18 23:46:15 +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
Wim Taymans
73ae4b1bce Added an extra signal_cond to queue to make sure that the waiting thread is woken up. Can somebody with queue problem...
Original commit message from CVS:
Added an extra signal_cond to queue to make sure that the waiting thread
is woken up. Can somebody with queue problems verifify that this does
improve the situation a bit. I'm suspecting that something else is going
on, like a pthreads bug or something.
Small updates to the fake elements.
2001-01-14 14:43:57 +00:00
Wim Taymans
ee7ae65e60 Greatly simplyfied queue locking by only using the elements mutex. This should fix the locking problems we had...
Original commit message from CVS:
Greatly simplyfied queue locking by only using the elements mutex. This
should fix the locking problems we had...
2001-01-07 14:49:23 +00:00
Wim Taymans
6ae2ad5edb Added sleep time to identity
Original commit message from CVS:
Added sleep time to identity
Added timeout value in queue (not activated yet)
2001-01-07 03:42:27 +00:00
Wim Taymans
372b6f5887 Rearranged the mutex locking, still have to think about it though...
Original commit message from CVS:
Rearranged the mutex locking, still have to think about it though...
2001-01-06 19:09:40 +00:00
Wim Taymans
3d34ce7b95 Updated the manual and the docs.
Original commit message from CVS:
Updated the manual and the docs.
Removed the esdsink in gst/elements/ we have a real one not in the
plugins dir.
Added more APIs to query the plugins, types and caps. more fields now
have a getter and a setter. This is needed to make gstreamer wrapper
fiendly.
Added gst_element_disconnect beacuse we also have a gst_element_connect
2001-01-06 02:35:17 +00:00
Erik Walthinsen
759d83e487 Rearranged cothreads sources a bit, added some API docs.
Original commit message from CVS:
Rearranged cothreads sources a bit, added some API docs.
Added some functions needed for gstreamer-inspect.
Added num_sources to fakesink.
2001-01-04 10:54:27 +00:00
Richard Boulton
2211a01d91 Various small fixes.
Original commit message from CVS:
Various small fixes.
2001-01-03 18:55:28 +00:00
Wim Taymans
baf7b1747c Added a check for libjpeg
Original commit message from CVS:
Added a check for libjpeg
Added and action for the load menu in gstplay
Fixed drag and drop in gstplay
More verbose errors in gstasyndisksrc
2001-01-02 12:04:46 +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
Wim Taymans
dd37e99746 Fixes for gsteditor/gstplay install/build fixed typo in random/eos added num_buffers property to fakesrc
Original commit message from CVS:
Fixes for gsteditor/gstplay install/build
fixed typo in random/eos
added num_buffers property to fakesrc
2001-01-02 01:44:53 +00:00
Erik Walthinsen
1e04cefaf2 Mega update of INFO, DEBUG, and ERROR subsystems, renamed with GST_ prefix.
Original commit message from CVS:
Mega update of INFO, DEBUG, and ERROR subsystems, renamed with GST_ prefix.
GST_DEBUG now takes a category parameter, which is the same as GST_INFO
system.  They are now called GST_CAT_*.  All the GST_DEBUGs are set to 0
for now, we need to go and fix all these eventually.
2001-01-01 03:14:40 +00:00
Erik Walthinsen
e0aa5bae14 Cleaned up INFO system some more, added API to select categories, modified the printout function to print cleanly for...
Original commit message from CVS:
Cleaned up INFO system some more, added API to select categories, modified
the printout function to print cleanly for GST_INIT info (the default min)
and spew function:line debug_string [element] for everything else.
Eventually could make even that configurable easily enough, just check
against another bitmap instead of checking for == GST_INIT.
2001-01-01 00:17:21 +00:00
Wim Taymans
527525a282 Fix some compile warnings
Original commit message from CVS:
Fix some compile warnings
2000-12-31 23:31:51 +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
Wim Taymans
3b805b9209 Docs updates: remove sink, src, filter, connection added gstinfo to docs.
Original commit message from CVS:
Docs updates: remove sink, src, filter, connection
added gstinfo to docs.
Updated some core files for the docs
gsttypefind did not include gst_private
Added CFlags to Makefile.am in gst/elements
2000-12-30 16:13:17 +00:00
Wim Taymans
fbc4098833 Added some INFO in gstelements
Original commit message from CVS:
Added some INFO in gstelements
Reverted pad names in gstfakesrc back to what they were
2000-12-30 02:47:11 +00:00
Wim Taymans
c306021ce3 Fixed buffer flag handling gstplay used old flag handling updated some plugins for the new objects/error handling
Original commit message from CVS:
Fixed buffer flag handling
gstplay used old flag handling
updated some plugins for the new objects/error handling
Fixed a serious buffer error in gst_buffer_append
2000-12-29 19:45:45 +00:00
Wim Taymans
fe6128b118 Fixed a serious bug in gst_props_new: properties with a 0 value causes a segfault
Original commit message from CVS:
Fixed a serious bug in gst_props_new: properties with a 0 value causes
a segfault
Fixed a possible bug in gstautoplug when one of the constructed paths
was empty
Commented out a too liberal assert in gstscheduler.c
Added GST_BUFFER_DISCONTINUOUS
tried to fix asyndisksrc
2000-12-29 18:23:41 +00:00
Erik Walthinsen
104c1889ed Updated copyright notices.
Original commit message from CVS:
Updated copyright notices.
2000-12-29 05:38:06 +00:00
Erik Walthinsen
09eeadb15f Reparented everything to GstElement, removing GstSrc, GstSink, GstFilter, and GstConnection. Also fixed a bug in gst...
Original commit message from CVS:
Reparented everything to GstElement, removing GstSrc, GstSink, GstFilter,
and GstConnection.  Also fixed a bug in gst_bin_iterate_func.
2000-12-29 02:28:04 +00:00
Erik Walthinsen
ca1c48e95c Updated copyright in all the libgst files.
Original commit message from CVS:
Updated copyright in all the libgst files.
Created gst_private.h, set up all files to use it.
2000-12-28 22:12:02 +00:00
Wim Taymans
f4a635c8dc Pending editor changes. fixes for autoplug of elementary MPEG1 video streams make sure mp3 types get compiled videosi...
Original commit message from CVS:
Pending editor changes.
fixes for autoplug of elementary MPEG1 video streams
make sure mp3 types get compiled
videosink changes for xml loading
2000-12-28 02:51:07 +00:00
Wim Taymans
41aa51ba45 Fixes for the new scheduler.
Original commit message from CVS:
Fixes for the new scheduler.
Autoplug works again with mp3/mpeg1/ogg
2000-12-28 00:18:26 +00:00
Wim Taymans
47c1e14677 Added loop_based option
Original commit message from CVS:
Added loop_based option
Added multiple pad output
2000-12-27 04:16:01 +00:00
Erik Walthinsen
7dcd7a13a1 Mostly minor little changes, but two interesting things: 1) removed a pthread_join from the gst_thread_main_loop. co...
Original commit message from CVS:
Mostly minor little changes, but two interesting things:

1) removed a pthread_join from the gst_thread_main_loop.  commented out
because the thread isn't supposed to run pthread_join, the main process is.

2) Fixed a major bug with cothreads in threads.  Had to add MAP_FIXED to
the mmap() of the cothread stack.  Presumably the gilbc that ships with
redhat 7.0 now places these mmap requests somewhat randomly.  Since they
*must* be exactly where we expect them, it was failing.  MAP_FIXED forces
it to put it where we say.
2000-12-27 03:13:20 +00:00
Erik Walthinsen
a46c5a73f0 More massive changes to the scheduling system. Moved the scheduling code to gstscheduler.[ch], so an child bin can r...
Original commit message from CVS:
More massive changes to the scheduling system.  Moved the scheduling code
to gstscheduler.[ch], so an child bin can replace the scheduler.
Introduced the concept of chains, which are subsets of the list of managed
elements for a given manager bin, which get scheduled as separate entities.
gst_bin_iterate_func should be pretty much fixed now, the scheduling code
gets to do all the hard work.

Cothreaded case work in the couple tests I've tried, chained is next.
2000-12-26 23:51:04 +00:00
Wim Taymans
d207d375a1 Lots of editor changes:
Original commit message from CVS:
Lots of editor changes:
- restucturing of object creation
- loading of xml files
- visual eye candy: color changes on mouseover
- active object is indicated
- property box changes for boolean and enum types
- property box: create properties per element
- show pads/caps in propertybox
added gst_util_get_bool_arg in gstutils.c
added default properties for audiosink
2000-12-25 01:33:06 +00:00
Wim Taymans
74598fdf6c Added handoff signals to fakesrc and fakesink
Original commit message from CVS:
Added handoff signals to fakesrc and fakesink
Added scheduling property to identity
Added GST_STATE_TRANSITION macro to check for state changes.
Modified gstbin and gstthread to the new state change macros
2000-12-23 03:17:52 +00:00
Wim Taymans
0062e168ca Fixed a bug in gstbin.c the manager was not detected.
Original commit message from CVS:
Fixed a bug in gstbin.c the manager was not detected.
Some other testcases
bin, thread, pipeline use the elementfactory on gst_*_new
2000-12-22 23:23:10 +00:00
Wim Taymans
9987a75b1b Implemented some test cases... they all fail :-(
Original commit message from CVS:
Implemented some test cases... they all fail :-(
Added a flag to identity to for loop_based behaviour.
Added a signal to fakesink when a buffer is consumed.
2000-12-22 16:14:33 +00:00
Erik Walthinsen
e8bb90705f Fixing two bugs: 1) I had commented out an unlock. duh.
Original commit message from CVS:
Fixing two bugs:

1) I had commented out an unlock.  duh.
2) changed the _get function to return the buffer rather than call _push

Also uncommented some debugging I'd turned off.  Need to solve the verbosity
problem somehow, I think by way of debug levels as well as info levels...
2000-12-21 01:27:27 +00:00
Erik Walthinsen
c287566d0c Massive scheduling changes (again). Not entirely complete, but getting closer. Need to think about various scheduli...
Original commit message from CVS:
Massive scheduling changes (again).  Not entirely complete, but getting
closer.  Need to think about various scheduling plans that we might want
to produce, and figure out the rules for what is legal, and how to get
the results we need as far as the plan.
2000-12-20 09:39:43 +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
a63780a377 Header cleanup: try to include as little as possible; this will probably speed up compilation a bit.
Original commit message from CVS:
Header cleanup: try to include as little as possible; this will probably
speed up compilation a bit.
changed the .c files to use #include "..."
Fix for the 'plugins are loaded twice' bug.
Fix 22186: GstObject flags are now used everywhere. Added *_FLAG_LAST so
elements do not use the same flags. Added some padding in the flag enum
for future expansion.
2000-12-15 01:57:34 +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
Erik Walthinsen
5f7a20ff6f Added LAME encoder. Wow.
Original commit message from CVS:
Added LAME encoder.  Wow.
2000-12-12 09:40:25 +00:00
Erik Walthinsen
b063cb96f1 Implemented the hybrid scheduling system for sources and connections outside the current Bin. Is a bit hackish in on...
Original commit message from CVS:
Implemented the hybrid scheduling system for sources and connections
outside the current Bin.  Is a bit hackish in one place, but I'll work out
a way to make that cleaner soon.  queue.c in tests now works nicely in all
cases.  More to come later.
2000-12-11 00:24:32 +00:00
Wim Taymans
6fa6cd8ce4 First attempt at rebuilding the type/plugin system
Original commit message from CVS:
First attempt at rebuilding the type/plugin system
- make sure caps/props are saved in the registry
autoplugging is completely broken.
removed the typefactories and typeids from all the pads in the plugins
XML load/save is ok (be sure to rerun gstreamer-register)
2000-12-11 00:04:25 +00:00
Erik Walthinsen
990baba8e3 Another big set of changes. Connections are now also pullfunc based. gstqueue has been updated, I don't know of any ...
Original commit message from CVS:
Another big set of changes.  Connections are now also pullfunc based.
gstqueue has been updated, I don't know of any other connections offhand.

There are still a few things that need doing, specifically the concept
of a source or connection with connections to multiple thread contexts is
not dealt with.  This may force us to move the threadstate from the
element to the pad, maybe keeping the element's copy for simple cases.
Then the Bin would create a structure to pass to the cothreaded _wrappers
of any such elements, which would detail the pads that are to be dealt with
by this particular cothread context.

That will speed things up to, since we don't have to look through the list
of all pads for every Src or Connection element for every iteration, we can
simply step through the list provided by the plan.  Special case might even
have a single pad pointer sitting there to trump the list, if there's only
one (the common case anyway).

Task 23098 is tracking these changes.  The main task 22588 depends on that
subtask, as well as 22240, which is a consistency check on PAD_DISABLED.
2000-12-08 10:33:01 +00:00
Wim Taymans
1af7640685 Added pulregion handling.
Original commit message from CVS:
Added pulregion handling.
Added GstCapsListFactory in headers
2000-12-06 23:04:12 +00:00
Wim Taymans
855b6877e9 Fixed autoplugging.
Original commit message from CVS:
Fixed autoplugging.
2000-12-05 18:08:59 +00:00
Erik Walthinsen
04c360e39f Changed the way things are scheduled, especially sources. A Src used to have a push() function, and optionally a pus...
Original commit message from CVS:
Changed the way things are scheduled, especially sources.  A Src used to
have a push() function, and optionally a pushregion() to deal with async
reads, etc.  That whole thing has gone away, in favor of providing a
pull() function for the output (Src) pad instead, ala chain functions.
This makes constructing cothreaded schedules out of non-loop elements
somewhat easier.  Basically there was always a question as to which pad
was being dealt with.  In the pullregion case, cothread-specific data was
used to try to pass the region struct to the right place, which is a slow
hack.  And in general, the push function severely limited the kind of
tricks that could be played when there's more than one output pad, such as
a multi-out file reader with async capabilities on each pad independently.

This changes the way cothread scheduling occurs.  Instead of the hack to
deal with Src's by calling their push() function (or optionally the
pushregion(), in certain cases), we now are working towards a general
mechanism where pads are the only thing that are dealt with directly.

An optimization was made in the process of doing this: the loopfunction
actually run as the outer [stack] frame of the cothread is now set more
intelligently in create_plan() based on what kind of element it is.  We
now have:

loopfunc_wrapper: used for loop-based elements, it simply calls the
loopfunc in a loop, paying attention to COTHREAD_STOPPING (see
below).  It currently does other, soon to be depracated, stuff.

pullsrc_wrapper: wraps a Src that's not loop-based (since your options
are now loop- or pull-based)

There will be a couple more to deal with other cases, such as Connections
and chain-based elements.  The general idea is that it's a lot more
efficient to make the decisions once in create_plan than to keep doing
this huge if/else chain in the wrapper.  Just choose the right wrapper up
front.  It'll be most apparent performance-wise in the case of whichever
element context is switched to first for each iteration, since the whole
wrapper setup is done for every iteration.

The tricky part is that there is now a bit of overloading of the function
pointers in a pad.  The current meanings (possibly to change a bit more
soon) are:

chainfunc: as always, chainfunc pointer is mirrored between peer pads
(this may change, and the chain func may end up in pushfunc)
pushfunc: SrcPad: gst_pad_pushfunc_proxy, cothread_switch to peer
SinkPad: none (may take over chainfunc, see below) pullfunc:
SrcPad: Src or Connection's function to construct buffers
SinkPad: gst_pad_pullfunc_proxy, cothread_switch to peer

There are a number of issues remaining with the scheduling, not the least
of which is the fact that Connections are still dealt with the old way,
with _push() functions and such.  I'm trying to figure out a way to unify
the system so it makes sense.  Following the scheduling system is hard
enough, trying to change it is murder.


Another useful scheduling addition, mentioned above, is COTHREAD_STOPPING.
It's an element flag that's used to signal whatever code is running in
cothread context that it should be finishing up and exiting soon.  An
example of this is in plugins/cobin/spindentity.c.  All the loops should
now be composed of do/while loops, rather than while(1) loops:

do {
buf = gst_pad_pull(spindentity->sinkpad);
gst_pad_push(spindentity->srcpad,buf);
} while (!GST_ELEMENT_IS_COTHREAD_STOPPING(element));

The reason for this is that COTHREAD_STOPPING may be set before the above
loop ever gets started.  It wouldn't do for the body of the loop to never
once get called, that would simply stall the pipeline. Note that only the
core library code is ever responsible for setting and unsetting this flag.
All elements have to do is respond to it by cleanly exiting the loop and
the function holding it.

This is needed primarily to allow iterations to occur properly.
Basically, there's a single entry point in the cothread scheduling loop,
gst_bin_iterate_func() simply switches to this cothread.  If the element
in this context is allowed to loop infinitely, nothing would even switch
back to the context from which the iterate() was originally called.  This
is a bit of a problem.  The solution is for there to be an implicit switch
back to the originating context.  Now, even I'm not sure exactly how this
works, but if the cothread that's switched to actually returns, execution
returns back to the calling context, i.e. iterate_func().

COTHREAD_STOPPING is therefore set just before switching into this
(currently randomly chosen) context, on the assumption that it will return
promptly after finishing its duties.  The burden of clearing the flag
falls to the various wrapper functions provided by the Bin code, thus
element writers don't have to worry about doing that at all (and simply
shouldn't).


Related changes:
All the sources in elements/ have been changed to reflect the new system.


FIXMEs:
1) gstpipeline.c calls gst_src_push at some point, dunno why, it's
commented out now.
2) any other sources, including vcdsrc, dvdsrc, and v4lsrc will break
badly and need to be modified to work as pull-based sources.
2000-12-04 10:52:30 +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
Erik Walthinsen
a075cbda18 Added code to force the gsttypes plugin to load before gstelements, by simply having gstelements.c request the plugin...
Original commit message from CVS:
Added code to force the gsttypes plugin to load before gstelements, by
simply having gstelements.c request the plugin.  Solves some dependency
problems.  This is the correct method of doing this for now, though I had
a thought:

Have a static list of hard dependencies that the plugin system is responsible
for satisfying before even trying to load the plugin.  Makes plugin design
easier.
2000-11-25 07:43:57 +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
415ced1c0b Added seeking to the avi decoder by implementing pull_region.
Original commit message from CVS:
Added seeking to the avi decoder by implementing pull_region.
Fixes to the asyncdisksrc.
Added thread specific data to the cothreads.
2000-11-06 00:15:51 +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
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
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
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
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
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
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
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
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
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
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
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
202ba2ae4a State change fixes in the threading element.
Original commit message from CVS:
State change fixes in the threading element.
Added bufferpools.
2000-08-14 10:55:35 +00:00
Erik Walthinsen
6340b23cc0 Brought standard elements in line with new state management system.
Original commit message from CVS:
Brought standard elements in line with new state management system.
2000-07-21 03:57:51 +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
2ab64206bb Better error recovery in teh MPEG1 decoder.
Original commit message from CVS:
Better error recovery in teh MPEG1 decoder.
Removed MPEG2 stuff from the MPEG1 decoderand make it ignore MPEG2
streams.
Some extra framerates in the MPEG2 decoder (from libmpeg2)
Round image size up to the nearest multiple of 16 (MPEG2 decoder)
2000-07-13 19:49:50 +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
9b0e11ec7e Added seeking to some of the plugins. some MMX speedups in the MPEG decoders.
Original commit message from CVS:
Added seeking to some of the plugins.
some MMX speedups in the MPEG decoders.
Better YUV to MMX conversion
implemented seeking to gstplay.
2000-07-05 10:21:08 +00:00
Wim Taymans
a3d5d3a62b Switched Cr and Cb in YUV2RGB fixed the avi parser (gstriff had wrong size) the system_encoder can now do video only ...
Original commit message from CVS:
Switched Cr and Cb in YUV2RGB
fixed the avi parser (gstriff had wrong size)
the system_encoder can now do video only system streams
sanitized the colorspace and scaler api.
added fast self modifying asm scaler.
worked on the typefind stuff.
added a cool media player (gstplay) it uses the typefinder to playback
avi, mpeg1 (system and video) streams. It is also a testbed and a real app.
2000-06-25 21:38:00 +00:00
Wim Taymans
fff99983ad Fixed an MMX IDCT bug.
Original commit message from CVS:
Fixed an MMX IDCT bug.
Fixed a color conversion bug.
Initial work for multiply avi codecs.
2000-06-18 13:50:18 +00:00
Wim Taymans
f179798efb Reworked the audio resampler.
Original commit message from CVS:
Reworked the audio resampler.
Added first frames skipping to the mp3 and ac3 parser (this allows you to
skip a number of frames before pushing them).
Removed wrong mmx code from the encoder.
Added Macroblocks per slice to the encoder.
added bilinear and bicubic interpolation to the videoscaler.
Added a MPEG1 multiplexer (no SCR or mux rate calculations yet)
Added some options (framerate to the encoder/decoder)
2000-06-11 12:11:41 +00:00
Wim Taymans
987d66af1a Rewrote the mpeg2 system parser like the mpeg1 parser.
Original commit message from CVS:
Rewrote the mpeg2 system parser like the mpeg1 parser.
Added a command property to the pipefilter.
2000-05-28 22:46:46 +00:00
Wim Taymans
0fa1747e56 Added a basic element: pipefilter. This element connects the stdin/stdout of an external program into the pipeline. W...
Original commit message from CVS:
Added a basic element: pipefilter. This element connects the stdin/stdout
of an external program into the pipeline. We now have virtually all of
the capabilities of sox, lame, ...
2000-05-28 20:04:31 +00:00
Wim Taymans
cbb196fd31 Rewrote the mpeg1 system stream parser.
Original commit message from CVS:
Rewrote the mpeg1 system stream parser.
Fixed a motion compensation bug (was a bug on Intels site)
Faster/Better/more accurate motion detection in the mpeg encoder
Added an audio resampler (convert 48000 kHz to 44100 for example) does not work
Fixed rate control in the mpeg2 encoder.
2000-05-28 19:59:46 +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
Wim Taymans
5b0ba06f28 Added MMX optimized yuv2rgb (AlienSong now plays back at only 6% CPU)
Original commit message from CVS:
Added MMX optimized yuv2rgb (AlienSong now plays back at only 6% CPU)
Added mpeg1 picture skipping and fixed a buffer overflow.
Added a system clock. The audiosink can now adjust the clock.
Fixed incorrect behaviour on 8, 15, 16, 24 and 32 bits displays.
Cleanup of the videosink, it now uses the color conversion library when
needed.
2000-04-09 21:36:56 +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
Wim Taymans
1f4d20f689 Implemented riff parsing as a library. The avi parser can play simple PCM encoded audio.
Original commit message from CVS:
Implemented riff parsing as a library. The avi parser can play
simple PCM encoded audio.
some minor cleanups.
2000-03-20 20:25:03 +00:00
Wim Taymans
ef63c32778 This is a rather large patch. Switched on -Wall compiler flag and fixed the warnings.
Original commit message from CVS:
This is a rather large patch. Switched on -Wall compiler flag and fixed
the warnings.
Made the Video for Linux more like it should be.
2000-02-27 23:18:38 +00:00
Wim Taymans
a14849fea8 Fixed the lockup by not calling any gtk functions in the main thread.
Original commit message from CVS:
Fixed the lockup by not calling any gtk functions in the main thread.
This is not good.
2000-02-19 10:50:26 +00:00