Commit graph

59 commits

Author SHA1 Message Date
Wim Taymans
e261956ca6 gst/gstmessage.*: Added a bunch of messages for advanced seeking.
Original commit message from CVS:
* gst/gstmessage.c: (gst_message_new_segment_start),
(gst_message_new_segment_done), (gst_message_parse_segment_start),
(gst_message_parse_segment_done):
* gst/gstmessage.h:
Added a bunch of messages for advanced seeking.

* gst/parse/grammar.y:
* libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
(gst_dpman_state_changed):
Fix some new-pad -> pad-added signals
2005-07-20 18:02:13 +00:00
Andy Wingo
9cb62f69e3 gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the source couldn't negotiate.
Original commit message from CVS:
2005-07-13  Andy Wingo  <wingo@pobox.com>

* gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
source couldn't negotiate.
2005-07-13 16:26:07 +00:00
Thomas Vander Stichele
8952d2c571 add a log line for type deserialization
Original commit message from CVS:
add a log line for type deserialization
2005-06-22 11:02:57 +00:00
Andy Wingo
4b908e33e0 gst/gstutils.c: RPAD fixes all around.
Original commit message from CVS:
2005-06-08  Andy Wingo  <wingo@pobox.com>

* gst/gstutils.c: RPAD fixes all around.
(gst_element_link_pads): Refcounting fixes.

* tools/gst-inspect.c:
* tools/gst-xmlinspect.c:
* parse/grammar.y:
* gst/base/gsttypefindhelper.c:
* gst/base/gstbasesink.c:
* gst/gstqueue.c: RPAD fixes.

* gst/gstghostpad.h:
* gst/gstghostpad.c: New ghost pad implementation as full proxy
pads. The tricky thing is they provide both source and sink
interfaces, since they proxy the internal pad for the external
pad, and vice versa. Implement with lower-level ProxyPad objects,
with the interior proxy pad as a child of the exterior ghost pad.
Should write a doc on this.

* gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
(gst_pad_set_name, gst_pad_set_parent): Macros removed, use
gst_object API.

