Commit graph

2333 commits

Author SHA1 Message Date
Wim Taymans
21a646d674 libs/gst/base/gstbasetransform.c: Cleanups, separate normal flow from errors, add sensible
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_transform_caps),
(gst_base_transform_transform_size),
(gst_base_transform_prepare_output_buffer),
(gst_base_transform_get_unit_size),
(gst_base_transform_buffer_alloc),
(gst_base_transform_handle_buffer),
(gst_base_transform_change_state):
Cleanups, separate normal flow from errors, add sensible
DEBUG lines.
Don't try to renegotiate when allocating an output buffer.
Also copy DISCONT buffer flag when copying a buffer.
Reset the transform after we finish streaming, not during.
2006-03-08 10:17:41 +00:00
Wim Taymans
06aa56aca4 libs/gst/base/gstbasesink.c: Use last buffer timestamp in qos message.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
Use last buffer timestamp in qos message.
2006-03-08 09:46:54 +00:00
Wim Taymans
2ee0cdf799 docs/pwg/: Applied patch from Christophe Fergeau, fixes #333416
Original commit message from CVS:
* docs/pwg/advanced-tagging.xml:
* docs/pwg/building-pads.xml:
Applied patch from Christophe Fergeau, fixes #333416
2006-03-07 17:06:53 +00:00
Wim Taymans
7a88e2a762 docs/libs/gstreamer-libs-sections.txt: Added basesink new methods.
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
Added basesink new methods.
* gst/gstevent.c:
* gst/gstevent.h:
Docs updates. Flesh out the QoS docs.
* libs/gst/base/gstadapter.c:
Small doc clarification about ownership and flushing.
* libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
(gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
(gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
(gst_base_sink_get_property), (gst_base_sink_do_sync):
* libs/gst/base/gstbasesink.h:
Added new methods to allow subclass to control max-lateness
and sync.
Generate very basic QoS events based on last sync observation.
Updated docs, fix typo, added some QoS blurb.
* libs/gst/base/gstbasesrc.c:
Remove obsolete _get_state() calls from docs.
2006-03-07 16:21:02 +00:00
Wim Taymans
c45bd3fb9f Fix #333669, Add pad accessor defines for GstBaseTransform
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbasetransform.h:
Fix #333669, Add pad accessor defines for GstBaseTransform
Fix docs for GstBaseSrc.
2006-03-07 15:14:51 +00:00
Wim Taymans
37d77aaeee Small documentation fixes.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstbuffer.h:
* gst/gstvalue.c:
* libs/gst/base/gstbasetransform.h:
Small documentation fixes.
2006-03-07 15:08:57 +00:00
Tim-Philipp Müller
a4957224a8 gst/gstvalue.c: Document thread-unsafety of gst_value_register_foo_func() when used at the same time as gst_value_foo...
Original commit message from CVS:
* gst/gstvalue.c:
Document thread-unsafety of gst_value_register_foo_func()
when used at the same time as gst_value_foo() (#322628).
2006-03-07 11:47:24 +00:00
Tim-Philipp Müller
7789e9eb94 libs/gst/base/gstpushsrc.c: Push sources don't support pull mode by default.
Original commit message from CVS:
* libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
(gst_push_src_check_get_range):
Push sources don't support pull mode by default.
2006-03-07 09:28:44 +00:00
Tim-Philipp Müller
b5161fda6a libs/gst/base/gstbasesrc.*: Add ::check_get_range() vfunc to GstBaseSrc (#332611), provide default implementation, an...
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
(gst_base_src_init), (gst_base_src_pad_check_get_range),
(gst_base_src_default_check_get_range):
* libs/gst/base/gstbasesrc.h:
Add ::check_get_range() vfunc to GstBaseSrc (#332611),
provide default implementation, and rename
gst_base_src_check_get_range() to
gst_base_src_pad_check_get_range() for clarity.
2006-03-06 19:55:06 +00:00
Wim Taymans
991af9aab5 libs/gst/base/gstbasesink.c: Make property overridable.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
Make property overridable.
2006-03-06 16:10:42 +00:00
Wim Taymans
3290a06b36 libs/gst/base/gstbasesink.*: Make max-lateness a property.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
(gst_base_sink_init), (gst_base_sink_set_property),
(gst_base_sink_get_property), (gst_base_sink_do_sync):
* libs/gst/base/gstbasesink.h:
Make max-lateness a property.
2006-03-06 16:02:37 +00:00
Wim Taymans
6367b03096 libs/gst/base/gstbasesink.c: Don't ever draw a frame that is >10ms late.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
(gst_base_sink_do_sync), (gst_base_sink_render_object):
Don't ever draw a frame that is >10ms late.
2006-03-06 15:16:23 +00:00
Michael Smith
bed06b24d8 gst/gstmessage.c: When copying a message, set the parent_refcount of the enclosed structure to point at the copy, not...
Original commit message from CVS:
* gst/gstmessage.c: (_gst_message_copy):
When copying a message, set the parent_refcount of the enclosed
structure to point at the copy, not the original message.
2006-03-06 14:51:36 +00:00
Christophe Fergeau
dde0d169b5 gst/gstutils.h: Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
Original commit message from CVS:
* gst/gstutils.h:
Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
usable in c++ code (#333417; patch by: Christophe Fergeau)
2006-03-06 14:46:31 +00:00
Thomas Vander Stichele
06fcb64c77 gst/gstclock.h: Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
Original commit message from CVS:

* gst/gstclock.h:
Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2006-03-06 14:34:49 +00:00
Tim-Philipp Müller
19e9145a5c libs/gst/base/gstbasetransform.c: Make sure caps are writable before passing them to gst_caps_append().
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_transform_caps):
Make sure caps are writable before passing them to
gst_caps_append().
2006-03-05 20:56:55 +00:00
Tim-Philipp Müller
be5f17ca17 gst/gsterror.h: Fix some minor docs errors.
Original commit message from CVS:
* gst/gsterror.h:
Fix some minor docs errors.
2006-03-04 14:45:40 +00:00
Ross Burton
04d58371e2 gst/gsterror.*: Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
Original commit message from CVS:
* gst/gsterror.c: (_gst_resource_errors_init):
* gst/gsterror.h:
Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
patch by: Ross Burton <ross at burtonini dot com>).
2006-03-04 13:54:26 +00:00
Jan Schmidt
47304efe10 gst/gst.c: Add a check and output a g_warning when GStreamer is built against GLib 2.6 but running against 2.8 or hig...
Original commit message from CVS:
* gst/gst.c:
Add a check and output a g_warning when GStreamer is built
against GLib 2.6 but running against 2.8 or higher, and vice
versa. (Closes: #323542)
2006-03-03 16:58:51 +00:00
Jan Schmidt
88806ceb90 gst/parse/parse.l: Commit patch for parse_launch syntax from #331255. Removes support for quoted strings and mimetype...
Original commit message from CVS:
* gst/parse/parse.l:
Commit patch for parse_launch syntax from #331255. Removes
support for quoted strings and mimetypes when writing filtered
caps. See the bug report for more details - I'm pretty sure this
obscure feature is not in use by _anyone_ anywhere.

With this simple change, the size of the gstreamer.so here
drops from 2193KB to 1565KB.
2006-03-03 15:32:30 +00:00
Tim-Philipp Müller
6619c85779 plugins/elements/gsttypefindelement.*: Use gst_type_find_helper_for_buffer() for chain-based typefinding.
Original commit message from CVS:
* plugins/elements/gsttypefindelement.h:
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_src_event), (start_typefinding),
(stop_typefinding), (gst_type_find_element_handle_event),
(gst_type_find_element_chain),
(gst_type_find_element_chain_do_typefinding):
Use gst_type_find_helper_for_buffer() for chain-based
typefinding.
2006-03-03 14:18:01 +00:00
Tim-Philipp Müller
4a4a73adf1 plugins/elements/gsttypefindelement.c: Deprecate "maximum" property (not only was it only taken into account for type...
Original commit message from CVS:
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_class_init),
(gst_type_find_element_set_property),
(gst_type_find_element_get_property):
Deprecate "maximum" property (not only was it only taken into
account for typefinding in push-mode anyway, it also was never
actually possible to set it in the first place because the
property was registered with the numeric property ID for the
"minimum" property). Register "maximum" property correctly,
for the sake of future copy'n'pasters. Remove some cruft
from property get/set functions.
2006-03-03 11:42:40 +00:00
Tim-Philipp Müller
e7ec08ad5d plugins/elements/gsttypefindelement.c: Use gst_type_find_helper_get_range() here, so we can honour the min-probabilit...
Original commit message from CVS:
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_activate):
Use gst_type_find_helper_get_range() here, so we
can honour the min-probability property and also emit
the signal with the correct probability of the found caps.
2006-03-03 11:27:02 +00:00
Tim-Philipp Müller
eeec129c6f New API: gst_type_find_helper_get_range() (#333042).
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
(helper_find_suggest), (gst_type_find_helper_get_range),
(gst_type_find_helper):
* libs/gst/base/gsttypefindhelper.h:
New API: gst_type_find_helper_get_range() (#333042).
2006-03-02 13:45:32 +00:00
Michael Smith
961886779d gst/gstregistryxml.c: Asserting on a failure to read part of the registry is Not Cool.
Original commit message from CVS:
* gst/gstregistryxml.c: (load_feature):
Asserting on a failure to read part of the registry is Not Cool.
Just log a warning and return NULL (which is already handled)
2006-03-02 11:04:58 +00:00
Sébastien Moutte
13dcc943cd win32/common/libgstbase.def: added export of gst_type_find_helper_for_buffer
Original commit message from CVS:
* win32/common/libgstbase.def:
added export of gst_type_find_helper_for_buffer
* win32/common/libgstbase.def:
added some exports : gst_bin_iterate_elements, gst_iterator_resync,
gst_ghost_pad_get_target
2006-02-28 20:57:10 +00:00
Wim Taymans
2ce6ef3edd docs/design/draft-klass.txt: We use Filter now.
Original commit message from CVS:
* docs/design/draft-klass.txt:
We use Filter now.
Added Connector to mark elements that are only used to
allow pipeline connections.
Moved Debug to extra feature since most of them are
functionally something else.
2006-02-28 17:24:10 +00:00
Wim Taymans
9857a3cea2 docs/design/draft-klass.txt: Some updates and clarifications.
Original commit message from CVS:
* docs/design/draft-klass.txt:
Some updates and clarifications.
2006-02-28 17:03:32 +00:00
Wim Taymans
fe37c5aad2 docs/design/draft-klass.txt: Proposal for klass field values.
Original commit message from CVS:
* docs/design/draft-klass.txt:
Proposal for klass field values.

* docs/design/part-streams.txt:
Start of a doc describing stream anatomy.
2006-02-28 15:54:06 +00:00
Wim Taymans
a19398105c gst/gstbin.c: Help the compiler a bit with type registration.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
Help the compiler a bit with type registration.
Use existing forward cod path instead of duplicating it when
handling a message.

* gst/gstbus.c: (gst_bus_get_type):
* gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
* gst/gstchildproxy.c: (gst_child_proxy_get_type):
* gst/gstclock.c: (gst_clock_get_type):
* gst/gstelement.c: (gst_element_get_type),
* gst/gstelementfactory.c: (gst_element_factory_get_type):
* gst/gstindexfactory.c: (gst_index_factory_get_type):
* gst/gstminiobject.c: (gst_mini_object_get_type):
* gst/gstpad.c: (gst_pad_get_type):
* gst/gstsegment.c: (gst_segment_get_type):
* gst/gststructure.c: (gst_structure_get_type):
* gst/gstsystemclock.c: (gst_system_clock_get_type):
* gst/gsttask.c: (gst_task_get_type), (gst_task_join):
* gst/gstvalue.c:
Help compiler with type registration.

* plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
Small doc update.
2006-02-28 10:52:02 +00:00
Tim-Philipp Müller
e4d393eb66 plugins/elements/gsttypefindelement.c: When we get an EOS event and have not found a type yet (most likely because we...
Original commit message from CVS:
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_handle_event):
When we get an EOS event and have not found a type yet
(most likely because we had not yet accumulated
TYPE_FIND_MIN_SIZE of data yet), try to determine the
type given the data we have so far. Fixes typefinding
for very short streams again, most notably quicktime
redirections as used on Apple's trailer site (#331701).
2006-02-27 20:01:53 +00:00
Tim-Philipp Müller
aad2aa1288 libs/gst/base/gsttypefindhelper.c: Try typefinding factories with the highest rank first.
Original commit message from CVS:
* libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
(gst_type_find_helper):
Try typefinding factories with the highest rank first.
2006-02-27 19:45:31 +00:00
Tim-Philipp Müller
cc13a984eb Add section for typefind helper and add documentation for the old and the new function.
Original commit message from CVS:
* docs/libs/gstreamer-libs-docs.sgml:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gsttypefindhelper.c:
Add section for typefind helper and add documentation
for the old and the new function.
2006-02-27 19:19:40 +00:00
Tim-Philipp Müller
991aa71ffb libs/gst/base/gsttypefindhelper.*: New API: gst_type_find_helper_for_buffer() (#332723).
Original commit message from CVS:
* libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
(buf_helper_find_suggest), (type_find_factory_rank_cmp),
(gst_type_find_helper_for_buffer):
* libs/gst/base/gsttypefindhelper.h:
New API: gst_type_find_helper_for_buffer() (#332723).
2006-02-27 18:43:26 +00:00
Loïc Minier
323c4ca50e Patch from Loïc Minier to prevent CVS directories getting disted.
Original commit message from CVS:
* configure.ac:
* docs/Makefile.am:
* docs/slides/Makefile.am:
Patch from Loïc Minier to prevent CVS directories getting disted.
2006-02-27 15:43:10 +00:00
Tim-Philipp Müller
50388c09c6 gst/gstcaps.c: Use the REFCOUNTING category for caps refcounting.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
Use the REFCOUNTING category for caps refcounting.
2006-02-27 11:01:06 +00:00
Tim-Philipp Müller
b86c545a88 plugins/elements/gsttypefindelement.c: This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
Original commit message from CVS:
* plugins/elements/gsttypefindelement.c: (stop_typefinding):
This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
2006-02-26 19:20:51 +00:00
Tim-Philipp Müller
e203621dcb plugins/elements/gsttypefindelement.c: Use gst_pad_check_pull_range() before _activate_pull() to avoid unnecessary op...
Original commit message from CVS:
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_activate):
Use gst_pad_check_pull_range() before _activate_pull()
to avoid unnecessary open/close (see #331690).
2006-02-26 14:42:29 +00:00
Tim-Philipp Müller
ae0d1ee4a9 gst/gstutils.c: Docs enhancement: make it crystal clear what the gst_pad_add_*_probe() callbacks should look like.
Original commit message from CVS:
* gst/gstutils.c:
Docs enhancement: make it crystal clear what the
gst_pad_add_*_probe() callbacks should look like.
2006-02-24 16:54:27 +00:00
Tim-Philipp Müller
32aff01e8d libs/gst/base/gstbasesrc.c: Document how applications can stop recording from live sources (see #330996).
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c:
Document how applications can stop recording from
live sources (see #330996).
2006-02-24 10:57:42 +00:00
Tim-Philipp Müller
083e7eb417 Ignore more stuff.
Original commit message from CVS:
* docs/gst/tmpl/.cvsignore:
* docs/plugins/tmpl/.cvsignore:
* tests/check/gst/.cvsignore:
* tests/check/libs/.cvsignore:
* tests/check/pipelines/.cvsignore:
Ignore more stuff.
2006-02-23 18:06:31 +00:00
Tim-Philipp Müller
31e22e2514 tests/check/: ... and add some tests for the base source EOS stuff.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/libs/basesrc.c: (eos_event_counter),
(basesrc_eos_events_pull), (basesrc_eos_events_push),
(basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
(gst_basesrc_suite), (main):
... and add some tests for the base source EOS stuff.
2006-02-23 17:39:20 +00:00
Tim-Philipp Müller
2402343a7d tests/check/gst/gstutils.c: Test case originally showed the problem fixed below, but was then amended. Add checks bac...
Original commit message from CVS:
* tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
Test case originally showed the problem fixed below,
but was then amended. Add checks back at the place
where they used to be.
2006-02-23 16:56:18 +00:00
Tim-Philipp Müller
47f2709514 libs/gst/base/gstbasesrc.*: Don't unconditionally send EOS when going from PAUSED to
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
(gst_base_src_init), (gst_base_src_loop),
(gst_base_src_activate_push), (gst_base_src_activate_pull),
(gst_base_src_change_state):
* libs/gst/base/gstbasesrc.h:
Don't unconditionally send EOS when going from PAUSED to
READY state, esp. make sure we don't send two EOS events
in some cases (e.g. one when reaching EOS and one when
going from PAUSED to READY). Also, we don't want to send
EOS events when operating in pull mode. However, we do
want to send an EOS event when shutting down a live
source explicitly, for example (fixes #330996).
2006-02-23 16:24:36 +00:00
Renchi Raju
62b3d96e7f plugins/elements/gstfilesrc.c: Update src->read_position after a seek when not using mmap.
Original commit message from CVS:
* plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
Update src->read_position after a seek when not using mmap.
Fixes #332277, patch by: Renchi Raju <renchi gmail com>
2006-02-23 10:24:13 +00:00
Jan Schmidt
e2cca3d699 gst/: Make things work with --disable-parse as they do with
Original commit message from CVS:
* gst/Makefile.am:
* gst/gstparse.h:
* gst/gstutils.c:
* gst/gstutils.h:
Make things work with --disable-parse as they do with
--disable-load-save - the symbols involved disappear, but the
header is still installed and GST_DISABLE_PARSE is included via
gstconfig.h
2006-02-20 23:34:40 +00:00
Julien Moutte
4bcfb92b9a libs/gst/base/gstbasetransform.c: Fix a stupid bug. I was sure i compiled that.
Original commit message from CVS:


* libs/gst/base/gstbasetransform.c:
(gst_base_transform_change_state): Fix a stupid bug. I was
sure i compiled that.
------------------------------------------------------
2006-02-20 16:07:42 +00:00
Julien Moutte
52cfed6470 gst/: Make those function act on the ghostpad target when it's a ghostpad. (Closes #331727)
Original commit message from CVS:


* gst/gstpad.c: (gst_pad_set_blocked_async):
* gst/gstutils.c: (gst_pad_add_data_probe),
(gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
(gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
(gst_pad_remove_buffer_probe): Make those function act on the
ghostpad target when it's a ghostpad. (Closes #331727)
------------------------------------------------------
2006-02-20 15:07:33 +00:00
Julien Moutte
2c04844949 libs/gst/base/gstbasetransform.c: Make basetransform reusable. (Closes #331898)
Original commit message from CVS:


* libs/gst/base/gstbasetransform.c:
(gst_base_transform_change_state): Make basetransform reusable.
(Closes #331898)
------------------------------------------------------
2006-02-20 15:01:14 +00:00
Jan Schmidt
a54323429c docs/random/release: Move the current documentation of how to do a release to the top of the file.
Original commit message from CVS:
* docs/random/release:
Move the current documentation of how to do a release to the top
of the file.

* gst/gstbin.c: (gst_bin_class_init),
(gst_bin_handle_message_func):
Allow multiple state-recalculation threads. (Closes #328873)
2006-02-20 12:26:50 +00:00