Commit graph

561 commits

Author SHA1 Message Date
Ronald S. Bultje
30f318eb3e gst/elements/gsttypefindelement.c: Allow event caching while typefinding so we don't lose events.
Original commit message from CVS:
* gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
(push_buffer_store), (gst_type_find_element_handle_event),
(gst_type_find_element_change_state):
Allow event caching while typefinding so we don't lose events.
* gst/elements/gsttypefindelement.h:
Allow event caching while typefinding so we don't lose events.
* gst/gsttag.c: (_gst_tag_initialize):
* gst/gsttag.h:
Add language-code tag.
* gst/registries/gstlibxmlregistry.c: (load_pad_template),
(load_feature), (load_paths):
Fix memleaks (#300736), based on patch from Kjartan Maraas
<kmaraas@gnome.org>.
2005-04-17 20:43:55 +00:00
Ronald S. Bultje
2a7b791b32 gst/elements/gstfdsrc.*: Fix hang on state-change with blocking input (#149791).
Original commit message from CVS:
* gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
(gst_fdsrc_change_state), (gst_fdsrc_release_locks),
(gst_fdsrc_get):
* gst/elements/gstfdsrc.h:
Fix hang on state-change with blocking input (#149791).
2005-03-26 15:24:31 +00:00
Ronald S. Bultje
41b7a94969 gst/: Remove caps as a string (fixes #137485).
Original commit message from CVS:
* gst/elements/gsttypefindelement.c:
* gst/gsterror.c: (_gst_core_errors_init):
* gst/gsterror.h:
* gst/parse/grammar.y:
Remove caps as a string (fixes #137485).
2005-03-25 19:52:11 +00:00
Ronald S. Bultje
ccd1b69b71 gst/elements/gstfilesrc.c: Fix broken handling of mmapsize property. Remove useless g_object_notify(). Fixes #171400.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/elements/gstfilesrc.c: (gst_filesrc_set_property):
Fix broken handling of mmapsize property. Remove useless
g_object_notify(). Fixes #171400.
2005-03-23 22:12:58 +00:00
Ronald S. Bultje
d985215629 gst/elements/gstfdsrc.*: Let's implement the URI interface.
Original commit message from CVS:
* gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
(gst_fdsrc_dispose), (gst_fdsrc_init), (gst_fdsrc_set_property),
(gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
(gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
(gst_fdsrc_uri_handler_init):
* gst/elements/gstfdsrc.h:
Let's implement the URI interface.
2005-03-14 19:14:05 +00:00
Ronald S. Bultje
f827754418 gst/elements/gsttypefindelement.c: Fix memleak (#170067).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_handle_event):
Fix memleak (#170067).
2005-03-12 22:49:51 +00:00
Ronald S. Bultje
09226e160e gst/elements/gstfdsrc.c: Fix cygwin compile error (#169732).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/elements/gstfdsrc.c:
Fix cygwin compile error (#169732).
2005-03-10 17:22:14 +00:00
Jan Schmidt
009d01a841 Add GST_EVENT_COMMON_FLAG_NEED_RESPONSE flag (TRUE by default) to indicate whether a reply is expected to an upstream...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/gstevent.sgml:
* gst/gstevent.c: (gst_event_new):
* gst/gstevent.h:
Add GST_EVENT_COMMON_FLAG_NEED_RESPONSE flag (TRUE by default)
to indicate whether a reply is expected to an upstream event.

* gst/gstqueue.c: (gst_queue_finalize),
(gst_queue_handle_pending_events), (gst_queue_handle_src_event):
If GST_EVENT_COMMON_FLAG_NEED_RESPONSE is not set, just queue the
event without blocking on a reply.
2005-03-09 11:45:03 +00:00
Ronald S. Bultje
74f409b76f Fix libxml-less compilation (--disable-loadsave).
Original commit message from CVS:
* configure.ac:
* gst/gstconfig.h.in:
* gst/indexers/gstindexers.c: (plugin_init):
* gst/registries/gstxmlregistry.h:
Fix libxml-less compilation (--disable-loadsave).
2005-03-09 08:45:03 +00:00
Jan Schmidt
733624210a gst/elements/gstfilesrc.c: If we checked the file size and it got bigger, don't
Original commit message from CVS:
* gst/elements/gstfilesrc.c: (gst_filesrc_get):
If we checked the file size and it got bigger, don't
EOS anyway.

* gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
Don't parse the GST_DEBUG env var list twice (once in the
init_pre and then again in the init_check).
Add GST_DEBUGNOCOLOR env variable.

* gst/gstclock.c: (gst_clock_id_wait), (gst_clock_set_speed),
(gst_clock_get_speed), (gst_clock_set_active),
(gst_clock_is_active), (gst_clock_reset),
(gst_clock_get_event_time_delay):
Make all clock debug in the GST_CAT_CLOCK category.
Add a little extra detail.

* gst/gstelement.c: (gst_element_wait):
Remove extra ' ' in a debug format string.

* gst/gstpad.c: (gst_pad_set_explicit_caps), (gst_pad_pull):
Better debug message when setting explicit caps on an unlinked pad.
Return INTERRUPT event if the peer is unlinked when restarting
during a pad_pull.
2005-03-03 18:39:49 +00:00
Ronald S. Bultje
02cb914495 gst/gstqueue.c: Fix double unlock (#169073).
Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_chain):
Fix double unlock (#169073).
2005-03-03 09:56:26 +00:00
Ronald S. Bultje
cea7e759d2 gst/gstqueue.c: Don't drop buffers on interrupt. Rather, ignore fulness status and preserve stream (#159676).
Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_locked_flush), (gst_queue_chain),
(gst_queue_get), (gst_queue_handle_src_event):
Don't drop buffers on interrupt. Rather, ignore fulness status
and preserve stream (#159676).
(gst_queue_handle_src_query):
Don't go below zero.
2005-03-01 16:29:01 +00:00
Thomas Vander Stichele
99d26b49c2 first commit in the branch to test
Original commit message from CVS:
first commit in the branch to test
2005-02-22 16:23:52 +00:00
Ronald S. Bultje
eb3c38de8c gst/gstqueue.c: Release interrupt after handling (#166250).
Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
Release interrupt after handling (#166250).
2005-02-08 13:50:44 +00:00
Ronald S. Bultje
6a4b9177e4 gst/gstbin.c: Explicitely make an element release locks in a group when being remove from a bin.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_remove_func):
Explicitely make an element release locks in a group when being
remove from a bin.
* gst/gstqueue.c: (gst_queue_chain), (gst_queue_get):
If there's no scheduler, always return immediately (similar to
gst_element_interrupt).
2005-01-31 23:21:52 +00:00
Ronald S. Bultje
5adea0d2f9 gst/elements/gsttypefindelement.c: Fix buffer pushing if stream EOSes during typefinding.
Original commit message from CVS:
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_handle_event):
Fix buffer pushing if stream EOSes during typefinding.
2005-01-28 10:12:07 +00:00
Tim-Philipp Müller
6c51a29b9a Don't unref seek event twice in case where fflush() fails
Original commit message from CVS:
Don't unref seek event twice in case where fflush() fails
2005-01-24 11:04:37 +00:00
Ronald S. Bultje
c0ea459eae gst/elements/gsttee.c: I think this is actually moer correct...
Original commit message from CVS:
* gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link):
I think this is actually moer correct...
2005-01-17 10:12:40 +00:00
Ronald S. Bultje
e1f61a002b gst/elements/gsttee.c: Fix negotiation.
Original commit message from CVS:
* gst/elements/gsttee.c: (gst_tee_getcaps), (gst_tee_link),
(gst_tee_request_new_pad):
Fix negotiation.
2005-01-14 17:23:59 +00:00
Ronald S. Bultje
66d5da4f17 Add two new functions for filler events (which are used to synchronize streams if one of them is not having any data ...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* docs/gst/tmpl/gstevent.sgml:
* gst/gstevent.c: (gst_event_new_filler_stamped),
(gst_event_filler_get_duration):
* gst/gstevent.h:
Add two new functions for filler events (which are used to
synchronize streams if one of them is not having any data
for a while) without interrupting the actual data-stream.
Basically a no-op.
* gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
(gst_queue_link_sink), (gst_queue_link_src),
(gst_queue_change_state):
Allow for renegotiation while filled. Required for stream
switching while playing.
2005-01-08 18:10:50 +00:00
Ronald S. Bultje
775fdce96e gst/gstqueue.c: Check for availability again.
Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_handle_src_query):
Check for availability again.
2004-12-09 16:13:18 +00:00
Wim Taymans
d6e66eee73 gst/gstqueue.c: Reverted to 1.110 until this makes the testsuite and various apps work.
Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
(gst_queue_link), (gst_queue_handle_src_query):
Reverted to 1.110 until this makes the testsuite and various
apps work.
2004-12-03 11:24:01 +00:00
Benjamin Otte
802e18724d gst/elements/gstbufferstore.c: don't try to make subbuffers bigger than they can be. (fixes #159970)
Original commit message from CVS:
* gst/elements/gstbufferstore.c:
(gst_buffer_store_add_buffer_func):
don't try to make subbuffers bigger than they can be. (fixes
#159970)
2004-11-30 23:45:36 +00:00
Ronald S. Bultje
8d61d9045d gst/: Deprecate _type_is_fixed, use _value_is_fixed instead, since the fixedness depends on the content.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_is_fixed_foreach):
* gst/gstpad.c: (_gst_pad_default_fixate_value),
(_gst_pad_default_fixate_foreach):
* gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
* gst/gstvalue.h:
Deprecate _type_is_fixed, use _value_is_fixed instead, since
in some cases (arrays), the fixedness depends on the content.
* gst/gstqueue.c: (gst_queue_handle_src_query):
Check for availability before doing something.
2004-11-29 17:02:09 +00:00
Martin Soto
6c376ecbf5 gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when it is necessary to wait.
Original commit message from CVS:
2004-11-24  Martin Soto  <martinsoto@users.sourceforge.net>

* gst/gstqueue.c (gst_queue_link_sink): Grab the lock only when
it is necessary to wait.
2004-11-24 18:54:35 +00:00
Martin Soto
709bfe8a23 gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
Original commit message from CVS:
2004-11-23  Martin Soto  <martinsoto@users.sourceforge.net>

* gst/gstqueue.c (gst_queue_init, gst_queue_link_sink)
(gst_queue_link_src): Allow for renegotiating the caps of the sink
pad. The queue will now wait until it is empty and forward the new
caps to the source.
* gst/gstbin.c (gst_bin_set_element_sched)
(gst_bin_unset_element_sched): Make sure that all elements and
links are registered and unregistered with the scheduler exactly
once. This elaborates on a fix by Benjamin Otte, but
guarantees that decoupled elements are also registered.
2004-11-22 23:50:37 +00:00
Christophe Fergeau
93f541efef gst/elements/: Subtract size of internally stored data from position queries.
Original commit message from CVS:
* gst/elements/gstfakesink.c: (gst_fakesink_class_init):
* gst/elements/gstidentity.c: (gst_identity_class_init):
Use G_SIGNAL_TYPE_STATIC_SCOPE, patch by Christophe Fergeau
<teuf@gnome.org> (#157263).
* gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
(gst_type_find_handle_src_query):
Subtract size of internally stored data from position queries.
2004-11-08 15:45:31 +00:00
Ronald S. Bultje
79b77446d8 docs/pwg/: Typo fixes.
Original commit message from CVS:
* docs/pwg/advanced-scheduling.xml:
* docs/pwg/advanced-tagging.xml:
* docs/pwg/advanced-types.xml:
* docs/pwg/building-boiler.xml:
* docs/pwg/building-chainfn.xml:
* docs/pwg/building-signals.xml:
* docs/pwg/building-state.xml:
* docs/pwg/building-testapp.xml:
* docs/pwg/intro-basics.xml:
* docs/pwg/other-manager.xml:
* docs/pwg/other-source.xml:
Typo fixes.
* docs/pwg/other-manager.xml:
Add some first content. No example code yet.
* gst/elements/gstfilesink.c: (gst_filesink_handle_event):
Remove double newlines.
2004-11-06 10:28:07 +00:00
Christophe Fergeau
074dc0340c gst/elements/: more
Original commit message from CVS:
2004-11-03  Christophe Fergeau  <teuf@gnome.org>

* gst/elements/gstfakesink.c: (gst_fakesink_class_init):
* gst/elements/gstfakesrc.c: (gst_fakesrc_class_init): more
POINTER=>BOXED changes to marshal GstBuffers
2004-11-03 18:01:29 +00:00
Christophe Fergeau
e3b6aa4916 gst/elements/gstidentity.c: GstBuffer is a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
Original commit message from CVS:
2004-11-03  Christophe Fergeau  <teuf@gnome.org>

* gst/elements/gstidentity.c: (gst_identity_class_init): GstBuffer is
a boxed type, marshal the signal with VOID__BOXED, not VOID__POINTER
2004-11-03 17:45:02 +00:00
Ronald S. Bultje
c36f2f830a gst/gstqueue.c: Subtract current queue contents from position queries.
Original commit message from CVS:
* gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_src_query):
Subtract current queue contents from position queries.
2004-10-11 13:14:03 +00:00
Zaheer Abbas Merali
852fb1eaf2 gst/elements/gstfakesrc.c: Set element to EOS before sending EOS event
Original commit message from CVS:
2004-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

* gst/elements/gstfakesrc.c: (gst_fakesrc_get):
Set element to EOS before sending EOS event
2004-10-09 12:43:26 +00:00
Wim Taymans
b2db2cd1c8 gst/elements/gsttypefindelement.c: Handle EOS events when doing the transition from typefind to data passing. This sh...
Original commit message from CVS:
* gst/elements/gsttypefindelement.c:
(gst_type_find_element_handle_event):
Handle EOS events when doing the transition from
typefind to data passing. This should fix the
infinite loops in short files.
2004-10-08 09:36:50 +00:00
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