* gst/gstpad.c: Big changes. No more stub base GstPad, now all
pads are real pads. No ghost pads in this file. Not documenting
the myriad s/RPAD/PAD/ and REALIZE fixes.
(gst_pad_class_init): Add properties for "direction" and
"template". Both are construct-only, so they can't change during
the life of the pad. Fixes properly deriving from GstPad.
(gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
derived objects, just set properties when creating the objects via
g_object_new.
(gst_pad_get_parent): Implement as a function, return NULL if the
parent is not an element.
(gst_pad_get_real_parent, gst_pad_add_ghost_pad)
(gst_pad_remove_ghost_pad, gst_pad_realize): Removed.

* gst/gstobject.c (gst_object_class_init): Make name a construct
property. Don't set it in the object init.

* gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
with UNKNOWN direction.
(gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
(gst_element_remove_pad): Remove ghost-pad special cases.
(gst_element_pads_activate): Remove rpad cruft.

* gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
catch the pad's-parent-not-an-element case.

* gst/gst.h: Include gstghostpad.h.

* gst/gst.c (init_post): No more real, ghost pads.

* gst/Makefile.am: Add gstghostpad.[ch].

* check/Makefile.am:
* check/gst/gstbin.c:
* check/gst/gstghostpad.c (test_ghost_pads): Check that linking
into a bin creates ghost pads, and that the refcounts are right.
Partly moved from gstbin.c.
2005-06-08 22:16:27 +00:00
David Schleef
65dd8e9726 gst/gstpad.c: Remove handling of filtered caps. Fix/merge functions that handle filtered links.
Original commit message from CVS:
* gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
functions that handle filtered links.
* gst/gstpad.h: Remove 'appfilter' field and prototypes of
removed functions.
* gst/gstutils.c: Fix/remove utility functions that handle
filtered caps.
* gst/gstutils.h:
* gst/gstvalue.c: Add serialization/deserialization of caps
* gst/parse/grammar.y: Ignore filtered caps when linking.  This
requires fixing so that the filter caps notation creates
a capsfilter element and sets the filter_caps property.  I
think everyone probably wants to keep the shorthand notation.
* docs/gst/tmpl/gstelement.sgml: updates for API changes.
* docs/gst/tmpl/gstpad.sgml:
* gst/elements/gstelements.c: Register capsfilter element.
* gst/Makefile.am: fix spacing
* docs/random/ds/0.9-suggested-changes: random
2005-04-24 21:16:45 +00:00
Wim Taymans
c47dc4d853 First THREADED backport attempt, focusing on adding locks and making sure the API is threadsafe. Needs more work. Mor...
Original commit message from CVS:
First THREADED backport attempt, focusing on adding locks and
making sure the API is threadsafe. Needs more work. More docs
follow this week.
2005-03-07 18:27:42 +00:00
Benjamin Otte
9574c7851f gst/gstelementfactory.c: set the factory in the class struct, so gst_element_get_factory actually works
Original commit message from CVS:
* gst/gstelementfactory.c: (gst_element_register):
set the factory in the class struct, so gst_element_get_factory
actually works
* gst/parse/grammar.y:
set element to playing when it gets unlocked as we can't rely on the
bin state - all elements in the bin state might still be locked in
NULL)
2004-07-22 16:14:56 +00:00
Benjamin Otte
2c2a7a3847 gst/parse/grammar.y: don't try to link elements before they have been added to bins
Original commit message from CVS:
* gst/parse/grammar.y:
don't try to link elements before they have been added to bins
2004-06-24 03:51:02 +00:00
Benjamin Otte
463361defb gst/gstvalue.c: add serialization and comparison functions for long, int64, enum and float values
Original commit message from CVS:
* gst/gstvalue.c: (gst_strtoll), (CREATE_SERIALIZATION),
(CREATE_USERIALIZATION), (_gst_value_initialize),
(gst_value_compare_float), (gst_value_serialize_float),
(gst_value_deserialize_float), (gst_value_compare_enum),
(gst_value_serialize_enum), (gst_value_deserialize_enum):
add serialization and comparison functions for long, int64, enum and
float values
* gst/gstvalue.c: (gst_value_serialize), (gst_value_deserialize):
use best serialization function in type hierarchy instead of only a
matching one. This is required for enums to work.
* gst/parse/grammar.y:
use gst_caps_deserialize
* testsuite/parse/Makefile.am:
parse1 now works
* testsuite/parse/parse1.c: (main):
remove aggregator check, aggregator is broken, this test works now
but fails because of bug #138012
* testsuite/parse/parse2.c: (main):
s/xvideosink/xvimagesink - this test looks a lot like we should
disable it
2004-05-18 01:36:14 +00:00
David Schleef
037c9d2b34 gst/gstinfo.h: Add missing inline function.
Original commit message from CVS:
* gst/gstinfo.h: Add missing inline function.
* gst/gsttrace.c: add include
* gst/parse/grammar.y: remove unused code
* gst/registries/gstxmlregistry.c: (make_dir): make mkdir call
more portable.
* tools/gst-register.c: wrap unistd.h
More additions/fixes from Steve for the MSVC build.
* win32/GStreamer.vcproj:
* win32/Makefile:
* win32/Makefile.inspect:
* win32/Makefile.launch:
* win32/Makefile.register:
* win32/README.txt:
* win32/gst-inspect.vcproj:
* win32/gst-launch.vcproj:
* win32/gst-register.vcproj:
* win32/gstbytestream.def:
* win32/gstbytestream.vcproj:
* win32/gstconfig.h:
* win32/gstelements.def:
* win32/gstelements.vcproj:
* win32/gstenumtypes.c:
* win32/gstenumtypes.h:
* win32/gstoptimalscheduler.def:
* win32/gstoptimalscheduler.vcproj:
* win32/gstreamer.def:
* win32/gstspider.def:
* win32/gstspider.vcproj:
* win32/gstversion.h:
* win32/msvc71.sln:
2004-05-10 18:07:24 +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
Thomas Vander Stichele
c87049e9e2 put offending pipeline in error
Original commit message from CVS:
put offending pipeline in error
2004-05-06 17:09:10 +00:00
Benjamin Otte
2f043c0996 gst/parse/grammar.y: use GST_ERROR instead of g_warning, and always throw a GST_ERROR
Original commit message from CVS:
* gst/parse/grammar.y:
use GST_ERROR instead of g_warning, and always throw a GST_ERROR
2004-05-04 20:07:38 +00:00
Benjamin Otte
2696ee9c90 gst/parse/grammar.y: fix assert to not trigger when there's no error argument
Original commit message from CVS:
* gst/parse/grammar.y:
fix assert to not trigger when there's no error argument
* gst/parse/parse.l:
fix definition of caps to allow more than two structures
* testsuite/caps/Makefile.am:
* testsuite/caps/renegotiate.c: (main):
it's sinesrc and works in that case
2004-05-04 17:00:11 +00:00
Sebastien Cote
5453269a0e gst/parse/grammar.y: Apply patch from Sebastien Cote
Original commit message from CVS:
* gst/parse/grammar.y:  Apply patch from Sebastien Cote
<sc5@hermes.usherb.ca> to fix a memleak. (bug #140594)
2004-04-20 19:40:05 +00:00
Johan Dahlin
272eccde22 gst/parse/grammar.y (__gst_parse_chain_free): Don't do null checking here, do it before calling the function.
Original commit message from CVS:
* gst/parse/grammar.y (__gst_parse_chain_free): Don't do null
checking here, do it before calling the function.
Clean up, use for loops instead of while loops while iterating
over lists.
2004-04-19 17:40:24 +00:00
Thomas Vander Stichele
674e6a9a02 gst/gstelement.c: make elements try to recursively change state to PAUSED on all parents after an error to suppress e...
Original commit message from CVS:
* gst/gstelement.c: (gst_element_error_full):
make elements try to recursively change state to PAUSED on all
parents after an error to suppress ensuing warnings
* gst/parse/grammar.y:
make it check if it was able to sync the state, and throw an error
if not, so stuff like
oggdemux ! vorbisdec ! osssink gets caught
2004-03-05 13:07:48 +00:00
Andy Wingo
cded585aa2 gst/: Debugging tweaks.
Original commit message from CVS:
2004-02-20  Andy Wingo  <wingo@pobox.com>

* gst/gstbin.c:
* gst/gstbuffer.c:
* gst/gstplugin.c:
* gst/registries/gstxmlregistry.c:
* gst/schedulers/gstoptimalscheduler.c: Debugging tweaks.

* gst/gstelement.c (gst_element_set_scheduler): Debugging fixes.
(gst_element_add_pad): DEBUG->INFO, some fixes.
(gst_element_get_compatible_pad_template): Just see if the
templates' caps intersect, not if one is a strict subset of the
other. This conforms more to what gst_pad_link_intersect() does.
(gst_element_class_add_pad_template): Don't memcpy the pad
template, just ref it.
(gst_element_get_compatible_pad_filtered): Clean up debug messages

* gst/gstpad.c (gst_pad_can_link_filtered): Debug a true result.
(gst_pad_link_filtered): Debug changes.
(gst_pad_link_prepare): New function, consolidated from
can_link_filtered and link_filtered.

* gst/parse/grammar.y (gst_parse_perform_link): Made INFO output
look more like that of the functions in gstelement.c

* gst/gstinfo.c (gst_debug_print_object): Put a space before the
object, and return the empty string if object is NULL.

* gst/parse/parse.l: Remove trailing newlines when calling PRINT.
* gst/parse/grammar.y (YYFPRINTF): Log bison debugging info via
LOG, not DEBUG. We still get flex info on debug.

* gst/registries/gstxmlregistry.c (gst_xml_registry_load): Make
debug string more verbose.
(plugin_times_older_than): DEBUG->LOG.
2004-02-20 13:18:32 +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
92e2c686c4 gst/gstevent.c: actually break; inside the switch statement
Original commit message from CVS:
2004-02-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstevent.c: (_gst_event_free):
actually break; inside the switch statement
* gst/parse/grammar.y:
fix memleak where GValues weren't unset
2004-02-04 17:24:23 +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
Thomas Vander Stichele
8e96cb73f6 translating parsing error messages
Original commit message from CVS:
translating parsing error messages
2004-01-13 14:23:44 +00:00
Thomas Vander Stichele
47274a1abe fix non-gtk-doc comment blocks
Original commit message from CVS:
fix non-gtk-doc comment blocks
2003-12-24 14:39:46 +00:00
David Schleef
f94d6d1d47 Check caps for NULL before copying
Original commit message from CVS:
Check caps for NULL before copying
2003-12-24 00:26:45 +00:00
David Schleef
8c9cd079d4 Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2003-12-22 01:39:35 +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
David Schleef
13c11bbedf Change strtod() -> g_ascii_strtod(), since strtod() is locale dependent.
Original commit message from CVS:
Change strtod() -> g_ascii_strtod(), since strtod() is locale
dependent.
2003-07-25 07:57:11 +00:00
David Schleef
ee5586e873 Reference the caps used as filtercaps
Original commit message from CVS:
Reference the caps used as filtercaps
2003-07-14 08:23:28 +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
David Schleef
6b42d9aca7 Change uint to guint
Original commit message from CVS:
Change uint to guint
2003-05-18 22:45:27 +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
a960c7a7a3 This is filtered caps in 20 lines. Implemented full featured parsing of pipelines with filtered caps. To get a grip o...
Original commit message from CVS:
This is filtered caps in 20 lines. Implemented full featured parsing of pipelines with filtered caps. To get a grip of the syntax you might want to look at testsuite/caps/string-conversions.c or run that test
2003-05-17 20:45:06 +00:00
Benjamin Otte
fe3861c2d3 do error checking for int/float values and don't accept trailing characters, but do accept overflows
Original commit message from CVS:
do error checking for int/float values and don't accept trailing characters, but do accept overflows
2003-05-06 22:58:04 +00:00
Benjamin Otte
cbe36c876b fix gcc 2.x compiler error, when variables aren't defined at the top.
Original commit message from CVS:
fix gcc 2.x compiler error, when variables aren't defined at the top.
2003-05-01 20:57:40 +00:00
Benjamin Otte
9837c9dbaa add extra error for empty pipeline
Original commit message from CVS:
add extra error for empty pipeline
2003-04-27 23:56:31 +00:00
Benjamin Otte
8cebfd7528 I suck - it's the wrong variable and I don't get it for ages even while testing this code
Original commit message from CVS:
I suck - it's the wrong variable and I don't get it for ages even while testing this code
But while I was atit, I fixed it right this time (I hope)
2003-04-25 17:35:26 +00:00
Benjamin Otte
b04519c43d just to be sure...
Original commit message from CVS:
just to be sure...
2003-04-25 00:26:09 +00:00
Benjamin Otte
d02583b999 fix stupid segfault when setting integer properties
Original commit message from CVS:
fix stupid segfault when setting integer properties
2003-04-24 22:34:10 +00:00
Benjamin Otte
5d35141256 fix 2 warnings
Original commit message from CVS:
fix 2 warnings
2003-04-23 20:06:54 +00:00
Benjamin Otte
313c399808 workaround for bison 1.35 bug
Original commit message from CVS:
workaround for bison 1.35 bug
2003-04-23 19:16:06 +00:00
Benjamin Otte
354e85056f another bugfix, i will never get used to using the retrun value of g_(s)list_prepend
Original commit message from CVS:
another bugfix, i will never get used to using the retrun value of g_(s)list_prepend
2003-04-17 14:52:38 +00:00
Benjamin Otte
45521ec77a bugfixing in pipeline parsing. Fixed the 2 pipelines that are now added to the testsuite
Original commit message from CVS:
bugfixing in pipeline parsing. Fixed the 2 pipelines that are now added to the testsuite
2003-04-16 21:37:35 +00:00
Benjamin Otte
838ffca4fa enable debugging output for bison parser, fix // comments, better error recovery, error out on non-instantiable eleme...
Original commit message from CVS:
enable debugging output for bison parser, fix // comments, better error recovery, error out on non-instantiable elements (fixes #110758)
2003-04-14 18:33:58 +00:00
Benjamin Otte
8bfbc81d36 general fixes:
Original commit message from CVS:
general fixes:
- changed newly added locked_state API to work like GStreamer does
- added gst_element_sync_state_with_parent function
- revert: pad linking does not require non-playing state
- updated spider and pipeline parsing to link elements in playing state
- bugfix: pads are now activated when added to a playing element (broke above change)
2003-04-11 00:00:46 +00:00
Benjamin Otte
d89dd2d325 bugfix: wrong function due to missing char
Original commit message from CVS:
bugfix: wrong function due to missing char
2003-04-10 01:32:56 +00:00
David Schleef
ac84bc9a55 Fix warning
Original commit message from CVS:
Fix warning
2003-04-08 23:17:36 +00:00
Benjamin Otte
3a897e2f30 rewritten pipeline parsing lands. Have fun breaking it.
Original commit message from CVS:
rewritten pipeline parsing lands. Have fun breaking it.
regressions:
- No support for filtered links. If anybody needs this, please contact me and I'll add it as fast as possible.

improvements:
- The pipeline building actually works as expected.
- syntax compatible nearly everywhere but more flexible
- better property parsing (you can now set enums by name or nick)
- uses locked_state to allow for delayed pads
- can connect video pipelines without the need for queues
- allows properties on bins
- does not return a bin, but an element.

You may want to read docs/random/company/gstparse to learn how it works.
2003-04-08 21:59:44 +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
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
9e8e9385cb fix bug #96751
Original commit message from CVS:
fix bug #96751
2002-12-08 01:26:02 +00:00