Commit graph

5548 commits

Author SHA1 Message Date
Wim Taymans
f90a9a8092 iterator: fix docs for _new_single(). 2009-08-31 20:38:07 +02:00
Tim-Philipp Müller
5dc534c642 docs: it's its
The panda says no!
2009-08-31 17:00:17 +01:00
Mark Nauwelaerts
1b6da398fb registry: fill in elementfactory when registering element
elementfactory field is filled in by gst_element_base_class_init,
but it needs some info set on the element's type, so have it
available prior to class structure creation spinning up.
This affects elements that have a well-known/public type (e.g. pipeline)
and can be created by other means than gst_element_factory_make
(which will also fill in the element's factory).
2009-08-31 15:34:54 +02:00
Wim Taymans
b0c1ebbd08 utils: use 128bits division on x86_64 2009-08-31 11:45:17 +02:00
Руслан Ижбулатов
4ad052fed7 systemclock: fix compilation of win32 code
Fixes #593460.
2009-08-29 11:32:21 +01:00
Wim Taymans
d4012be469 bin: cache index
Cache the last index that was set with _set_index() and return this in the
_get_index() call.
Set the cached index on newly added elements.

Fixes #566881
2009-08-28 18:41:42 +02:00
Wim Taymans
a3f9908266 element: better type checks
Add GST_CLOCK typecheck for _set_clock().
Allow setting NULL indexes on element (clear the current index)
Some whitespace fixes.
2009-08-28 18:36:45 +02:00
Wim Taymans
a9095a2d73 element; whitespace fixes 2009-08-28 18:14:23 +02:00
Wim Taymans
e54e5eb9bb systemclock: use preformance counters on windows
Based on clock implementation by Håvard Graff <havard.graff@tandberg.com>

Try to get the time on windows using the performance counters. These have a much
higher resolution and accuracy than the regular getcurrenttime(). Be careful to
fall back to regular getcurrenttime() or posix clocks when performance counters
are not available.
2009-08-28 17:02:30 +02:00
Wim Taymans
7c054f5f53 systemclock: fix indentation 2009-08-28 16:07:16 +02:00
Wim Taymans
378b1e30e7 utils: use shift instead of division
We can use a shift for scaling the denominator instead of a divide since the
denom is always positive. This avoids having the compiler generate code for the
different rounding rules when scaling negative values.
2009-08-28 15:32:26 +02:00
Wim Taymans
6cf8948663 utils: make inlining explicit 2009-08-28 13:45:38 +02:00
Wim Taymans
d8911f269f utils: optimize for x86_64 with some inline asm
64bit x86 has native 64x64->128 bit multiply that we can use with some inline
assembler to speed up large multiplications.
Use bsr to find the number of leading zeros more efficiently.
2009-08-28 12:43:43 +02:00
Wim Taymans
0ef7a5af52 utils: factor out the leading zero count code 2009-08-28 12:33:37 +02:00
Wim Taymans
2b8d7a54cc utils: pass correction factor around
Pass the correction factor around to get rid of the enum, some code
and some branches.
2009-08-28 12:30:41 +02:00
Wim Taymans
75e8e9eb42 utils: whitespace fixes 2009-08-28 12:21:28 +02:00
Wim Taymans
2b66b29355 utils: move common correction code in a macro 2009-08-28 12:19:34 +02:00
Sebastian Dröge
a1ae8a3a3e iterator: Allow to use NULL as object for the single iterator 2009-08-26 16:51:32 +02:00
Sebastian Dröge
b2cab40745 iterator: API: Add gst_iterator_new_single()
This allows "iteration" over a single object of some type,
which happens often for the GstPadIterIntLinksFunction for example.
2009-08-26 16:39:19 +02:00
David Schleef
6df1127daa It's __GNUC__, not _GNUC_
This appears to be an 8 year old bug.
2009-08-22 15:49:12 -07:00
Tim-Philipp Müller
a01e5b8dca pluginfeature: add guard to gst_plugin_feature_type_name_filter
So we don't just crash if there's a refcounting bug somewhere else.
2009-08-20 11:55:44 +01:00
Sebastian Dröge
884467d493 gstpad: Add some DISABLE_DEPRECATED markers in the header too
The internal links function is deprecated since some time and
there already were GST_REMOVE_DEPRECATED markers in the source file,
now add them to the header too.

Fixes bug #592209.
2009-08-18 14:57:08 +02:00
Antoine Tremblay
c87d551705 gstbin: Don't try to change children's state if they're already in the state we want
Fixes bug #368536.
2009-08-18 11:36:36 +02:00
Sebastian Dröge
a0ed1a44a5 ghostpad: Always get the proxypad's ghostpad via the ghostpad in the src caps change notify handler
Before the signal handler would get the ghostpad passed as second
argument but it could've already been unreffed and destroyed.
This would then lead to crashes and all that.

Now we get the ghostpad from the proxy pad, which we get from the
target pad as it's peer.

Fixes bug #591318.
2009-08-18 11:33:17 +02:00
Kipp Cannon
9cfd9f9374 gstutils: API: Add rounding to nearest and next integer versions of the 64 bit integer scaling functions
The new functions are
gst_util_uint64_scale_int_round()
gst_util_uint64_scale_int_ceil()
gst_util_uint64_scale_round()
gst_util_uint64_scale_ceil()

Fixes bug #590919.
2009-08-13 16:32:28 +02:00
Kipp Cannon
61481c1b79 gstutils: Revert parts of last change to optimize the scaling functions again
Partially fixes bug #590919.
2009-08-13 16:32:28 +02:00
Sebastian Dröge
6a84be95be gstutils: Fix violations of strict-aliasing rules in gst_util_uint64_scale() 2009-08-13 16:32:27 +02:00
Kipp Cannon
3d359729af gstutils: Refactor gst_util_uint64_scale()
This will later make it possible to provide rounding versions
of it without much code duplication.

Partially fixes bug #590919.
2009-08-13 16:32:27 +02:00
Jonas Holmberg
824a0b5f5f bufferlist: update doc string 2009-08-11 15:21:33 +02:00
Sebastian Dröge
276a55fd24 gstsegment: Actually start==stop==segment_start is inside the segment
Still the old code was wrong as it claimed that start==stop<segment_start
would be inside the segment and returned insane clipping differences.
2009-08-11 13:21:35 +02:00
Sebastian Dröge
ca8a0376c5 gstsegment: Clipping should detect start=stop<segment_start as outside the segment
Before it returned that [start,stop] is inside the segment and that the
difference between segment_start and start needs to be clipped. If the
clipping is done on a buffer (like in baseaudiosink) this will result
in the data pointer being at a invalid memory position.

Fixes bug #589849.
2009-08-11 12:59:13 +02:00
Edward Hervey
51bc185f7f gst: Remove dead assignments 2009-08-08 14:47:40 +02:00
Wim Taymans
aa33db85cc gstbuffer: add additional checking for writability
Check for metadata writability when setting caps on buffer or when copying
metadata flags. Only enable these extra assertions in git versions.
This should help us find bad elements.
2009-08-06 18:47:32 +02:00
Tim-Philipp Müller
459c2b9c79 docs: fix Since: tag for new gst_caps_can_intersect() function 2009-08-06 14:11:46 +01:00
Stefan Kost
50fbc34f3f utils: use new _caps_can_intersect() 2009-08-06 15:30:34 +03:00
Stefan Kost
aee208ff30 pad: use new _caps_can_intersect() 2009-08-06 15:30:33 +03:00
Stefan Kost
568202cb47 caps: add gst_caps_can_intersect()
Often we don't need the result of the intersection. Add a variant that only
tries to intersect. It can break out earlier and does less GValue copying.
API: gst_caps_can_intersect()
2009-08-06 15:30:33 +03:00
Stefan Kost
baaf7e5319 caps: split callback for structure intersect into two functions
We call this separately. there is no much benefit in reusing the callback.
Splitting is let us remove a branch also.
2009-08-06 15:30:33 +03:00
Stefan Kost
f5314ecae1 logging: log if we copy caps to be able to track it 2009-08-06 15:30:33 +03:00
Stefan Kost
24517c8975 caps: add comments about g_ptr_array size behaviour
Just explain the behaviour to avoid that someone else is wasting time trying to
improve this too.
2009-08-06 15:30:33 +03:00
Stefan Kost
12f9b39fac pad: use correct variable in test 2009-08-06 15:30:32 +03:00
Stefan Kost
e4ee7831e3 registry: add filename to debug message, like elsewhere 2009-08-06 15:30:32 +03:00
Stefan Kost
b01fb4d230 bin: fix compiler warning about unused var when disabling debug logging 2009-08-06 15:13:36 +03:00
Wim Taymans
950c70c8bb caps: add some more debugging in _replace 2009-08-06 10:52:12 +02:00
Wim Taymans
4146fa2eed pad: Add some more debugging 2009-08-06 10:52:05 +02:00
Wim Taymans
3b26e0c600 ghostpad: small improvements
Unref the target pad after we used it for debugging.
Add some more debug.
Only replace caps when they changed.
2009-08-06 10:51:54 +02:00
John Millikin
3e538b71fb taglist: Add support for ALBUM_ARTIST tag
The "album artist" tag is used when the artist of an entire
album differs from the artist of an individual track; for example,
when a "guest artist" appears on an album, or on compilations.

Fixes bug #590430.
2009-08-06 06:41:58 +02:00
Stefan Kost
1a44bd93d6 gstregistrybinary: add +1 after error checking
The current code made the error checking pointless by changing -1 to 0 in error
cases. Also don't leak a pad template on error.
2009-07-20 20:59:29 +03:00
Wim Taymans
a78199ae5e task: fix taskpool leak
GstTaks does not always unref the taskpool it was created from because it
depends on when the pool provided an ID for joining the task.
Rework some code so that we always unref the pool and optionally join when the
pool provided an id.

Fixes #589127
2009-07-20 18:02:53 +02:00
Stefan Kost
de1e991dec binaryregistry: don't unref NULL if we have an early read error 2009-07-20 11:06:22 +03:00
Tim-Philipp Müller
9459a93cb4 tags: only emit a g_warning() for empty tag strings for git versions
For now, don't show a g_warning() for empty tag strings and NULL
tags with non-git versions; we should wait for the fixes in our
plugin modules to make it into a release before we enable this
unconditionally.
2009-07-16 13:59:07 +01:00
Stefan Kost
f18bee2d8a value: add explanation for shortcut 2009-07-14 12:15:05 +03:00
Stefan Kost
c686053aac value: fix can_intersect to behave like intersect
Add a quick return if two types are the same. Change the check for the
intersection function to be the same as the one used in intersect(). The
later tries both directions.
2009-07-14 08:32:23 +02:00
Tim-Philipp Müller
6049559201 gstinfo: maintain ABI compatibility even if debugging is disabled 2009-07-14 00:04:22 +01:00
Jan Schmidt
7bf3554228 structure: Change NULL and empty string handling
Don't forbid the empty string "" in generic structures, only in taglists.
Properly allow the NULL string by adding special cases for serialising
and deserialising it. prop1=(string)NULL is the NULL string,
prop1=(string)"NULL" is the actual string with the value "NULL"
2009-07-13 18:28:37 +01:00
Sebastian Dröge
5f6bfb816b registry: Use g_build_filename() instead of g_strjoin() with /
This makes sure that the generated filenames use the platform
specific directory separator instead of /.

Fixes bug #587973.
2009-07-08 15:12:07 +02:00
Tim-Philipp Müller
6b2986194b docs: add 'Since' tag for new GST_DEBUG_CATEGORY_GET macro 2009-07-07 20:13:48 +01:00
Stefan Kost
2cb16ad7aa info: allow getting other log categories. Fixes #587417
Add a new macro GST_DEBUG_CATEGORY_GET to get a log category by name. This
allows plugins to use e.g. core categories like PERFORMANCE or CLOCK.
API: GST_DEBUG_CATEGORY_GET
2009-07-06 19:54:30 +01:00
Stefan Kost
4ef0264e66 logging: log object type in message 2009-07-06 19:52:44 +01:00
Tim-Philipp Müller
4d76b175ef docs: fix gtk-doc /*< private >*/ marker 2009-07-02 01:18:57 +01:00
Wim Taymans
30bc0361f1 message: fix parsing of the step done message
Parse the duration field too.
2009-06-30 18:23:29 +02:00
Edward Hervey
b50ba09164 binaryregistry: Use local values in while/for loops, use branch prediction macros 2009-06-30 16:30:07 +02:00
Edward Hervey
3c21f2d86c Spread branch prediction macros.
These are based on profiling several playback scenarios using playbin2.
2009-06-30 16:29:58 +02:00
Edward Hervey
923913984e Use local variables in for/while loops.
This makes the generated code faster since:
* It won't have to read an undirect value (which will most likely be
 outside of the L1/L2 cache)
* We know that value never changes (the compiler has no clue that it doesn't).
2009-06-30 16:29:50 +02:00
Wim Taymans
92b0f32d74 bufferlist: use faster gst_buffer_list_get()
Use the faster gst_buffer_list_get() to get the first buffer of a list.
2009-06-29 11:56:10 +02:00
Wim Taymans
939f6045b1 bufferlist: fix example
The _do function now takes user_data in all cases.
2009-06-29 11:55:14 +02:00
Jonas Holmberg
0e66315f2d docs: fix some typos 2009-06-29 11:07:40 +02:00
Stefan Kost
3e21ddf81f logging: add a performace log category
This category can be used to log slow code path and help auditing the
performance. Add FIXME-0.11 to some questionable categories.
2009-06-29 11:28:01 +03:00
Stefan Kost
dc9ca2e39c structure: fix int->gint to be in sync with the *.h and usage 2009-06-27 16:37:07 +03:00
Stefan Kost
fdcde50cb0 request-pad: tell about ref counts in release_request_pad docs.
It is not too obvious that getting and releasing request pads is not entierly
symetrical regarding to the pad refcount. Add a note about that to the docs.
This might deserve a FIXME-0.11 too.
2009-06-26 12:50:53 +03:00
Wim Taymans
5602b935de caps: avoid doing logic in g_assert
Make sure we still do the right thing when glib is compiled without
assertions.
2009-06-24 18:31:08 +02:00
Edward Hervey
0fc8410433 GstStructure: Use direct values for repetitive conditionals (for/while). 2009-06-24 11:00:27 +02:00
Edward Hervey
43dba6cefc miniobjects: Don't chain up to empty finalize method.
If ever we do anything in mini_object_finalize, we should make sure the 4
core miniobject finalize methods chain back up again.
2009-06-24 11:00:27 +02:00
Edward Hervey
5d819beffb gstcaps: Use direct values for repetitive conditionals (for/while). 2009-06-24 11:00:27 +02:00
Tim-Philipp Müller
d628988e0a make check: add check for enum type class unrefs in gst_deinit() too
Just because we can really.
2009-06-24 09:28:01 +01:00
Wim Taymans
3afa91d7aa trace: use proper locking in GstTrace
Protect the allocated list of objects with a lock so that trace actually works
reliably.
Shortcut the alloc trace sooner when disabled.
2009-06-23 13:46:28 +02:00
Wim Taymans
9993022fc4 object: also add pointers to debug
Add the object pointers in the debug info for _replace.
2009-06-23 13:46:27 +02:00
Stefan Kost
4bf3d4450a taglist: fix typo in tag description 2009-06-22 18:17:28 +03:00
Jan Schmidt
c2e980f827 init: Fix indent, and ref the gst_buffer_list_item_get_type() class
Fix the check tests by reffing the GstBufferList class. Run gst-indent
to make git happy about some existing stuff
2009-06-21 00:09:53 +01:00
Wim Taymans
570ec39b1c bufferlist: remove old enum from docs 2009-06-19 19:25:59 +02:00
Tim-Philipp Müller
720bd6d932 gstinfo: define __gst_debug_min to LOG_LEVEL_NONE if debugging is disabled
Just in case someone who clearly can't be deterred by any number of leading
underscores uses this very private but still somewhat documented symbol
directly in their code (*cough* qtdemux *cough*).
2009-06-19 15:03:52 +01:00
Wim Taymans
6438f6f9b9 bufferlist: Various cleanups
Add new method to iterate a bufferlist without having to allocate an iterator.
Add convenience method for getting an item from the list based on the group and
index.
Remove redundant _do_data callback and method.
Update unit-tests and add some more for the new methods.
2009-06-19 15:31:53 +02:00
Tim-Philipp Müller
17f794deeb docs: make gtk-doc happy 2009-06-19 14:10:30 +01:00
Tim-Philipp Müller
f3a358158a taskpool: fix unused variable warning in case debugging is disabled 2009-06-19 13:42:45 +01:00
Tim-Philipp Müller
4fdf54f1c5 gstinfo: fix export of GST_CAT_BUFFER_LIST when --gst-disable-debug is used
Move all the categories to export to one single place, so we don't
accidentally update or add vars in one place but not the other.
2009-06-19 13:40:13 +01:00
Josep Torra
bf2c345667 gstelement: moved the clock unref to the right place 2009-06-17 16:45:17 +02:00
Josep Torra
5d0b8a7489 gstelement: unref the clock when the element changes to null state 2009-06-17 16:17:27 +02:00
Руслан Ижбулатов
7ad8d2e54c Replaced deprecated win32-compatibility function with undeprecated one.
Fixes #560442.
2009-06-17 09:52:33 +01:00
Josep Torra
d280a3977e gstbin: swap the lines of my previous commit
Fixes a bug introduced in my previous commit that released the
clock provider and after used it to create the clock lost message.
2009-06-16 18:36:41 +02:00
Josep Torra
6103d45dc0 gstbin: remove clock references when clock lost happens
Remove reference to clock and clock provider stored in the bin
when the clockprovider element is removed from the bin.
2009-06-16 17:51:12 +02:00
Branko Subasic
f44b667120 ghostpad: Add support for GstBufferLists
Fixes #585834
2009-06-16 11:34:54 +02:00
Christopher Halse Rogers
2896964ec2 iterator: Explicitly mention refcounting in docs
Fixes #585938
2009-06-16 11:21:42 +02:00
Tim-Philipp Müller
470e561216 gstxml: fix (de)serialisation of properties of type GstStructure
souphttpsrc has a property of type GstStructure, which causes an
assertion when serialising it to xml. Fixes #585137.
2009-06-16 08:55:17 +01:00
Wim Taymans
d881bf69d1 bin: make sure we set the next state correctly
When the continue function is scheduled, make sure we set the next state instead
of the pending state.
Add some more debug info.

fixes #585569
2009-06-15 18:44:45 +02:00
Wim Taymans
309d78770c debug: add some more debug to element and pads 2009-06-15 18:42:59 +02:00
Руслан Ижбулатов
18a34288cf segment: fix include order to get config.h before _mingw.h
config.h must always be included before any other includes, either
directly or indirectly via gst_private.h. Fixes #585733.
2009-06-14 20:00:49 +01:00
Tim-Philipp Müller
dccea0406b taglist: add functions to create a new taglist with tags in one go
Add functions to create a new tag list and set tags in one go, which
is nice for use in combination with functions that take ownership of
the taglist, such as gst_event_new_tag() or gst_element_found_tags().

API: add gst_tag_list_new_full()
API: add gst_tag_list_new_full_valist()
2009-06-14 16:17:50 +01:00
René Stadler
c403e4b7f0 Fix remaining --disable-gst-debug ABI breakage.
Fixes #579177.
2009-06-12 18:19:23 +03:00
Wim Taymans
f456be1db6 message: fix docs 2009-06-12 15:48:35 +02:00
Wim Taymans
25067558dc stepping: more stepping improvements
Update design doc with step-start docs.
Add eos field to step done message
when stepping in reverse, update the segment time field.
Flush out the current step when we are flushing.
2009-06-12 13:20:36 +02:00
Wim Taymans
e969b3a399 message: add step-start message 2009-06-12 13:16:29 +02:00
Tim-Philipp Müller
4530151ad2 gstvalue: more efficient value table lookup for fundamental types
Small micro-optimisation: look up value table for fundamental types
via an array dedicated to fundamental types instead of going through
a hash table lookup. Since there can be only 255 fundamental types,
the table size/efficiency trade-off should be acceptable, esp. since
the most commonly-used types are all fundamental types. The size of
the table could probably be minimised further if needed by allocating
the table dynamically and only expanding it on demand.
2009-06-11 19:02:40 +01:00
Tim-Philipp Müller
e8bfd88f26 gstvalue: don't put GTypes into int variables
GTypes are not ints and as such are not guaranteed to fit into an int
(with the exception of fundamental types), so we really shouldn't put
them into int variables. Even if a rather unlikely obscure corner case,
this has actually been a problem at some point in the past, see commit
99f16655f4.
2009-06-11 18:48:50 +01:00
Jan Schmidt
4165cdf4af elementfactory: Fix a compiler warning
Use (gpointer) instead of (gpointer *) to fix a strict-aliasing build warning.
2009-06-11 14:00:09 +01:00
Tim-Philipp Müller
7e9105bca0 Make sure config.h is only included once
Fixes build problem on win32 (#585075).
2009-06-10 20:29:41 +01:00
Stefan Kost
094d71f004 plugin: add since: tags for the api docs.
The previous related commit added new API.
API: add gst_plugin_get_cache_data, gst_plugin_set_cache_data
2009-06-10 18:07:11 +03:00
Stefan Kost
a6999575d5 plugin: fix leaks introduced by fix for #584389 2009-06-10 12:03:42 +03:00
Tim-Philipp Müller
cdd47a37e9 structure: add gst_structure_*_get*() vararg functions
Add a bunch of vararg getter convenience functions to complement
the vararg setter functions, and a basic unit test. Fixes #534208.

API: gst_structure_get()
API: gst_structure_id_get()
API: gst_structure_get_valist()
API: gst_structure_id_get_valist()
2009-06-10 09:39:12 +01:00
Tim-Philipp Müller
26b201273a docs: a few small API doc fixes and additions 2009-06-10 09:39:12 +01:00
Tim-Philipp Müller
a33de081b2 logging: when logging taglists, shorten long buffer dumps
Don't dump hundreds of kB of hexdata into debug logs when converting
taglists containing huge images into a string. Instead, shorten the
buffer data so that the string is still readable and debug logs
stay managable. Can be turned off with GST_DEBUG_OPTIONS=full-tags.
See #584988.
2009-06-10 09:39:11 +01:00
Wim Taymans
afeec70eff segment: make conversion more precise
Make sure the conversion from and the conversion to give the same results.
2009-06-09 10:23:23 +02:00
Tim-Philipp Müller
f44204c8fa utils: gst_util_uint64_scale*() micro-optimisations
Sprinkle G_LIKELY/G_UNLIKELY; add inlined _scale_int_unchecked()
so we don't do some checks twice when calling it from _scale().
2009-06-08 17:13:17 +01:00
Tim-Philipp Müller
998b2392d3 Remove double semicolons at end of line 2009-06-08 17:13:17 +01:00
Stefan Kost
ed88db818b registry: allow plugins to cache extra data in registry. Fixes #570233
Add a GstStructure to GstPlugin. Plugins can retieve it in plugin_init and
access the cached info or build the cache and store it there.
2009-06-07 23:48:59 +03:00
Stefan Kost
55577a48ea registry: don't recreate features on first use. Fixes #584389
The first time one calls gst_element_factory_make(), gst recreates the plugin
feature and the element factory. As a side effect we ref the class to fill
in detail we already have filled from the registry cache. This patch changes
the behaviour to just update the existing entries. The factory is now attached
to the type and set in gst_element_base_class_init().
2009-06-07 23:48:59 +03:00
Wim Taymans
1769cc7297 gstvalue: remove type checks and redundant code 2009-06-07 17:32:35 +02:00
Wim Taymans
19f98d6418 value: fix fraction range lcopy function
This function seems to be broken for 3.5 years. Luckily nobody ever tried to
make a fraction range object property...
2009-06-07 15:43:57 +02:00
Wim Taymans
65f9b38138 gstvalue: performance improvements
Add a GType->GstValueTable hashtable mapping.
Avoid _get_type() multiple times when we can.
Use GSlice for fraction range dynamic memory
Add G_LIKELY when we can
Improve lookup of the value table using the hashtable
2009-06-07 15:35:12 +02:00
Wim Taymans
c6e6e7c97b structure: no need to clear on init
We don't need to clear the field on init because we will do that again before we
are going to use the field later.
2009-06-07 14:30:28 +02:00
Jan Schmidt
766e7afc23 gststructure: Fix some memory leaks. Sprinkle G_LIKELY/UNLIKELY
Fix some memory leaks shown by the new serialisation/deserialisation unit
test. Split the gst_string_wrap function in gstvalue.c into components and
use them to make gst_string_take_and_wrap, which takes ownership of the
string, avoiding a strdup.

Add some G_LIKELY/UNLIKELY, and clean up some leaks in error paths.
2009-06-05 21:00:43 +01:00
Wim Taymans
814b46b6a6 ghostpad: avoid excessive notify for caps
Avoid an object property notify if the caps on the other pad were already
set (and thus notified).
2009-06-04 18:26:04 +02:00
Wim Taymans
0e74bfe248 segment: add gst_segment_set_running_time
Added new method for closing the segment to a specific running time.

API: GstSegment::gst_segment_set_running_time()
2009-06-04 12:53:20 +02:00
Tim-Philipp Müller
32ba8b4fb3 errors: reword state change failed error message and remove bugzilla link
Reword this message a bit to make it clearer what it means, namely that
the state change may have failed for good reasons, but that the element
just failed to post a proper error on the bus. This is not an internal
GStreamer bug, and we really don't need people to flood bugzilla with
bug reports if one such plugin bug ever makes it into the wild.
2009-06-04 00:59:03 +01:00
Tim-Philipp Müller
604097bc3a API: add GST_MESSAGE_SRC_NAME macro
Add GST_MESSAGE_SRC_NAME macro that always returns a non-NULL string.
Useful for debugging and logging purposes.
2009-06-04 00:40:51 +01:00
Wim Taymans
92984a116b segment: add method for converting to position
Add gst_segment_to_position() that converts a running_time to a position in the
segment. A faulty variant of this function is currently used in inputselector
but we'll need it for frame stepping too.

API: GstSegment::gst_segment_to_position()
2009-06-03 19:06:30 +02:00
Stefan Kost
47d9904eba structure: fix serialisation of nested structures.
Use string_warp/unwrap to escape delimiters, otherwise deserialisation fails.
Also move GST_ASCII_IS_STRING to private header to avoid keeping it in sync.
Also use '\0' when terminating a string for better readability.
2009-06-02 18:39:17 +03:00
Tim-Philipp Müller
51f50a5c67 info: widen log level strings to take into account the new MEMDUMP 2009-06-01 20:28:30 +01:00
Wim Taymans
0c205b96b4 framestep: implement backwards framestep
Update framestep document, we want to pass the flush flag in the step-done
message.

Add flush flag to the gstmessage.

Update examples to use the new step-done message api.

Implement framestep with playback rates < 0.0 too.
2009-06-01 13:37:28 +02:00
Wim Taymans
386c516e51 add new API for framestepping
Add new STEP event and methods for creating/parsing the event
Update design docs.
Add new STEP_DONE message and method to create/parse.

API: GstEvent::gst_event_new_step()
API: GstEvent::gst_event_parse_step()
API: GstMessage::gst_message_new_step_done()
API: GstMessage::gst_message_parse_step_done()
2009-06-01 13:36:49 +02:00
Tim-Philipp Müller
a565dbd1f3 structures: don't leak invalid or empty strings when we warn
Fixes minor memory leak in unit tests caused by the recent changes.
Since we're expected to take ownership of the GValue in the structure
field struct here, we need to unset it if we don't use it.
2009-06-01 10:10:20 +01:00
Stefan Kost
612387da25 registry: fix comment formatting 2009-05-31 22:39:05 +03:00
Tim-Philipp Müller
7c4e618471 taglists: make _get_{string|pointer} return FALSE for NULL values
Make gst_tag_list_get_string() return FALSE for NULL strings and
empty strings, and gst_tag_list_get_pointer() return FALSE for
NULL pointers, like we do with dates and buffers.

Fixes #560345.
2009-05-31 16:17:45 +01:00
Tim-Philipp Müller
30c890c7a2 taglists: warn if someone tries to add empty or NULL string tags to a taglist
Also warn if an element or application tries to add a field with an
empty string to a structure (NULL strings are still needed and
allowed though) and do all those checks in the right function.

Fixes #559643.
2009-05-31 15:38:01 +01:00
Tim-Philipp Müller
c8acbbfde0 structure: add gst_structure_id_new() convenience function
Add convenience wrapper for gst_structure_id_empty_new() plus
gst_structure_id_set() and use it in a few places.

API: gst_structure_id_new()
2009-05-29 19:28:10 +01:00
Tim-Philipp Müller
bc7c7e9836 micro-optimisation: use GST_QUARK in more places
Use gst_structure_id_empty_new() in combination with GST_QUARK
rather than gst_structure_id_new() when creating message, event,
query and taglist structures. Mostly just because we can.
2009-05-29 19:27:43 +01:00
Wim Taymans
ae62089f58 element: reset start_time in lost state 2009-05-29 16:14:36 +02:00
Wim Taymans
6beb496878 docs: update element an pipeline docs 2009-05-29 13:03:15 +02:00
Wim Taymans
087c8957d2 pipeline: deprecate old methods, fix test
Deprecate the old _set_stream_time and _get_last_stream_time methods because
they are now equivalent to the better named _set/_get_start_time.
2009-05-29 12:21:36 +02:00
Wim Taymans
6affcdd2ad pipeline: use START_TIME to keep track of time
Use the element START_TIME to keep track of the running time when the pipeline
paused so that it can be used to restore the base_time.
Take the start_time before setting the children to PAUSED so that we can
distribute the start_time to the children.
2009-05-29 11:55:39 +02:00
Wim Taymans
465b40a2b8 bin: set the base_time and start_time better
Simply set the start_time and base_time on the element instead of calling the
setters.
2009-05-29 11:55:38 +02:00
Wim Taymans
2f23444d35 bin: make the bin set the start_time on elements
Set the start_time of the bin on the elements when they are added to the
pipeline and when a state change happens.
2009-05-29 11:55:38 +02:00
Wim Taymans
83b2c63a30 element: add start_time field an methods
Add a start_time field and some methods. The start_time will contain the
running_time of when the element last went to paused. This time can be user to
report the position in PAUSED but also to do more correct clipping and
stepping later.
2009-05-29 11:55:38 +02:00
Wim Taymans
8f7c59936e pad: add pad private structure
Add pad private structure and move the new chainlistfunc into the private
struct. This avoids ABI breakage and allows us to expand in the future.
2009-05-28 16:36:32 +02:00
Wim Taymans
791fa43812 buffer: avoid memory leaks
Avoid leaking the caps of the dest buffer and avoid doing needless caps
refs.
When the source and target buffers are the same, return immediatly.
2009-05-27 16:19:34 +02:00
Sebastian Dröge
4e8f547f98 API: Add gst_message_{new,parse}_tag_full() to get/set the source pad
Fixes bug #582588.
2009-05-27 14:32:51 +02:00
Sebastian Dröge
db6f445620 Revert "element: Set the originating pad as message source in gst_element_found_tags_for_pad ()"
This reverts commit bebfde7502.

This change shouldn't be done in a stable release series as
applications are actually expecting the sender to be an
GstElement. One example is totem.
2009-05-27 14:06:13 +02:00
Wim Taymans
91f901975a element: fix typo in comments 2009-05-25 18:45:19 +02:00
Wim Taymans
03037d56f4 clock: remove assertion
Remove an assertion, this is not really an error in all cases.
Fixes #582010
2009-05-25 16:54:25 +02:00
Wim Taymans
cabc9cbbef clock: enable monotonic clock when we can
Enable the monotonic clock by default when we can.
Fixes #583554
2009-05-25 16:23:30 +02:00
Wim Taymans
fd8559e4fb pad: keep task ref before releasing the lock
Keep a ref to the task on the pad so that a concurrent stop can stop and join
the task.
2009-05-25 13:03:42 +02:00
Wim Taymans
d20de24c97 gsttask: avoid join to return early
Unset the running flag after we released the lock for posting the stream-status
message. If we set the running flag to FALSE too early, the join method will
just continue without waiting for the message to be posted, leading to potential
crashes.
2009-05-25 11:56:47 +02:00
Stefan Kost
9574d82bf9 preset: fix update rule
Only update the preset from system, if we had a preset before and system
version is newer.
2009-05-24 23:14:26 +03:00
Stefan Kost
158895f56b registry: don't free node-date and deref again. Fixes #580579
When writing a cache chunk fails, we were freeing the node and jump to a final
cleanup which dereferenced a null pointer. Leve freeing the node to the cleanup
code in fail_free_list. (sorry for committing wrong fix before).
2009-05-22 23:16:00 +03:00
Stefan Kost
4faa75ab35 registry: don't free node-date and deref again. Fixes #580579
When writing a cache chunk fails, we were freeing the node and jump to a final
cleanup which dereferenced a null pointer. Leve freeing the node to the cleanup
code in fail_free_list.
2009-05-22 23:10:00 +03:00
Stefan Kost
c2da78a953 docs: fix gtk-doc warnings
Move MT safety to main description (it does not belong to Return: or Since:
statement). Add a few missing return docs. Downgrade a normal comment froma doc
comment. Fix a doc header to only contain symbol name.
2009-05-22 12:53:11 +03:00
Jan Schmidt
c05e2382cb docs: Fix up some documentation warnings.
Since: tags should always be the last thing in a doc block, apparently.
Add some Returns: descriptions to some recent functions.
2009-05-22 09:33:02 +01:00
Wim Taymans
f7c5767559 docs: update docs for stream_time->running_time
Change some instances where we wrongly refer to stream time where it should have
been running time.
2009-05-21 17:32:00 +02:00
Hannes Bistry
b47f425069 loadsave: fix requestpad handling and serialisation order.
Support request pads when loading. Reverse pad serialisation order to
preserve it when recreating the pipeline.
2009-05-20 10:58:59 +03:00
Tim-Philipp Müller
71c7ae6c07 docs: mention that GST_FORMAT_{PERCENT|BUFFERS} are not implemented 2009-05-18 01:00:36 +01:00
Sebastian Dröge
44ea1ac6b4 gstclock: Fix ABI breakage on 32 bit architectures
The padding of GstClock is a GstClockTime and not a
gpointer, so adding a pointer requires the padding
size to be changed depending on the pointer size.
Use an union instead.

Fixes bug #582878.
2009-05-17 10:46:39 +02:00
Thiago Santos
f2890f46a5 [gstvalue] adds safety parenthesis to macros missing them. 2009-05-15 15:26:18 -03:00
Thiago Santos
69a1a60a87 [gstutils] Adds more safety to GST_WRITE_* and GST_READ_ macros.
Adds safety ( ) to parameters in _GST_PUT and _GST_GET macros.
Fixes #582708.
2009-05-15 15:26:17 -03:00
Wim Taymans
bb8f296d45 clock: use seqlocks to parallellize readers 2009-05-15 16:14:52 +02:00
Edward Hervey
4f951e2614 Makefile.am: update for added/moved/removed files that weren't dist-ed. 2009-05-15 11:00:53 +02:00
Sebastian Dröge
bebfde7502 element: Set the originating pad as message source in gst_element_found_tags_for_pad ()
Fixes bug #582588.
2009-05-14 12:25:20 +02:00
Wim Taymans
ae08561ae6 element: add gst_element_lost_state_full()
Add a gst_element_lost_state_full() with an extra argument to control
distribution of a new base_time. We will need this for flushing step
operations.

API: GstElement::gst_element_lost_state_full()
2009-05-14 11:36:28 +02:00
Stefan Kost
39d21970b0 debugutils: show more pad-details
Show pad activation mode and pad-flags inside the pad. Write down some ideas
about how we could improve the caps layout.
2009-05-13 11:03:27 +03:00
Stefan Kost
82635ea2a7 debugutils: layout improvement
dot does not take the head/tail labels into account. For unfixed caps they get
quite large. Double the padding to make it sort of readable in more cases. Also
make normal font bigger and caps-label font smaller to increase our luck.
2009-05-13 00:32:17 +03:00
Tim-Philipp Müller
fb007e5d50 Initialise some more types in gst_init(), esp. the new enum types
Possibly fixes GObject class creation/unref race conditions when
creating the last-message string in fakesink for events with
structures that have fields with these enum types.
2009-05-12 20:58:32 +01:00
Tim-Philipp Müller
7f0b2f3d3b systemclock: remove duplicate _get_type() function for GstClockType
Remove the static gst_clock_type_get_type() function in the
systemclock code in favour of the public one in gstenumtypes.c.
2009-05-12 20:57:09 +01:00
Stefan Kost
b71014259a ghostpad: remove deprecated API
_internal_link_function() is deprecated and _iterate_internal_links_function()
is already provided.
2009-05-12 18:31:20 +03:00
Stefan Kost
5ce13775b8 parse-launch: allow specifying GstElement properties via gst_parse_bin_from_description
If deserializing a property fails, check if the value type is a string and if so
attempt to create a bin from the string value. This allows to e.g. specify
audio-sink/video-sink for playbin on gst-launch commandline.
2009-05-12 18:31:19 +03:00
Wim Taymans
2dcbe1a4d3 bufferlist: make objects opaque 2009-05-12 16:18:48 +02:00
Wim Taymans
19dc33935e bufferlist: fix a comment 2009-05-12 15:33:25 +02:00
Jonas Holmberg
22a48fb08c bufferlist: hook up the pad functions
Reuse buffer code for bufferlists. Not sure if this measurably impacts performance
for the simple buffer case, if it does after doing some benchmarks, we can
decouple it later.

Fixes #572285
2009-05-12 15:18:53 +02:00
Jonas Holmberg
d99cf4db1b bufferlist: add docs/build/debug/unittest
See #572285
2009-05-12 15:18:52 +02:00
Jonas Holmberg
27fb4ce76c bufferlist: add bufferlist code
Buffer lists are a means to manage disjoint buffers as one buffer. It's also
possible to put many of those buffers into a list.

The idea is that when support is added to various elements, we will be able to
more efficiently slice and dice buffers, reduce the amount of memcpy and also
reduce data passing overhead.

The implementation is kept simple on purpose, reusing all of the memory
management features we have for miniobjects and buffers.

Access to the bufferlist object is done with an iterator, which allows for
efficient iteration and modification of the list.

See #572285
2009-05-12 15:18:52 +02:00
Edward Hervey
6c1dce01d1 gstbuffer: copy new buffer flags when copying metadata. 2009-05-12 11:22:11 +02:00
Wim Taymans
8c26c22f2c element: fix posting of async-start messages
When an element lost its state but was busy doing a state change, still post the
async-start message with the base_time reset flag or else we might end up with
an old base_time.

this can happen when a sink is goin async to paused and then a flushing seek is
performed. This would cause the base_time to remain unmodified because the
async-start message was not sent.
2009-05-12 10:20:53 +02:00
José Alburquerque
7ff2f9233f API: Add gst_plugin_register_static_full()
This is mainly useful for bindings that need to provide
some additional user data to the registration function.

Fixes bug #545787.
2009-05-12 09:02:45 +02:00
Sebastian Dröge
ad8a35ff3e tags: API: Add functions to add single tags to GstTagList or GstTagSetter
The new functions are gst_tag_setter_add_tag_value()
and gst_tag_list_add_value()). This fixes bug #581198.
2009-05-12 09:02:44 +02:00
Sebastian Dröge
c003165b76 GstURIHandler: Use get_type_full() vmethod if specified instead of get_type()
This fixes bug #581281 and makes it easier for bindings to
implement GstURIHandlers. get_protocols_full() was already used
like this.
2009-05-12 09:02:44 +02:00
Tim-Philipp Müller
01b93c1ef2 xmlregistry: remove the old xml registry
No point in keeping it around really. Fixes #577926.
2009-05-12 00:09:58 +01:00
Tim-Philipp Müller
0b285bfa40 tags: add a tag for the container format
API: add GST_TAG_CONTAINER_FORMAT
2009-05-11 23:44:19 +01:00
Tim-Philipp Müller
06d79151c1 bin: fix debug message
Make the debug message show what's actually happening (the message
replaced here is not necessarily of the same type as the one that
replaces it).
2009-05-11 23:41:52 +01:00
Wim Taymans
b962f41ca1 GstTask: fix compilation 2009-05-12 00:34:44 +02:00
Wim Taymans
d2c5ea9a40 TaskPool: remove _set_func()
Remove the static function set on the TaskPool before _prepare() is called and
allow for assigning a function to a Task when we _push().
Update the examples
2009-05-12 00:27:38 +02:00
Wim Taymans
09368ff155 taskpool: fix a comment 2009-05-12 00:27:22 +02:00
Wim Taymans
4b604f7da6 Pad: post STREAM_STATUS_TYPE_CREATE
Post a stream-status message indicating that a new task was created so that the
application has a chance to change the properties of the task.

Fix unit test to take into account the new ref of the message.
2009-05-12 00:27:10 +02:00
Wim Taymans
02250179d9 GstTask: add methods for configuring the pool
Add getter and setter for configuring the GstTaskPool to use for a GstTask.
2009-05-12 00:26:58 +02:00
Wim Taymans
a8d2516fa6 Task: remember pool
Remember the pool we currently have our task running so that we can use it to
join the task later on.
Fix a leak of the taskpool.
2009-05-12 00:26:48 +02:00
Wim Taymans
8e2bd06c31 task: fix deadlock due to typo 2009-05-12 00:25:41 +02:00
Wim Taymans
5fdd5e0a1e GstTask: use GstTaskPool for managing threads
Use the new GstTaskPool to handle streaming threads.
2009-05-12 00:25:11 +02:00
Wim Taymans
4d326be6cf taskpool: fix docs, make push/join generic
Fix some more docs.
Make _push() return a generic id (this can be something else than a GThread in
some cases) and make _join() use that generic id.
2009-05-12 00:22:25 +02:00
Wim Taymans
aadac11ae3 taskpool: add new object to manage threads
Add a new object GstTaskPool to manage the streaming threads.
This will allow us to create and use custom configured threads.
2009-05-12 00:22:19 +02:00
Wim Taymans
2d8a22c1da Task: add method to set the priority
Add a method to configure a priority for the threads used by GstTask.
2009-05-12 00:08:35 +02:00
Wim Taymans
b59045aab9 GstTask: improve documentation
Improve the documentation for the callbacks.
2009-05-12 00:05:12 +02:00
Wim Taymans
540560a758 GstPad: install thread callbacks of the task
Install thread status callbacks on the task object of a pad and post
STREAM_STATUS messages.
2009-05-12 00:00:44 +02:00
Wim Taymans
d4a9ece0b1 message: clarify some docs 2009-05-11 23:53:52 +02:00
Wim Taymans
35eeb4864c Task: call leave_thread before signaling
Call the leave_thread callback before we signal the thread performing the _join
so that we can be sure that the listener still has valid info in the callback.
2009-05-11 23:49:19 +02:00
Wim Taymans
e72efeccd1 GstMessage: Add STREAM_STATUS message methods
Add methods to handle the stream_status message types.
2009-05-11 23:47:22 +02:00
Wim Taymans
81c0840ab0 quark: add "object" quark
Add the object quark that will be used for the STREAM_STATUS messages.
2009-05-11 23:47:06 +02:00
Wim Taymans
d52114d449 Task: remove create/join methods
Prepare for using the GstTaskPool object. We don't need the create and join
callbacks anymore, they will be handled by the pool.
2009-05-11 23:44:42 +02:00
Wim Taymans
a830dcd9c2 GstTask: add private data, fix parent_class
Use the parent class that the glib macro gave us
Actually add the private data to the task.
2009-05-11 23:30:02 +02:00
Wim Taymans
d68a20906a GstTask: hook up enter/leave/notify callbacks
Hoop up the notify/enter/leave callbacks.
2009-05-11 23:24:32 +02:00
Wim Taymans
9d8d9e0805 GstTask: allow setting callbacks
Allow setting thread callbacks that will allow us to control the threads used by
the task.
2009-05-11 23:19:53 +02:00
Wim Taymans
c3a4f5a976 GstTask: add some more docs 2009-05-11 23:04:02 +02:00
Wim Taymans
10f5429887 GstPad: use new task function
Use the new task_set_state function and actually return its result to
the caller.
2009-05-11 23:00:45 +02:00
Wim Taymans
c31c3f215f GstTask: unify task state functions
Add new gst_task_set_state() to change the state of the task instead of
duplicating the code in each function.

API: GstTask::gst_task_set_state()
2009-05-11 22:59:35 +02:00
Wim Taymans
fb3d528d1a Message: small indentation change. 2009-05-11 22:40:11 +02:00
Wim Taymans
761b0e39c1 Avoid unneeded type checks 2009-05-11 22:35:09 +02:00
Wim Taymans
ceb74fe2cf registry: avoid calling _get_name() too much
Avoid calling gst_plugin_get_name() too many times but instead cache
the value.
2009-05-11 22:35:09 +02:00
Wim Taymans
84c5db2635 Use new _ref_sink when we can 2009-05-11 22:35:09 +02:00
Wim Taymans
54401df78c gstobject: add gst_object_ref_sink
Add the gst_object_ref_sink() method to match the glib one.

API: GstObject::gst_object_ref_sink()
2009-05-11 22:35:08 +02:00
Wim Taymans
20d2734a25 gstobject: avoid type checks 2009-05-11 22:35:08 +02:00
Wim Taymans
13515a7535 gstbuffer: avoid typechecks in finalize
Avoid useless typechecking in the finalize of buffers and subbuffers.
2009-05-11 22:35:08 +02:00
Jan Schmidt
bd07633cc2 info: Support new printf extensions in glibc 2.10
The printf extension mechanism changed in glibc 2.10, and the older
register_printf_function is deprecated. Detect and use the new
mechanism where available.
2009-05-11 21:30:14 +01:00
Wim Taymans
81cadeecd2 GstBin: set PENDING_STATE correctly
Set the pending state correctly when we are going to perform an async
state_continue on the bin.
Fixes #580121
2009-04-24 19:36:22 +02:00
Stefan Kost
581ccbb581 gstdebug: compete stubs. Fixes #579177.
Avoid defines when including gstinfo.h ourself and complete stubs. Sync stub
returns with the defines.
2009-04-17 15:01:46 +03:00
Yaakov Selkowitz
eacfe25cf9 gst_init: relocatability is unnecessary on Cygwin
See #555978.
2009-04-17 11:39:59 +01:00
Brian Cameron
e6a3fd9bbb gstinfo: don't assume G_HAVE_ISO_VARARGS implies ISO C99
Makes headers C++ clean, esp. with the Sun compilers.
Fixes #567692.
2009-04-17 10:11:21 +01:00
Tim-Philipp Müller
b31896b2af GstPlugin: fix compilation if both HAVE_WIN32 and HAVE_SIGACTION are defined
Move _gst_plugin_fault_handler_is_setup into the ifdef block where it's
used. Fixes #578201.
2009-04-17 09:17:40 +01:00
Jan Schmidt
d50044dc2f docs: remove errant gtk-doc comment marker triggering a warning 2009-04-16 00:48:12 +01:00
Jan Schmidt
4c6c9c2d5b paramspecs: revert gst_param_spec_is_mutable() for release
Revert the gst_param_spec_is_mutable API for this release so we can
discuss it a bit further first.
2009-04-16 00:48:11 +01:00
Stefan Kost
659102e04a gstdebug: show enabled/disabled in configure and fix build for disabled
When its disabled, we poison some symbols to force a build error if they are
used. Dunno how useful this acually is, but we need to disable the poisoning
when we include this ourself. Also don't define some of the dummies, as they
are getting replaced with defines and that creates code that does not compile.
2009-04-15 23:35:35 +03:00
Sebastian Dröge
c09069c889 Use g_once_init_*() instead of GOnce for the enum types 2009-04-15 19:58:34 +02:00
Sebastian Dröge
484c3272c4 staticpadtemplate: Update docs of gst_static_pad_template_get_caps ()
gst_static_pad_template_get_caps () actually returns a reference to the
caps and it's cleaner to unref them after usage. The core will, however,
always hold a reference to the caps so this didn't result in a memory
leak.
2009-04-15 13:06:13 +02:00
Stefan Kost
dafde2ed66 docs: use real <note> tags as they look nice in new gtk-doc 2009-04-14 22:33:25 +03:00
David Schleef
8dd2b4b591 Fix locking in gst_param_spec_is_mutable 2009-04-14 12:21:39 -07:00
Wim Taymans
5ca6853eb1 docs: add simple doc blurb 2009-04-14 19:12:52 +02:00
Wim Taymans
004f981edb paramspecs: add note about racyness
Add a note about potential racyness in _is_mutable().
2009-04-14 19:11:44 +02:00
LRN
7e0bdbf208 info: use mutex to do console colors on windows
Use a static mutex to keep the console colors and context together when
debugging with colors on Windows.
Fixes #517231.
2009-04-14 10:32:07 +02:00
Tim-Philipp Müller
25826ffe40 docs: add Since: tags to gtk-doc chunks for new param spec API
And, for our release manager, the in-commit-message keywords
for the previous commit:
API: GST_PARAM_MUTABLE_READY
API: GST_PARAM_MUTABLE_PAUSED
API: GST_PARAM_MUTABLE_PLAYING
API: gst_param_spec_is_mutable
2009-04-13 14:27:49 +01:00
David Schleef
1ecf114c0e Add param spec flags for when a property can be changed
Adds GST_PARAM_MUTABLE* flags to indicate in which states a
property can be changed and take effect.  Fixes #571559
2009-04-12 18:45:24 -07:00
Wim Taymans
1b4b1a5b1f bin: always mark pending_async_done
When we get an ASYNC_DONE message when a state change was busy, set the
pending_async_done flag so that after the state change completes, the bin can
check if all async elements are finished. Don't only do this for the bin itself
but for all elements.

This fixes some bins in bins that simulate async state changes by posting ASYNC
messages (such as sdpparse in uridecodebin/playbin2).
2009-04-09 11:51:43 +02:00
Wim Taymans
b4e9c87fcc info: fix compilation, %08x needs an unsigned int
%08x needs an unsigned int, so give it that.
2009-04-09 11:42:48 +02:00
Tim-Philipp Müller
116c8be6bf API: add FIXME and DUMPMEM log levels and convenience macros
Two new log levels to dump FIXMEs into the log and to log data
in form of a hex dump (#578114).

API: GST_CAT_FIXME_OBJECT
API: GST_CAT_MEMDUMP_OBJECT
API: GST_CAT_FIXME
API: GST_CAT_MEMDUMP
API: GST_FIXME_OBJECT
API: GST_MEMDUMP_OBJECT
API: GST_FIXME
API: GST_MEMDUMP
2009-04-08 21:32:05 +01:00
Stefan Kost
7d0b4f10c6 docs: xref more 2009-04-08 18:13:42 +03:00
Stefan Kost
c9917a1a84 tests: remove the hacks to workaround the pad-leak 2009-04-08 17:49:18 +03:00
Stefan Kost
8892f3f4c9 padtemplate: enable code to fix the leak, now that the deps have been released
Good and ffmpeg are actually multiple releases beyond, so that this is now safe
to do.
2009-04-08 15:24:58 +03:00
Edward Hervey
a69841761b gsttaglist: Remove unused variable.
We don't need to allocate a variable if it's the return of a function call
and we only check it once.
2009-04-04 14:37:13 +02:00
Edward Hervey
759fe3452a gststructure: Only use methods used in g_* checks if glib checks are disabled 2009-04-04 14:35:34 +02:00
Sebastian Dröge
e7ccf786c3 gst: Use G_DEFINE_TYPE and friends or at least g_once_init_* in the _get_type() functions 2009-04-04 10:20:36 +02:00
Sebastian Dröge
42febffe0d gst: Use G_DEFINE_TYPE and don't call g_thread_init() from class_init
class_init is too late for calling g_thread_init() as g_thread_init()
needs to be called before any GObject function.
2009-04-04 10:18:42 +02:00
Mark Nauwelaerts
66295d508b Use g_slice_copy instead of g_slice_dup.
A (buggy) glib g_slice_dup macro may cause compiler warnings on e.g. x86_64.
2009-04-03 13:47:35 +02:00
Edward Hervey
4028fa7149 gststructure: Remove dead assignment.
'type' is never used until line 1847 where it's overwritten.
2009-04-03 12:57:24 +02:00
Edward Hervey
f68573dc42 gstbin: Remove unused variable.
The return value of gst_element_change_state isn't used after that call.
2009-04-03 12:57:24 +02:00
Edward Hervey
f096c7d4e0 pipeline: remove redundant assignment.
If that block is entered, then start_time becomes GST_CLOCK_TIME_NONE.
Since start_time is invalid, the code will enter the block at line 434 and
new_base_time will be set there.
2009-04-03 12:57:24 +02:00
Edward Hervey
9557542722 gstregistrybinary: remove variable only used for a check.
that variable isn't used anywhere else within that block.
2009-04-03 12:57:24 +02:00
Edward Hervey
971755842d Remove unused increments as detect by LLVM's CLang static analyzer. 2009-04-03 12:56:57 +02:00
Edward Hervey
00cbbc87c7 Remove unused variables detected by LLVM's Clang static analyzer. 2009-04-03 12:56:48 +02:00
Tim-Philipp Müller
01166ec0cd docs: improve API reference for gst_caps_get_structure() 2009-04-03 11:20:32 +01:00
Thomas Vander Stichele
8995a45593 docs: explain ref ownership for handle_message implementations 2009-04-02 13:32:58 +02:00
Stefan Kost
2806a409ed binaryregistry: init variable, that is referenced in error case below the fail: label 2009-03-27 17:32:29 +02:00
Wim Taymans
659e1d2dc2 clock: wakeup the async thread a bit more
Also wake up the async thread when it is doing an async wait for an entry.
2009-03-27 16:15:55 +01:00
Wim Taymans
ffc752c458 element: Fix a little debug message 2009-03-27 16:15:10 +01:00
Stefan Kost
82c9b78f86 binaryregistry: check for not reading beyond the data area. Fixes #576842
Check all reads against the end of the data region. Roll back registration of
partial reads.
2009-03-27 15:34:25 +02:00
Wim Taymans
4446f9972d clock: make UNSCHEDULED checks threadsafe
Move the checks for using an unscheduled entry from the unsafe GstClock to the
SystemClock object so that we can perform the correct locking.
fix a leak and potential deadlock then the async thread fails to start.
Sprinkle some G_LIKELY around because we can.
2009-03-26 22:05:31 +01:00
Wim Taymans
e15cf9bc12 clock: remove pending async wakeup sooner
Remove a pending async wakeup before we check if the next entry is UNSCHEDULED
because we might leave the control socket busy.
2009-03-26 21:40:20 +01:00
Peter Kjellerstedt
7be99f052b gstpoll: Corrected a documentation typo. 2009-03-26 19:33:41 +01:00
Wim Taymans
41f1a1881e clock: add some more comments. 2009-03-26 19:13:55 +01:00
Wim Taymans
16b68e7de0 clock: rework the wakeup of entries.
Keep a counter for the amount of outstanding wakeups that we produce and only
perform a write/read to the control socket when 1 or 0 respectively.
don't poll when waiting for the entries to be unblocked and clear their wakeup
counts, just act on the signal when the wakeup count is 0.
unscheduled entries will clear their wakeup count themselves.
Keep track of when we wakeup the async thread because the list of entries has
changed.
don't try to see if the list changed because we can't really know when one entry
is added multiple times.
Only wake up the async thread when we add an async entry to the head of the list
and the old entry was BUSY.
2009-03-26 18:53:02 +01:00
Jan Schmidt
31669a4819 gstpoll: Fix up documentation strings.
Note the changed behaviour of gst_poll_wait for timer GstPoll's, and
fix a couple of spelling errors.
2009-03-26 15:06:16 +00:00
Wim Taymans
df30f60048 clock: fix 2 wakeup races.
when an entry being waited on in the async thread is unscheduled, clear the
wakeup queue so we can continue waiting on other entries.
When an entry being waited on in the async thread is unlocked because an earlier
entry was added to the list, set the entry to OK again. This makes sure that
only the entries being waited on have the BUSY flag set and wake up the timer
poll when they are unscheduled.
2009-03-26 15:59:17 +01:00
Tim-Philipp Müller
ea554b1d62 registry: ignore .git directory when recursively scanning plugin paths for plugins
Saves some cycles/pandas for those of us who run uninstalled setups.
2009-03-26 14:52:00 +00:00
Tim-Philipp Müller
cc0978bd85 registry: do fsync() before close() and rename()
This helps prevent filesystem/data inconsistencies in certain
circumstances on certain filesystems (like ext4, xfs, ubifs).
Also see bug #562976.
2009-03-26 14:51:49 +00:00
Tim-Philipp Müller
c4e10b9535 API: add gst_tag_list_get_buffer{_index}
Convenience API, mostly for image tags, so people don't have to
figure out the whole GValue/GstValue thing just for this.
2009-03-26 14:21:10 +00:00
Sebastian Dröge
10bc5670a3 segment: Use g_slice_dup() now 2009-03-26 11:17:01 +01:00
Sebastian Dröge
f75fad6a70 Remove some compatibility stuff for GLib < 2.14 2009-03-26 11:08:27 +01:00
Tim-Philipp Müller
26f9f721ff API: add GST_TAG_SUBTITLE_CODEC
Yes, 'codec' isn't exactly the best word, but let's be consistent with AUDIO_CODEC
and VIDEO_CODEC (which may be 'raw' formats as well after all). Prerequisite for
bug  #576552.
2009-03-25 00:50:07 +00:00
Wim Taymans
1bd7f96497 gstutils: improve property set and convert code
Use string deserialisation instead of custom parsing code to allow for all
supported ways of specifying property values.
fixes #576582.
2009-03-24 19:33:56 +01:00
Stefan Kost
c04e3f9a03 build: define stubs when disabling gst-debug subsystem. Fixes #575922
Running configure with e.g. --disable-dst-debug was compiling out the debug
system (ABI break). Now stubs are added and only if one does e.g.
make CFLAGS="-DGST_REMOVE_DISABLED" the symbols are ommitted.
2009-03-23 16:21:58 +02:00
Tim-Philipp Müller
b62bfc573a debugging: make GST_PTR_FORMAT work for queries as well 2009-03-20 00:42:51 +00:00
Tim-Philipp Müller
0492ca71f5 API: add GST_QUERY_CAST
because we can, and for consistency.
2009-03-20 00:39:41 +00:00
Wim Taymans
b4b386a1fd gstpad: fix gst_pad_can_link
We were converting the GstPadLinkReturn to a gboolean, which is not what we want
to do.
2009-03-19 17:20:50 +01:00
Stefan Kost
a5e3baf44d docs: more info about when state changes can be async and when not. 2009-03-19 10:39:33 +02:00
Damien Lespiau
c5ee0b7c1d info: more indentation fixes
Fixes #517231.
2009-03-18 19:54:28 +01:00
Wim Taymans
d12d111fa2 info: indentation fix 2009-03-18 19:06:23 +01:00
Wim Taymans
3857d902c3 info: simply some more 2009-03-18 18:57:16 +01:00
Wim Taymans
ca33a78881 info: refactor debug colors for win32 and other
Refactor the debug line code to use as much code as possible for the win32 and
other color codings.
Update docs with new symbol.
2009-03-18 18:45:41 +01:00
Wim Taymans
0c059ad2de windows: initial commit for terminal colors 2009-03-18 17:30:12 +01:00
Zeeshan Ali (Khattak)
8af9d58ea7 gstpad: fix gst_pad_can_link()
Move the gst_pad_can_link() implementation from gstutils to gstpad and use
gst_pad_link_prepare() to make it work correctly and also check the caps.

Make the broken implementation in gstutils static.

Small cleanups in the _get_fixed_caps() function.

Fixes #575682.
2009-03-18 17:01:16 +01:00
David Adam
7d7fceced5 config.h needs to be included first, either directly or via gst_private.h
Fixes build with -Werror caused by '_FILE_OFFSET_BITS redefined' warning on
OpenSolaris where _FILE_OFFSET_BITS may be defined both in our config.h
and via stdio.h (#575695).
2009-03-17 20:41:44 +00:00
Stefan Kost
b3e56e19f5 bin: forward segment-start like segment-done if parent is also a bin, fixes #575598.
Bin collects segment-start messages and segent-done messages. it posts a
segment-done message to its parent, once it has received a segment-done for
each segment-start. Imho it should also send a segment-start if it receives the
first segment start and if parent is !=NULL. This is needed for bins in bins,
so that also higher order bins can group segment-starts and segment-dones.
Right now higher order bins will post a segment-done for each segment-done
received.
2009-03-17 12:05:33 +02:00
Stefan Kost
73953055af systemclock: these warnings are serious, give more detail in the message 2009-03-15 23:41:33 +02:00
Wim Taymans
e7245c0891 Fix indentation of .h files
--
2009-03-13 10:56:54 +01:00
Stefan Kost
c3286501b4 taglists: apply fix for replace all also to gst_tag_list_add_valist_values. Fixes #574241 2009-03-12 12:21:39 +02:00
Wim Taymans
5467c64379 docs: Improve some docs
Rename some function variables and add some Return: to make the docs more happy.
2009-03-12 10:48:21 +01:00
Stefan Kost
15e7d1e9c7 docs: fix linking to constant and functions 2009-03-12 00:41:24 +02:00
Stefan Kost
1cfc0aee17 dump2dot: ellipsize caps fields, better placement of unnegotiated caps
Long caps fields like enums are ellipsised. If caps are not negotiated, use
head- and taillabel to place them closer to the pads. Use smarter way to indent.
2009-03-11 15:27:08 +02:00
Laszlo Pandy
ce0d28fe9a dump2dot: make caps in DOT debug graphs more readable. Fixes 574484
Use a monospace font for edge labels and indent.
2009-03-11 15:27:08 +02:00
Sebastian Dröge
d307513735 padtemplate: Allow %u as conversion modifier additional to %d and %s 2009-03-11 14:11:30 +01:00
Stefan Kost
36205e7d42 logging: some additional logging for tracing caps negotiation.
Demote one log that can come quite often. Remove one fixme that is done. Apply
gst-indent changes.
2009-03-10 21:13:40 +02:00
Stefan Kost
01dfca40f1 comment: add a fixme-0.11 2009-03-10 21:13:40 +02:00
Stefan Kost
50fdaa4f25 dump2dot: don't use GST_TIME_FORMAT when building filenames. fixes #574623 2009-03-09 16:01:20 +02:00
Wim Taymans
da0060d3aa pad: call new callbacks set in the block callback
Keep track of when a new callback is installed in the callback and call the new
callback in that case.
Add unit test for checking pad blocking.
Fixes #573823.
2009-03-09 11:48:36 +01:00
Tim-Philipp Müller
2f4eba5892 docs: improve docs for gst_tag_list_get_date*()
Mention that the date value needs to be freed and how to free it.
2009-03-08 17:15:33 +00:00
Stefan Kost
fd0b4ff60b dump2dot: improve caps logging
Factor out code to describe caps. Improve formating (no \n in caps fields).
Check peer caps too and show both if they differ.
2009-03-08 00:32:43 +02:00
Stefan Kost
1ec60ae392 apidocs: markup example as highlightable example and copy same for structure
structures can be printed like we can do for caps. Mark the example so that
gtk-doc can pretty print and xref it.
2009-03-06 21:59:20 +02:00
Antoine Tremblay
fe2f12b162 GstPad: relax failure to deactivate unlinked pads
When de/activating a pad in pull mode the pad needs to de/activate the
peer pad it is connected to, failure to be able to do this in activation mode
is an error.

However if there is no peerpad, we can still deactivate the pad correctly and
assume the application will deactivate the unlinked peer pad eventually.

Fixes #574163.
2009-03-05 11:29:48 +01:00
LRN
e13168bd4b GstPoll: set the return value on windows
Make sure that the return value of the functions _read/_write_control()
return the actual result instead of always FALSE on windows.
Fixes #574211.
2009-03-05 11:02:59 +01:00
Sebastian Dröge
3c6448c64e API: Add gst_util_array_binary_search() for binary searchs on a sorted array
This will be mostly useful in all elements that have some kind of internal
seek/index table. Currently almost all of them (or even all of them)
are using a linear search although the used array is already sorted,
wasting some CPU time without good reason.

Fixes bug #573623.
2009-03-02 16:17:45 +01:00
David Schleef
a29773e4cc Bump glib requirement to 2.14
Also remove code conditional on < 2.14.
2009-02-28 11:15:29 -08:00
Stefan Kost
6911aa59be binary registry: Don't attempt to parse empty caps 2009-02-25 16:03:25 +02:00
Sebastian Dröge
70fcf4a201 registry: Set typefind factory caps to NULL instead of empty caps if they originally were NULL 2009-02-25 14:19:54 +01:00
Sebastian Dröge
fdc03c2841 registrybinary: Check if typefind factory caps are NULL before copying them 2009-02-24 15:10:15 +01:00
Alessandro Decina
d3940f520b GstPad: Add gst_pad_set_blocked_async_full
This allows connecting a GDestroyNotify for when the callback is removed/replaced.
Partially fixes #514717
2009-02-22 20:01:05 +01:00
Sebastian Dröge
5bd73d1456 Include floating point write/read functions in the docs by working around a gtk-doc bug 2009-02-22 19:05:20 +01:00
Ali Sabil
136cfb3bed Convert unref/copy functions of GstMiniObject subclasses to static inline functions
unref and copy functions are sometimes used as function
pointers for example in the case of g_hash_table_new_full
as a GDestroyNotify function.

Currently GstBuffer, GstEvent, GstMessage and GstQuery
define their respective unref and copy functions as
macros, making use of gst_mini_object_unref/copy.
This approach works very well for most cases, except
for some automatically generated bindings (currently Vala),
where the memory management semantics are defined
declaratively.

The possible solutions would be to either convert all
the macros into static inline function, or change the
signature of gst_mini_object_unref to take a void*
instead of a GstMiniObject*.

Fixes bug #572480.
2009-02-22 18:51:08 +01:00
Edward Hervey
05f3cc9391 GstBufferFlags: Add "Since: 0.10.23" for the newly added flags 2009-02-19 18:05:07 +01:00
Edward Hervey
37d95a00e4 GstBufferFlags: Add 3 new media-specific buffer flags.
Partially fixes #163577
2009-02-19 16:04:43 +01:00
Wim Taymans
4b986a4a94 Add message to request a state change
Add a GST_MESSAGE_REQUEST_STATE that can be posted by element when they would
like to have the application change the state of the pipeline. the primary use
case is to pause the pipeline when an audio mixer is mixing a higher priority
stream but it can also be used for other purposes.

Add some docs and a unit test.

Implement the REQUEST_STATE message in gst-launch.

API: gst_message_new_request_state()
API: gst_message_parse_request_state()
API: GST_MESSAGE_REQUEST_STATE
2009-02-18 15:31:55 +01:00
Wim Taymans
26f368f7e7 Clear target when the target pad disappears
When the target pad disappears (because it was explicitly unlinked or the
element was removed/unreffed) make sure we receive a notify with the unlink
function on the proxy pad and clear the target. We use a simple flag to not do
this and cause deadlocks when the target was changed explicitly using the
ghostpad functions.

Update the unit test because we now unref the target sooner (and correctly).
2009-02-16 12:58:34 +01:00
Stefan Kost
8efaf40013 docs: format and indent examples. 2009-02-15 16:40:43 +02:00
Sebastian Dröge
e74460824f taglist: API: Add HOMEPAGE tag
This tag will list a homepage for the media,
i.e. the artist's or movie's homepage.

This is different to GST_TAG_LOCATION as the latter
lists the original location of the media.

Fixes bug #571227.
2009-02-12 10:42:47 +01:00
Sebastian Dröge
c2b856e699 Replace some mentions of CVS by GIT 2009-02-08 10:28:59 +01:00
Stefan Kost
b87960ae5d binary registry: Rewrite sanity check to actualy catch something.
The previous commit was bogus, as was the check before. We just point m to the file data,
so neither it nor its members will be NULL. Better check if we have enough data.
2009-02-06 10:51:28 +02:00
Stefan Kost
4262f6c641 cleanup: remove unused variables in _class_init() and reindent. 2009-02-05 17:25:01 +02:00
Stefan Kost
1acf4f05f4 bus: remove unused set/get property functions 2009-02-05 17:05:56 +02:00
Stefan Kost
c69a262889 binary registry: comparing arrays against NULL is useless 2009-02-05 15:56:19 +02:00
Stefan Kost
2246b477bb cleanup: Either check always for internal being NULL or don't.
IMHO the ghostpad is borked if internal is NULL. So the check can go and it is
used later unchecked anyway.
2009-02-04 17:28:28 +02:00
Stefan Kost
726a2fbff6 crash: Don't crash on non existent tags. 2009-02-04 17:28:15 +02:00
Stefan Kost
9cda224a0d leak: Don't leak type name in failure cases. 2009-02-04 16:17:34 +02:00
Stefan Kost
09eb9d797d leak: don't return without calling va_end 2009-02-04 15:41:24 +02:00
Jonas Holmberg
abffdb2ac3 Implement the systemclock with gstpoll
Add a property to select the clock type, currently REALTIME and MONOTONIC when
posix timers are available.

Implement the systemclock with GstPoll instead of GCond. This allows us to
schedule timeouts with nanosecond precission on newer kernels and with ppoll
support. It's also resilient to changes to the systemclock because of NTP or
similar.
2009-02-03 18:04:46 +01:00
Wim Taymans
5cfb02af4a GstPoll: add methods to use gstpoll for timeouts
Add a special timer mode in GstPoll that makes it only use the control socket
with a timeout to schedule timeouts. Also add a pair of methods to wakeup the
timeout thread.
API: GstPoll::gst_poll_new_timer()
API: GstPoll::gst_poll_write_control()
API: GstPoll::gst_poll_read_control()
2009-02-03 17:49:02 +01:00
Peter Kjellerstedt
846d56b865 gstregistrybinary: Make it compile with GST_DISABLE_GST_DEBUG. 2009-02-02 14:19:57 +01:00
Tim-Philipp Müller
b4645e277b Remove broken class to interface cast macros from GstUriHandler and GstImplementsInterface headers
Remove class-to-interface-struct cast macros which don't work,
don't make sense, and in some cases wouldn't even compile if
used. Removal should be ok seeing that code which uses any of
these is broken and bound to crash. Fixes #565607.

API: remove GST_IMPLEMENTS_INTERFACE_CLASS
API: remove GST_IS_IMPLEMENTS_INTERFACE_CLASS
API: remove GST_URI_HANDLER_CLASS
2009-01-30 18:25:39 +00:00
Jan Schmidt - Sun Microsystems - Dublin Ireland
919b245809 Fix compilation warning with Forte. 2009-01-30 16:33:07 +00:00
Sebastian Dröge
1af5d201fc Allocate everything that is written to the registry with g_malloc0()
Allocate every structure that is directly written to the binary
registry with g_malloc0(). Otherwise some parts of it will be
uninitialized (struct padding because of alignment, etc) and
valgrind will complain about it.
2009-01-30 10:31:30 +01:00
Jan Schmidt
a626dff72c Make sure to take a copy of the strings we're going to free later. 2009-01-29 15:54:45 +00:00
Stefan Kost
35312121cf Improve the docs for gst_clock_id_wait_async().
Its mentioned in the section docs, but lets repeat at the function docs that the callback can be invoked from any thread.
2009-01-27 23:14:49 +02:00
Wim Taymans
0f55cf13b4 Avoid unneeded reads from the control socket
Add a new variable that keeps track of the status of the control socket. This
allows us to avoid doing a read() on the control socket when we did not write
anything to it.
Fixes #568438.
2009-01-26 12:52:12 +01:00
Stefan Kost
24635e7f5a Add more debug logging for failure cases. 2009-01-25 22:17:31 +02:00
Stefan Kost
f963f7f14d Document that GST_PLUGIN_DEFINE macros use PACKAGE define. Fixes #559722.
PACKAGE is defined by autofoo. If people use something different, they might want to define it themself.
2009-01-25 22:11:32 +02:00
Brian Cameron
0bf1bd0db0 Fix linking failures on Solaris. Fixes bug #568481.
Link libgstreamer with $(LIBM) as it uses math functions.

Add a configure check for socket and nsl library and add
them to LIBS if they're found. This is needed on Solaris
for socket() and gethostbyname().
2009-01-23 09:54:53 +01:00
Wim Taymans
809372066a Allow adding a typefinder without a typefind function so that it can be used
to map the caps to the extension. See #566661.
2009-01-21 12:45:45 +01:00
Wim Taymans
ae76b3d606 do not call the unlink function on the target pad when the ghostpad
is unlinked.
Add some unit tests for this behaviour.
Fixes #566936.
2009-01-21 12:21:49 +01:00
Tim-Philipp Müller
0ee5e36cfb gst/gstbus.c: Fix order of members in GstBusSource structure - the first member must be the parent structure ie. GSou...
Original commit message from CVS:
* gst/gstbus.c: (gst_bus_set_main_context), (gst_bus_create_watch):
Fix order of members in GstBusSource structure - the first member
must be the parent structure ie. GSource. Should make bus sources
attached to non-default main contexts work in all cases now (ie.
primarily in cases where the callback has a non-NULL user data
argument). Fixes #562170.
* tests/check/gst/gstbus.c: (test_custom_main_context):
Add unit test for the above, based on code by
Justin Karneges <justin at affinix com>.
2009-01-17 21:04:41 +00:00
Jonas Holmberg
732ff5f6fd gst/gstpad.h: A small documentation fix.
Original commit message from CVS:
Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
* gst/gstpad.h:
A small documentation fix.
2009-01-15 10:04:37 +00:00
Sebastian Dröge
18eb11db60 gst/gstutils.h: Initialize g_once_init* data with 0. Fixes bug #567225.
Original commit message from CVS:
* gst/gstutils.h:
Initialize g_once_init* data with 0. Fixes bug #567225.
2009-01-11 09:46:52 +00:00
Stefan Kost
291c2822f8 gst/gst.c: Create a registry if there is none also when the option for gst-disable-registry-update has been selected....
Original commit message from CVS:
* gst/gst.c:
Create a registry if there is none also when the option for
gst-disable-registry-update has been selected. Fixes #567002
2009-01-08 13:41:19 +00:00
Tim-Philipp Müller
b8b0c80b29 gst/gst.c: Ref new enum type in gst_init.
Original commit message from CVS:
* gst/gst.c: (init_post):
Ref new enum type in gst_init.
* win32/common/libgstreamer.def:
Add recently-added API.
2009-01-06 18:10:22 +00:00
Tim-Philipp Müller
2ae03ba72f Add API for making a GStreamer plugin 'dependent' on external files, directories or environment variables, so that GS...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt::
* gst/gst_private.h: (GstPluginDep), (_GstPluginPrivate):
* gst/gstplugin.c: (gst_plugin_init), (gst_plugin_finalize),
(gst_plugin_class_init), (gst_plugin_list_free),
(gst_plugin_ext_dep_get_env_vars_hash),
(_priv_plugin_deps_env_vars_changed),
(gst_plugin_ext_dep_extract_env_vars_paths),
(gst_plugin_ext_dep_get_hash_from_stat_entry),
(gst_plugin_ext_dep_direntry_matches),
(gst_plugin_ext_dep_scan_dir_and_match_names),
(gst_plugin_ext_dep_scan_path_with_filenames),
(gst_plugin_ext_dep_get_stat_hash),
(_priv_plugin_deps_files_changed), (gst_plugin_ext_dep_free),
(gst_plugin_ext_dep_strv_equal), (gst_plugin_ext_dep_equals),
(gst_plugin_add_dependency), (gst_plugin_add_dependency_simple):
* gst/gstplugin.h: (GstPluginPrivate), (GstPluginFlags),
(GST_PLUGIN_DEPENDENCY_FLAG_NONE),
(GST_PLUGIN_DEPENDENCY_FLAG_RECURSE),
(GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY),
(GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX),
(GstPluginDependencyFlags), (GstPluginFilter):
* gst/gstregistry.c: (gst_registry_scan_path_level):
* gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
(gst_registry_binary_save_plugin_dep),
(gst_registry_binary_save_plugin),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin_dep_strv),
(gst_registry_binary_load_plugin_dep),
(gst_registry_binary_load_plugin):
* gst/gstregistrybinary.h: (GST_MAGIC_BINARY_VERSION_STR),
(GstBinaryPluginElement), (_GstBinaryDep), (GstBinaryDep):
* gst/gstregistryxml.c: (gst_registry_xml_save_plugin):
Add API for making a GStreamer plugin 'dependent' on external files,
directories or environment variables, so that GStreamer knows when
it needs to re-load GStreamer plugins that wrap other plugin systems.
Fixes bug #350477.
API: add gst_plugin_add_dependency()
API: add gst_plugin_add_dependency_simple()
2009-01-06 17:58:59 +00:00
Wim Taymans
6766b6a4a2 gst/gstbus.c: The lock order should be maincontext > OBJECT_LOCK so we need to release the object lock when waking up...
Original commit message from CVS:
* gst/gstbus.c: (gst_bus_wakeup_main_context):
The lock order should be maincontext > OBJECT_LOCK so we need to release
the object lock when waking up the mainloop to avoid deadlocks.
2009-01-05 15:41:00 +00:00
Wim Taymans
23bdf5c9fe gst/gstbin.c: Use an iterator to set the clock and the index so that we can release the object lock appropriately. Fi...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_set_index_func), (gst_bin_set_clock_func),
(gst_bin_change_state_func):
Use an iterator to set the clock and the index so that we can release
the object lock appropriately. Fixes #566393.
2009-01-05 10:14:28 +00:00
Edward Hervey
ab1921ffc3 gst/gstindex.c: Add a debugging category for GstIndex, first little step in making indexing top-notch.
Original commit message from CVS:
* gst/gstindex.c: (gst_index_get_type):
Add a debugging category for GstIndex, first little step in making
indexing top-notch.
2009-01-03 18:16:54 +00:00
Edward Hervey
334ad4c328 gst/: Assign debug statements to relevant categories instead of the 'default' category so they don't get lost in debu...
Original commit message from CVS:
* gst/gstelement.c: (gst_element_message_full),
(gst_element_pads_activate):
* gst/gstobject.c: (gst_object_dispatch_properties_changed):
* gst/gstutils.c: (gst_pad_proxy_getcaps), (gst_pad_proxy_setcaps),
(gst_pad_add_data_probe_full), (gst_pad_add_event_probe_full),
(gst_pad_add_buffer_probe_full), (gst_pad_remove_data_probe),
(gst_pad_remove_event_probe), (gst_pad_remove_buffer_probe):
Assign debug statements to relevant categories instead of the 'default'
category so they don't get lost in debugging.
2009-01-03 18:10:08 +00:00
Stefan Kost
7dd8b92448 gst/gstdebugutils.c: Add some ideas, how to make the graph smaller.
Original commit message from CVS:
* gst/gstdebugutils.c:
Add some ideas, how to make the graph smaller.
* gst/gstutils.c:
Add a comment from a debug session.
* libs/gst/base/gstbasetransform.c:
Log more context.
* libs/gst/controller/gstinterpolationcontrolsource.c:
Indet.
* plugins/elements/gstcapsfilter.c:
Fix typo in docs.
2009-01-01 21:27:06 +00:00
Tim-Philipp Müller
428ead89b8 gst/gstbus.c: Make GstBusSource work with non-default main contexts (#562170).
Original commit message from CVS:
* gst/gstbus.c: (gst_bus_dispose), (gst_bus_get_property),
(gst_bus_wakeup_main_context), (gst_bus_set_main_context),
(gst_bus_post), (gst_bus_source_prepare), (gst_bus_source_finalize),
(gst_bus_create_watch):
Make GstBusSource work with non-default main contexts (#562170).
* tests/check/gst/gstbus.c: (message_func_eos), (message_func_app),
(test_watch), (test_watch_with_custom_context), (gst_bus_suite):
Add test case for GstBusSource with a non-default main context.
* tests/check/libs/.cvsignore:
Ignore more.
2008-12-27 17:41:11 +00:00
Tim-Philipp Müller
13089a438a gst/gstregistrybinary.c: Wrap multi-line macros in G_STMT_{START|END}.
Original commit message from CVS:
* gst/gstregistrybinary.c: (unpack_element), (unpack_const_string),
(unpack_string)::
Wrap multi-line macros in G_STMT_{START|END}.
2008-12-27 16:23:12 +00:00
Sebastian Dröge
9b65eb6838 API: Add URI query type. This is useful to query the URI of a sink/source element and can be used by demuxers that ne...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstquark.c:
* gst/gstquark.h:
* gst/gstquery.c: (gst_query_new_uri), (gst_query_set_uri),
(gst_query_parse_uri):
* gst/gstquery.h:
API: Add URI query type. This is useful to query the URI
of a sink/source element and can be used by demuxers that
need to get data from other files.
This query should go upstream by default.
Fixes bug #562949.
* plugins/elements/gstfdsink.c: (gst_fd_sink_query):
* plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
(gst_fd_src_query):
* plugins/elements/gstfilesink.c: (gst_file_sink_query):
* plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
(gst_file_src_query):
Implement URI query.
2008-12-20 17:33:44 +00:00
Alessandro Decina
1b13418a0a Don't forward gst_pad_set_caps() on a source ghostpad to its target.
Original commit message from CVS:
* gst/gstghostpad.c:
* tests/check/gst/gstghostpad.c:
Don't forward gst_pad_set_caps() on a source ghostpad to its target.
That would cause the ghostpad to emit notify::caps two times (fist
from gst_pad_set_caps() and after from on_src_target_notify()).
2008-12-19 15:11:06 +00:00
Alessandro Decina
c0a2c5839e In a source ghostpad, when caps are changed in the target pad, the change needs to be reflected in the ghostpad.
Original commit message from CVS:
* gst/gstghostpad.c:
* tests/check/gst/gstghostpad.c:
In a source ghostpad, when caps are changed in the target pad, the
change needs to be reflected in the ghostpad.
Fixes #564863.
2008-12-17 16:16:45 +00:00
Sebastian Dröge
33239dded7 gst/gstutils.c: Add FIXME for 0.11 to set the pad as message source and not the element. Otherwise it's impossible to...
Original commit message from CVS:
* gst/gstutils.c: (gst_element_found_tags_for_pad):
Add FIXME for 0.11 to set the pad as message source and not
the element. Otherwise it's impossible to detect for which
pad the tags were found without adding an event probe
or something similar to the pad.
2008-12-17 09:37:47 +00:00
Stefan Kost
0961f05009 Rename api added in previous commit and add since tag to docs.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttagsetter.c:
* gst/gsttagsetter.h:
Rename api added in previous commit and add since tag to docs.
API: gst_tag_setter_reset_tags()
2008-12-16 15:51:52 +00:00
Stefan Kost
2e25b024cc Add function to reset tagsetter for element reuse.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttagsetter.c:
* gst/gsttagsetter.h:
Add function to reset tagsetter for element reuse.
API: gst_tag_setter_flush()
2008-12-16 14:05:40 +00:00
Stefan Kost
4a162d56ab gst/gsttaglist.c: Avoid copy of empty taglist.
Original commit message from CVS:
* gst/gsttaglist.c:
Avoid copy of empty taglist.
2008-12-16 09:37:53 +00:00
Stefan Kost
f28a2a6cfc More complete unit tests. Fix handling of empty taglists (they were not merged before).
Original commit message from CVS:
* gst/gsttaglist.c:
* tests/check/gst/gsttag.c:
More complete unit tests. Fix handling of empty taglists (they were
not merged before).
2008-12-16 09:23:21 +00:00
Stefan Kost
f085768807 gst/: Update GstTagSetter and GstTagMergeMode documentation. Mention that tags can come from events and from applicat...
Original commit message from CVS:
* gst/gsttaglist.h:
* gst/gsttagsetter.c:
Update GstTagSetter and GstTagMergeMode documentation. Mention
that tags can come from events and from application. Fix example.
2008-12-16 07:07:36 +00:00
Sebastian Dröge
4a19260c75 gst/gstutils.c: Fix a caps memory leak introduced by the last change.
Original commit message from CVS:
* gst/gstutils.c: (gst_element_get_compatible_pad):
Fix a caps memory leak introduced by the last change.
2008-12-09 16:23:58 +00:00
Sebastian Dröge
629b2a910b gst/gstutils.c: Check if the caps of the pads are compatible before returning a pad and claiming it is compatible. Th...
Original commit message from CVS:
* gst/gstutils.c: (gst_element_get_compatible_pad):
Check if the caps of the pads are compatible before returning
a pad and claiming it is compatible. This, among other things,
fixes a bug with gst-launch where an incompatible pad is chosen
and linking fails. Fixes bug #544003.
2008-12-09 15:45:36 +00:00
David Schleef
e716f92dd7 gst/gst.c: Search for plugins on win32 based on the location of the gstreamer DLL. Fixes #548786
Original commit message from CVS:
* gst/gst.c:
Search for plugins on win32 based on the location of the
gstreamer DLL.  Fixes #548786
2008-12-05 20:32:03 +00:00
이문형
67edb154e5 gst/gstpoll.c: Adds support for FD_CONNECT event (win32). See #562258.
Original commit message from CVS:
Patch by: 이문형 <iwings at gmail dot com>
* gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
Adds support for FD_CONNECT event (win32). See #562258.
2008-11-27 11:12:30 +00:00
Simon Holm Thøgersen
9c15d8efec gst/gstregistry.c: Reduce the number of stat() calls for every file from three times to one time. Fixes bug #560360.
Original commit message from CVS:
Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
* gst/gstregistry.c: (gst_registry_scan_path_level):
Reduce the number of stat() calls for every file from three times
to one time. Fixes bug #560360.
2008-11-24 09:59:07 +00:00
Wim Taymans
ede1e01d13 gst/gstpad.c: Avoid getting the acceptcaps function too early.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_accept_caps):
Avoid getting the acceptcaps function too early.
2008-11-21 16:48:48 +00:00
Michael Smith
8b1ed490b3 gst/gstregistrybinary.c: In win32 codepath, if we fail to write the registry, create the directory for it and try aga...
Original commit message from CVS:
* gst/gstregistrybinary.c:
In win32 codepath, if we fail to write the registry, create the
directory for it and try again, matching the behaviour in non-win32
codepaths.
2008-11-20 20:44:56 +00:00
Wim Taymans
82479761f1 gst/gstquery.*: Add GstQueryType for custom queries instead of having to use the not-so-very-convenient registration ...
Original commit message from CVS:
* gst/gstquery.c:
* gst/gstquery.h:
Add GstQueryType for custom queries instead of having to use the
not-so-very-convenient registration infrastructure to register new
types.
2008-11-20 10:35:50 +00:00
Andrew Feren
604382bfb5 gst/gstobject.c: Unref the GEnumClass after usage again. Fixes bug #561501.
Original commit message from CVS:
Patch by: Andrew Feren <acferen at yahoo dot com>
* gst/gstobject.c: (gst_object_default_deep_notify):
Unref the GEnumClass after usage again. Fixes bug #561501.
2008-11-19 12:20:03 +00:00
Wim Taymans
9184d9ee3c gst/gstbin.*: Add do-latency signal with the old default fallback implementation. This allows for custom latency calc...
Original commit message from CVS:
* gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
(gst_bin_recalculate_latency), (gst_bin_do_latency_func),
(gst_bin_change_state_func):
* gst/gstbin.h:
Add do-latency signal with the old default fallback implementation. This
allows for custom latency calculations for when the default is not
sufficient.
API: GstBin::do-latency signal.
2008-11-19 12:06:41 +00:00
Wim Taymans
c311f2153a Add method to recalculate and redistribute the latency on a bin.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstbin.c: (gst_bin_recalculate_latency),
(gst_bin_change_state_func):
* gst/gstbin.h:
Add method to recalculate and redistribute the latency on a bin.
API: gst_bin_recalculate_latency().
2008-11-18 09:58:33 +00:00
Wim Taymans
cc5c8784cb gst/gstbuffer.h: Document the free_func.
Original commit message from CVS:
* gst/gstbuffer.h:
Document the free_func.
2008-11-18 09:52:41 +00:00
Stefan Kost
d27aea0391 gst/gstvalue.c: Don't crash if either of the string GValues is empty.
Original commit message from CVS:
* gst/gstvalue.c:
Don't crash if either of the string GValues is empty.
2008-11-17 21:25:39 +00:00
Sebastian Dröge
e79e2061ae gst/gstutils.h: Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64 conversion functions.
Original commit message from CVS:
* gst/gstutils.h:
Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
conversion functions.
2008-11-17 04:49:06 +00:00
Wim Taymans
3cc67ebab7 gst/gstbuffer.c: Avoid costly typechecking for trivially correct pointers.
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_finalize):
Avoid costly typechecking for trivially correct pointers.
* gst/gstpoll.c: (gst_poll_wait):
Add some G_LIKELY here and there.
* libs/gst/base/gstadapter.c: (gst_adapter_push):
Add some debug info.
2008-11-13 18:09:45 +00:00
Sebastian Dröge
681e4d01c8 gst/gstregistrybinary.*: Don't write and check a CRC for the binary registry file. It's guaranteed that the registry ...
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
(gst_registry_binary_initialize_magic),
(gst_registry_binary_write_cache),
(gst_registry_binary_check_magic):
* gst/gstregistrybinary.h:
Don't write and check a CRC for the binary registry file. It's
guaranteed that the registry is completely written (it's first written
to a temporary file and then moved) and if the registry was corrupted
by some hardware failure we would have bigger problems.
Bump binary registry version to 0.10.21.1 for this as it's an
incompatible change and to ensure that the registry gets rebuild
after the update.
This saves some milliseconds for reading/writing the registry.
Fixes bug #560399.
2008-11-12 10:39:25 +00:00
Wim Taymans
7f987200b5 gst/gstvalue.c: Reorganize some more, be more conservative with the GST_TYPE_ARRAY not being fixed and inline the tri...
Original commit message from CVS:
* gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
being fixed and inline the trivial check.
2008-11-06 15:37:16 +00:00
Wim Taymans
18aeb9a41e gst/gstcaps.c: Callgrind micro optimisations.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
(gst_caps_merge_structure), (gst_caps_get_structure),
(gst_caps_copy_nth), (gst_caps_set_simple),
(gst_caps_set_simple_valist), (gst_caps_is_fixed),
(gst_caps_is_equal_fixed), (gst_caps_intersect),
(gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
(gst_caps_to_string):
Callgrind micro optimisations.
Avoid array bounds checks and force inline of trivial function.
* gst/gstobject.c: (gst_object_set_name_default):
-1 is equivalent to letting glib to the strlen but then there is more
room for optimisations and it's not our fault.
* gst/gststructure.c: (gst_structure_id_empty_new_with_size):
no need to clear the array, we're cool.
* gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
The most common _is_fixed() check is done on fundamental glib base
types so we check this first instead of doing a huge amount of
useless GST_TYPE_ARRAY calls.
2008-11-06 15:09:34 +00:00
Wim Taymans
812640dd18 gst/gstevent.h: Add a SKIP seek flag for use with advanced trickmodes.
Original commit message from CVS:
* gst/gstevent.h:
Add a SKIP seek flag for use with advanced trickmodes.
API: GstSeekFlags::GST_SEEK_FLAG_SKIP
2008-11-06 12:03:17 +00:00
Wim Taymans
209c57085c gst/gststructure.c: No need to memset, we can clear the value ourselves.
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_id_empty_new_with_size):
No need to memset, we can clear the value ourselves.
* gst/gstvalue.c: (gst_type_is_fixed),
(gst_value_get_compare_func):
Some optimisations from a few callgrind sessions:
When checking if a type is fixed, check for trivial fundamental types
first before checking types for which we need to get the type followed
by the heavy duty type checks, this reduces the amount of
g_type_fundamental() calls a lot.
When getting the compare function, first check for our registered types.
If that fails, do the heavy duty g_type_is_a() checks, reduces the
amount of g_type_is_a() considerably.
2008-11-05 16:57:35 +00:00
Wim Taymans
16e6c3ef96 gst/gstbin.c: Get the seqnum before we dispose the message.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_handle_message_func):
Get the seqnum before we dispose the message.
2008-11-04 18:10:04 +00:00
Wim Taymans
0a71170006 Copy seqnums from events to messages so that they can all be related back to eachother.
Original commit message from CVS:
* gst/gstbin.c: (bin_handle_async_start),
(gst_bin_handle_message_func), (gst_bin_query):
* libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
(gst_base_sink_event), (gst_base_sink_change_state):
* libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
(gst_base_src_loop), (gst_base_src_change_state):
Copy seqnums from events to messages so that they can all be related
back to eachother.
2008-11-04 15:56:55 +00:00
Andy Wingo
1f1d642981 gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
Original commit message from CVS:
2008-11-04  Andy Wingo  <wingo@pobox.com>

* gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.

Also add API: to previous changelog entry.
2008-11-04 13:56:37 +00:00
Andy Wingo
5f5fbbdd7d Add sequence numbers to events and messages. See #559250.
Original commit message from CVS:
2008-11-04  Andy Wingo  <wingo@pobox.com>

Add sequence numbers to events and messages. See #559250.

* gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
New functions.

* gst/gstevent.h:
* gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
events with a new sequence number, and copy it when copying.
(gst_event_get_seqnum, gst_event_set_seqnum): Accessors for an
event's sequence number.

* gst/gstmessage.h:
* gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
(gst_event_get_seqnum, gst_event_set_seqnum): As with events, so
with messages.

* docs/gst/gstreamer-sections.txt: Add new functions to the docs.
2008-11-04 12:22:53 +00:00
Stefan Kost
1d61cb0381 gst/gstregistrybinary.c: Don't bother with the GTimer if we don't output the results.
Original commit message from CVS:
* gst/gstregistrybinary.c:
Don't bother with the GTimer if we don't output the results.
2008-11-03 12:29:10 +00:00
Stefan Kost
0d430a59ef gst/gstregistrybinary.c: Oh my, studip, stupid me. Remove double stat() call.
Original commit message from CVS:
* gst/gstregistrybinary.c:
Oh my, studip, stupid me. Remove double stat() call.
2008-10-31 15:54:44 +00:00
Stefan Kost
5b29f0a1cc gst/gstpreset.c: Use g_unlink instead of unlink.
Original commit message from CVS:
* gst/gstpreset.c:
Use g_unlink instead of unlink.
* gst/gststructure.c:
Use glib type.
* gst/gstutils.c:
Add a FIXME:.
* gst/gsttaglist.c:
* gst/gsttypefind.c:
* gst/gstvalue.c:
Formatting & whitespaces.
2008-10-31 14:24:49 +00:00
Stefan Kost
588ab506b9 gst/: Use g_unlink() as none of these are directories.
Original commit message from CVS:
* gst/gstregistrybinary.c:
* gst/gstregistryxml.c:
Use g_unlink() as none of these are directories.
2008-10-30 14:15:14 +00:00
Wim Taymans
d0b44d1578 gst/gstpipeline.c: Some more comments.
Original commit message from CVS:
* gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
Some more comments.
2008-10-29 17:04:50 +00:00
Wim Taymans
d2e5ffde24 gst/gstsegment.c: Set the last_stop to a more meaningful position when configuring the segment. ie. the start/stop of...
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_set_newsegment_full):
Set the last_stop to a more meaningful position when configuring the
segment. ie. the start/stop of the segment or clipped against the
updated segment boundaries.
* tests/check/gst/gstsegment.c: (GST_START_TEST):
Add some unit tests for the last_stop.
2008-10-23 09:49:07 +00:00
Sebastian Dröge
5644be89d7 API: Move float endianness conversion macros from libgstfloatcast to core as it's useful in general, even in core. Fi...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstutils.h:
API: Move float endianness conversion macros from libgstfloatcast
to core as it's useful in general, even in core. Fixes bug #555196.
This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
2008-10-23 07:09:21 +00:00
Wim Taymans
b340b510ce gst/gstpad.c: When we use gst_pad_alloc_buffer() without wanting to set the caps we also don't need to check if the c...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_configure_src):
When we use gst_pad_alloc_buffer() without wanting to set the caps we
also don't need to check if the caps are compatible because the caller
presumably is going to perform its own custom checks. Fixes some cases
where basetransform elements would error out when it was not needed.
2008-10-20 13:32:07 +00:00
Tim-Philipp Müller
1be929a4b6 gst/gstquark.c: Fix printf format warning.
Original commit message from CVS:
* gst/gstquark.c: (_priv_gst_quarks_initialize):
Fix printf format warning.
2008-10-14 17:10:43 +00:00
Wim Taymans
97ec47cabb docs/design/part-TODO.txt: Remove item from the todo list because it was fixed with the latency state change rewrites.
Original commit message from CVS:
* docs/design/part-TODO.txt:
Remove item from the todo list because it was fixed with the latency
state change rewrites.
* docs/design/part-seeking.txt:
* docs/design/part-segments.txt:
Update some docs.
* gst/gstevent.c: (gst_event_new_new_segment_full),
(gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
(gst_event_parse_buffer_size), (gst_event_new_qos),
(gst_event_parse_qos), (gst_event_new_seek),
(gst_event_parse_seek), (gst_event_new_latency),
(gst_event_parse_latency):
Use quarks to construct and parse events.
* gst/gstquark.c: (_priv_gst_quarks_initialize):
* gst/gstquark.h:
Add some more quarks to the table.
Emit a warning when the quark tables are not in sync.
* tests/check/gst/gstbus.c: (GST_START_TEST):
Add an assert.
2008-10-13 17:19:25 +00:00
Wim Taymans
85de653640 gst/gstbus.c: Fix deadlock, g_source_get_id() cannot be called in finalize.
Original commit message from CVS:
* gst/gstbus.c: (gst_bus_source_finalize),
(gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
(gst_bus_enable_sync_message_emission),
(gst_bus_disable_sync_message_emission),
(gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
Fix deadlock, g_source_get_id() cannot be called in finalize.
Keep track of the watch source by keeping a pointer to the source object
instead.
Use the bus lock to protect access to the pointer to the current
watch source.
2008-10-13 10:50:17 +00:00
Olivier Crete
882c997103 gst/gstbus.c: Only allow one bus watch to be set at a time. This is necessary because the dispatcher pops the message...
Original commit message from CVS:
Base on Patch by: Olivier Crete <tester at tester dot ca>
* gst/gstbus.c: (gst_bus_source_finalize),
(gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
Only allow one bus watch to be set at a time. This is necessary
because the dispatcher pops the message from the bus and the second
watcher will then get NULL or the next message (and the first won't
get this next message then, etc). If more than one "watcher" is
required signal watches should be used. Fixes bug #526044.
2008-10-13 09:22:22 +00:00
Sebastian Dröge
e6543e71ef gst/gstxml.c: Clarify that the save_thyself() and restore_thyself() virtual functions of GstObject need to be overrid...
Original commit message from CVS:
* gst/gstxml.c:
Clarify that the save_thyself() and restore_thyself() virtual
functions of GstObject need to be overriden, not
gst_object_(save|restore)_thyself() which is impossible.
Fixes bug #555700.
2008-10-10 15:38:06 +00:00
Wim Taymans
401cc7fe6a gst/gstpad.c: Revert a patch from 21 months ago that broke caps negotiation in pull mode. Basically, having a buffer ...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
Revert a patch from 21 months ago that broke caps negotiation in pull
mode. Basically, having a buffer pass over a pad will trigger the
setcaps function when caps change, just like in push mode.
2008-10-10 15:27:37 +00:00
Wim Taymans
bc8e367885 gst/gstbin.c: The message src can be NULL, don't try to print the object names in that case.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_remove_func), (update_degree),
(gst_bin_handle_message_func):
The message src can be NULL, don't try to print the object names in that
case.
* libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
Add some more debug info.
* tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
(GST_START_TEST):
Add some debug.
Fix the test, pull based sinks go ASYNC to PAUSED, just like other
scheduling modes.
2008-10-10 10:38:12 +00:00
Wim Taymans
3245d41e16 gst/gstpipeline.c: Release the object lock before trying to flush the bus.
Original commit message from CVS:
* gst/gstpipeline.c: (gst_pipeline_change_state):
Release the object lock before trying to flush the bus.
2008-10-08 15:21:12 +00:00
Wim Taymans
33bd5179c3 gst/gstghostpad.*: Unbreak -good build, private is a reserved c++ keyword.
Original commit message from CVS:
* gst/gstghostpad.c:
* gst/gstghostpad.h:
Unbreak -good build, private is a reserved c++ keyword.
2008-10-08 10:39:24 +00:00
Andy Wingo
b731374c49 gst/gstghostpad.*: Fix unintended API removal: re-add GST_GHOST_PAD_CAST to the header.
Original commit message from CVS:
2008-10-08  Andy Wingo  <wingo@pobox.com>

* gst/gstghostpad.h (GST_GHOST_PAD_CAST):
* gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
removal: re-add GST_GHOST_PAD_CAST to the header.
2008-10-08 10:19:11 +00:00
Andy Wingo
9640db9fe2 gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
Original commit message from CVS:
2008-10-08  Andy Wingo  <wingo@pobox.com>

* gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
(GstGhostPadClass): Publically expose these structures so as to
allow easy subclassing from C. Hide the member data behind a
private opaque data pointer.

* gst/gstghostpad.c: Adapt to store instance data in the type
instance's private data region, not in the public struct.
2008-10-08 10:12:45 +00:00
Sebastian Dröge
2d2a55a2a4 gst/gstregistrybinary.c: If we can't get a cache file don't try to save something to it.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
If we can't get a cache file don't try to save something to it.
Dereferencing NULL pointers usually isn't a good idea.
2008-10-08 10:07:15 +00:00
Andy Wingo
83d3b5d88e gst/gstghostpad.c (gst_ghost_pad_construct): If we got a template via g_object_get(), be sure to unref it.
Original commit message from CVS:
2008-10-08  Andy Wingo  <wingo@pobox.com>

* gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
template via g_object_get(), be sure to unref it.

* gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
2008-10-08 08:54:55 +00:00
Sebastian Dröge
22dd04f7e0 Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT* as it's too easy to break the ISO C strict al...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstutils.h:
Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
as it's too easy to break the ISO C strict aliasing rules with simple
casts to the corresponding type and this would introduce hard to debug
bugs. Fixes bug #545714.
API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
2008-10-07 12:00:49 +00:00
Tim-Philipp Müller
cabf154dc6 gst/: Add 'Since' bits to gtk-doc chunks for new API.
Original commit message from CVS:
* gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
* gst/gstghostpad.c: (gst_ghost_pad_construct):
Add 'Since' bits to gtk-doc chunks for new API.
2008-10-07 06:56:11 +00:00
Andy Wingo
267d0ba8f3 gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function that will be called on the malloc_data to free it. B...
Original commit message from CVS:
2008-10-06  Andy Wingo  <wingo@pobox.com>

* gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
that will be called on the malloc_data to free it. Basically a way
to avoid subclassing when all you need is a different free
function, i.e. free() instead of g_free().

* gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
calling the free function.
(gst_buffer_init): Initialize the free function to g_free.
2008-10-06 18:01:42 +00:00
Andy Wingo
f7ae133fec gst/gstghostpad.*: New function, finishes the initialization of ghost pad. Useful for language bindings and subclasse...
Original commit message from CVS:
2008-10-06  Andy Wingo  <wingo@pobox.com>

* gst/gstghostpad.h:
* gst/gstghostpad.c (gst_ghost_pad_construct): New function,
finishes the initialization of ghost pad. Useful for language
bindings and subclassers of GstGhostPad. Fixes #539108.
(gst_ghost_pad_new_full): Use the new constructor.
2008-10-06 17:57:25 +00:00
Olivier Crete
ee0eaf824b gst/gstbin.c: Keep track of pads that are being linked/unlinked and resync the state changes.
Original commit message from CVS:
Base on Patch by: Olivier Crete <tester at tester dot ca>
* gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
(gst_bin_remove_func), (update_degree),
(gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
Keep track of pads that are being linked/unlinked and resync the state
changes.
* gst/gstpad.c: (gst_pad_get_direction),
(gst_pad_set_chain_function), (gst_pad_set_getrange_function),
(gst_pad_set_checkgetrange_function), (gst_pad_unlink),
(gst_pad_link_prepare), (gst_pad_link),
(gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
(gst_pad_check_pull_range), (gst_pad_get_range),
(gst_pad_pull_range):
Some code cleanups, use macros to check pad direction.
Don't need to take the lock on the pad direction.
Post structure change when pads are linked/unlinked.
Change some checks into _return_if_fail().
* tests/check/gst/gstbin.c:
(test_link_structure_change_state_changed_sync_cb),
(GST_START_TEST), (gst_bin_suite):
Add testcase for pad link/unlinke resync during a state change.
Fixes #510354.
2008-10-06 16:15:02 +00:00
Wim Taymans
cb98130213 Implement STRUCTURE_CHANGED messages. These messages will be used to signal the parent bin of link/unlink operations ...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstmessage.c: (gst_message_new_structure_change),
(gst_message_parse_structure_change):
* gst/gstmessage.h:
Implement STRUCTURE_CHANGED messages. These messages will be used to
signal the parent bin of link/unlink operations that could require a
resync when doing a state change. See ##510354.
API: gst_message_new_structure_change()
API: gst_message_parse_structure_change()
2008-10-06 15:31:49 +00:00
Wim Taymans
11588b2db5 gst/gstquark.*: Add some more quarks for new message. See #510354.
Original commit message from CVS:
* gst/gstquark.c:
* gst/gstquark.h:
Add some more quarks for new message. See #510354.
2008-10-06 15:21:14 +00:00
Antoine Tremblay
db71547857 gst/gstpad.c: Fix small refount leak in caps compatibility check.
Original commit message from CVS:
Patch by: Antoine Tremblay <hexa00 at gmail dot com>
* gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
Original patch by : Simon Descaries
Fix small refount leak in caps compatibility check.
Fixes #551676.
2008-10-06 08:45:42 +00:00
Antoine Tremblay
607fd58a5e gst/gstelement.c: Avoid leaking the parent ref when we fail changing the state of the element using gst_element_sync_...
Original commit message from CVS:
Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
* gst/gstelement.c: (gst_element_sync_state_with_parent):
Avoid leaking the parent ref when we fail changing the state of the
element using gst_element_sync_state_with_parent(). Fixes #551978.
2008-09-14 22:01:30 +00:00
Tim-Philipp Müller
844b19464e gst/gsttaglist.h: Fix Since: markers for new geo tags.
Original commit message from CVS:
* gst/gsttaglist.h:
Fix Since: markers for new geo tags.
2008-09-03 05:52:40 +00:00
Stefan Kost
cf424d4c56 gst/gsttaglist.h: Fix actual tag name define after renaming from altitude to elevation.
Original commit message from CVS:
* gst/gsttaglist.h:
Fix actual tag name define after renaming from altitude to elevation.
2008-09-02 20:00:28 +00:00
Wim Taymans
7cf8be7fd8 gst/gstpad.c: Add fallback when calling the deprecated function on an element that implements the new internal_link h...
Original commit message from CVS:
* gst/gstpad.c: (add_unref_pad_to_list),
(gst_pad_get_internal_links_default):
Add fallback when calling the deprecated function on an element that
implements the new internal_link handler.
2008-09-01 14:05:45 +00:00
Stefan Kost
ce1f50ae11 Add new tags for geo location and clarify purpose of existing location tag. Fixes #481169
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttaglist.c:
* gst/gsttaglist.h:
Add new tags for geo location and clarify purpose of existing location
tag. Fixes #481169
2008-09-01 13:35:32 +00:00
Olivier Crete
390369246e gst/gstpad.c: Use thread-safe internal links iterator. Fixes #549504.
Original commit message from CVS:
Patch by: Olivier Crete <tester at tester dot ca>
* gst/gstpad.c: (gst_pad_iterate_internal_links_default),
(gst_pad_event_default_dispatch), (gst_pad_dispatcher):
Use thread-safe internal links iterator. Fixes #549504.
2008-09-01 11:27:45 +00:00
Olivier Crete
68037404b8 Add threadsafe replacement functions for getting internal links of an element. Deprecate the old internal links funct...
Original commit message from CVS:
Based on patch by: Olivier Crete <tester at tester dot ca>
* docs/gst/gstreamer-sections.txt:
* win32/common/libgstreamer.def:
* gst/gstpad.c: (gst_pad_init),
(gst_pad_set_iterate_internal_links_function),
(int_link_iter_data_free), (iterate_pad),
(gst_pad_iterate_internal_links_default),
(gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
* gst/gstpad.h:
Add threadsafe replacement functions for getting internal links of an
element. Deprecate the old internal links functions.
API:GstPad::gst_pad_set_iterate_internal_links_function()
API:GstPad::GstPadIterIntLinkFunction
API:GstPad::gst_pad_iterate_internal_links()
API:GstPad::gst_pad_iterate_internal_links_default()
* gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
(gst_proxy_pad_init):
Implement threadsafe internal links.
* tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
Unit test for internal links on tee. See #549504.
2008-09-01 10:42:04 +00:00
Edward Hervey
98354dc527 gst/gstpad.c: Die evil deadlock, die !
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_get_internal_links_default):
Die evil deadlock, die !
2008-08-30 12:07:41 +00:00
Edward Hervey
dd80b2030c Fix all leaks due to the bug in gst_pad_template_new() by which it does not steal the refcount of the given caps as s...
Original commit message from CVS:
* gst/gstutils.c: (gst_element_get_compatible_pad):
* tests/check/gst/gstghostpad.c: (GST_START_TEST):
* tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
Fix all leaks due to the bug in gst_pad_template_new() by which it does
not steal the refcount of the given caps as stated.
REVERT THIS COMMIT ONCE FIXED !
REVERT THIS COMMIT ONCE FIXED !
REVERT THIS COMMIT ONCE FIXED !
REVERT THIS COMMIT ONCE FIXED !
REVERT THIS COMMIT ONCE FIXED !
REVERT THIS COMMIT ONCE FIXED !
2008-08-30 11:55:59 +00:00
Wim Taymans
e6da27eb3b gst/gstiterator.*: After 3 years it's about time to revise the documentation of the iterator objects.
Original commit message from CVS:
* gst/gstiterator.c:
* gst/gstiterator.h:
After 3 years it's about time to revise the documentation of the
iterator objects.
2008-08-29 17:58:25 +00:00
Wim Taymans
31aded4133 gst/gstpad.c: Make the internal links function less thread-unsafe and add some comments, dunno why.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_get_internal_links_default):
Make the internal links function less thread-unsafe and add some
comments, dunno why.
2008-08-29 16:10:56 +00:00
Tim-Philipp Müller
0609c4cabe gst/gst_private.h: Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes build with --disable-gst-debug.
Original commit message from CVS:
* gst/gst_private.h:
Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
build with --disable-gst-debug.
2008-08-29 14:12:02 +00:00
David Schleef
7c90130407 gst/gstpadtemplate.c: Revert last change, since it breaks a few plugins, ffmpeg, alaw, and mulaw. Code is correct, b...
Original commit message from CVS:
* gst/gstpadtemplate.c: Revert last change, since it breaks
a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
but shouldn't be enabled until we've released fixed versions
of -good and -ffmpeg.
2008-08-29 00:34:58 +00:00
Stefan Kost
0dfab1544c gst/gstobject.c: Put the gst_object_get_name() back in.
Original commit message from CVS:
* gst/gstobject.c:
Put the gst_object_get_name() back in.
2008-08-28 20:12:54 +00:00
Stefan Kost
29f2239a89 gst/gstpadtemplate.c: The old behaviour was that gst_pad_template_new() takes ownership of the caps. As we now call g...
Original commit message from CVS:
* gst/gstpadtemplate.c:
The old behaviour was that gst_pad_template_new() takes ownership of
the caps. As we now call g_object_new() which calls g_object_set() and
which copies the caps, we have to unref them to not leak them. Fixes
make valgrid for me.
2008-08-28 12:32:19 +00:00
Stefan Kost
4eebee56fd gst/gsturi.c: Don't segfault on input like "tel:+1-123-555-1234".
Original commit message from CVS:
* gst/gsturi.c:
Don't segfault on input like "tel:+1-123-555-1234".
2008-08-28 10:45:04 +00:00
Stefan Kost
c17a8ce88a gst/gstobject.c: Due to popular request also include ObjectType in gst_object_get_path_string(). Makes gst-launch -v ...
Original commit message from CVS:
* gst/gstobject.c:
Due to popular request also include ObjectType in
gst_object_get_path_string(). Makes gst-launch -v bit more useful.
2008-08-27 07:18:37 +00:00
David Schleef
93f300823f gst/gstutils.c: Remove check in gst_pad_query_convert() that src_val must be positive, because that's not a requirement.
Original commit message from CVS:
* gst/gstutils.c: Remove check in gst_pad_query_convert() that
src_val must be positive, because that's not a requirement.
This causes problems with converting negative granulepos
values for Dirac.
* gst/gstquery.c: Same, gst_query_new_convert().
2008-08-27 03:04:23 +00:00
David Schleef
34087e8b17 gst/gstutils.c: Remove check in gst_pad_query_convert() that src_val must be positive, because that's not a requirement.
Original commit message from CVS:
* gst/gstutils.c: Remove check in gst_pad_query_convert() that
src_val must be positive, because that's not a requirement.
This causes problems with converting negative granulepos
values for Dirac.
2008-08-27 02:59:59 +00:00
Wim Taymans
207bbf4f14 gst/gstclock.c: Add some more debugging to the clock slaving code.
Original commit message from CVS:
* gst/gstclock.c: (gst_clock_add_observation):
Add some more debugging to the clock slaving code.
* win32/common/libgstbase.def:
Add new basetransform method.
2008-08-25 11:06:34 +00:00
Wim Taymans
f716d86e48 gst/gstbin.c: Take the (recursive) state lock between getting the locked state of an element and changing the element...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_element_set_state):
Take the (recursive) state lock between getting the locked state of an
element and changing the element state. This allows the application to
lock an element's state and then change its state without races.
2008-08-25 11:00:13 +00:00
Wim Taymans
a6b1feccd0 gst/gstbin.c: When an element is in the locked state we still want to update the base_time of the element.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_element_set_state):
When an element is in the locked state we still want to update the
base_time of the element.
2008-08-25 10:52:47 +00:00
Murray Cumming
976b9750ea gst/gstutils.c: Mention that this is just like gst_buffer_merge() but with extra unreffing for C coders. Advise langu...
Original commit message from CVS:
patch by: Murray Cumming <murrayc@murrayc.com>
* gst/gstutils.c:
Mention that this is just like gst_buffer_merge() but with extra
unreffing for C coders. Advise language bindings not to wrap it.
Fixes Bug #533856.
Also fix file comment.
2008-08-20 07:22:11 +00:00
Thijs Vermeir
05bfed2da8 gst/gstpad.h: Add doc
Original commit message from CVS:
* gst/gstpad.h:
Add doc
2008-08-14 20:05:33 +00:00
Stefan Kost
8713a8203b gst/: Remove double interface from doc-string.
Original commit message from CVS:
* gst/gstchildproxy.h:
* gst/gstpreset.h:
Remove double interface from doc-string.
2008-08-12 06:27:35 +00:00
Michael Smith
945bf1bdd3 gst/gstregistrybinary.c: Don't use g_mkstmp() on win32, it's unsafe if glib is using a different libc.
Original commit message from CVS:
* gst/gstregistrybinary.c:
Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
libc.
Fixes #544776.
2008-08-11 19:04:04 +00:00
Stefan Kost
bdbd0bfac4 Document preset-iface vmethods.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstpreset.h:
Document preset-iface vmethods.
2008-08-11 08:06:20 +00:00
Frederic Crozat
f8cf146ed4 gst/gst.c: Make sure gettext returns translations in UTF-8 encoding rather than in the current locale encoding (#5468...
Original commit message from CVS:
Patch by: Frederic Crozat <fcrozat@mandriva.org>
* gst/gst.c: (init_pre):
Make sure gettext returns translations in UTF-8 encoding rather
than in the current locale encoding (#546822).
2008-08-07 15:49:00 +00:00
Wim Taymans
b08cd83cbb gst/gstcaps.c: Fix subset test.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_structure_is_subset_field):
Fix subset test.
* tests/check/gst/gstcaps.c: (GST_START_TEST):
Improve unit test subset tests and add a testcase for the subset failure
cases.
* tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
Improve subtraction unit test.
2008-08-07 12:28:28 +00:00
Wim Taymans
c82ad04dd4 gst/gstpad.h: Clarify the docs a bit more.
Original commit message from CVS:
* gst/gstpad.h:
Clarify the docs a bit more.
2008-08-05 16:50:27 +00:00
Olivier Crete
70a4cad10c gst/gststructure.c: Avoid overflows in fixation code when dealing with MAXINT values, which v4l2src seems to do.
Original commit message from CVS:
Patch by: Olivier Crete <tester at tester dot ca>
* gst/gststructure.c:
(gst_structure_fixate_field_nearest_fraction):
Avoid overflows in fixation code when dealing with MAXINT values, which
v4l2src seems to do.
Fixes #546328.
* tests/check/gst/gststructure.c: (GST_START_TEST):
Make a unit test to check the fix.
2008-08-05 15:03:27 +00:00
Wim Taymans
5665680537 gst/gstbin.c: Fix race for bins that simulate ASYNC state changes by inserting
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
(gst_bin_change_state_func), (bin_handle_async_done),
(gst_bin_handle_message_func):
Fix race for bins that simulate ASYNC state changes by inserting
ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
pending ASYNC messages even when the bin does not have ASYNC children.
We note detect this behaviour because we will receive an ASYNC message
that is originating from the bin itself.
Fixes races with decodebin2 state changes.
* tests/check/gst/gstbin.c: (GST_START_TEST):
Add some more debug.
2008-08-04 15:49:13 +00:00
Tim-Philipp Müller
6d0ca73fea gst/gsttaglist.c: Fix typo.
Original commit message from CVS:
* gst/gsttaglist.c: (_gst_tag_initialize):
Fix typo.
2008-08-04 13:01:35 +00:00
Stefan Kost
909a7d2de7 gst/gsttaglist.c: Argh. actually save the text before committing. Now adds gst_tag_merge_strings_with_comma() to gst_...
Original commit message from CVS:
* gst/gsttaglist.c:
Argh. actually save the text before committing. Now adds
gst_tag_merge_strings_with_comma() to gst_tag_register().
2008-08-04 12:46:23 +00:00
Stefan Kost
8e729fc6a2 gst/gsttaglist.*: Do as tim pointed out and actually register the new tag. Also improve te docs and use gst_tag_merge...
Original commit message from CVS:
* gst/gsttaglist.c:
* gst/gsttaglist.h:
Do as tim pointed out and actually register the new tag. Also improve
te docs and use gst_tag_merge_strings_with_comma() method to allow
retriving all keywords merged in one list.
2008-08-04 12:30:26 +00:00
Stefan Kost
6cf55f54e3 Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttaglist.h:
Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
2008-08-01 11:34:06 +00:00
Tim-Philipp Müller
2fd47ae874 gst/gstpadtemplate.c: Add "name-template", "direction", "presence" and "caps" properties, so that gst_pad_template_ne...
Original commit message from CVS:
* gst/gstpadtemplate.c:
(gst_pad_template_class_init), (gst_static_pad_template_get),
(gst_pad_template_new), (gst_pad_template_pad_created),
(gst_pad_template_set_property), (gst_pad_template_get_property):
Add "name-template", "direction", "presence" and "caps" properties,
so that gst_pad_template_new() is just a thin wrapper around
g_object_new(), which is better for bindings. (Fixes: #539772)
2008-08-01 10:02:49 +00:00
Michael Smith
26b51b2d9c gst/gsturi.c: Be more liberal in what URIs we accept.
Original commit message from CVS:
* gst/gsturi.c:
Be more liberal in what URIs we accept.
Do not unescape bits of the URI for no apparent reason before passing to
the element. Fixes #545352.
2008-07-31 17:16:50 +00:00
Robert Schwebel
1695ddb9dd gst/gst.c: Include gstconfig.h as macros from it are used. Fixes bug #545607.
Original commit message from CVS:
Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
* gst/gst.c:
Include gstconfig.h as macros from it are used. Fixes bug #545607.
2008-07-31 15:24:21 +00:00
Sebastian Dröge
4bfb1fe70c Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
Original commit message from CVS:
* configure.ac:
* docs/gst/gstreamer-sections.txt:
* docs/gst/gstreamer.types:
* docs/gst/gstreamer.types.in:
* gst/Makefile.am:
* gst/gst.c:
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
* gst/gstconfig.h.in:
* gst/gstelement.c: (gst_element_get_index):
* gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
(gst_registry_binary_load_feature),
(gst_registry_binary_read_cache):
* gst/gstregistryxml.c: (load_feature),
(gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
* plugins/Makefile.am:
* tools/gst-indent:
* tools/gst-inspect.c: (print_index_info), (print_element_list),
(print_plugin_features), (print_element_features):
* tools/gst-xmlinspect.c: (print_event_masks),
(print_element_info):
* win32/common/gstconfig.h:
Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
Disabling the indexers and URI handler code will only reduce the
required amount of memory by a very small amount but on the other hand
requires much more maintaince work. Apart from that many places of
code are broken when disabling them.
Disabling the enum types doesn't reduce the required amount of memory
by more than a few bytes and makes it hard to fix bugs like #539772,
i.e. use the enums as GObject properties.
2008-07-31 15:20:32 +00:00
Wim Taymans
48336614c0 gst/gstpad.c: Remove silly redundant debug.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_acceptcaps_default),
(gst_pad_configure_src), (gst_pad_alloc_buffer_full):
Remove silly redundant debug.
Add some more debug info.
Clarify the docs regarding new caps received from pad_alloc.
2008-07-31 12:50:52 +00:00
Tim-Philipp Müller
20d11b6fe0 gst/gstpad.c: Only sanity-check the buffer size if requested_caps == buffer_caps (ie. don't take pad caps into accoun...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_alloc_buffer_full):
Only sanity-check the buffer size if requested_caps == buffer_caps
(ie. don't take pad caps into account, they're not relevant here)
2008-07-29 15:32:11 +00:00
Thijs Vermeir
3a2d9fd0bc gst/gstelement.h: Fix link in documentation.
Original commit message from CVS:
* gst/gstelement.h:
Fix link in documentation.
2008-07-25 10:24:43 +00:00
Thijs Vermeir
37498e01bb gst/gstmessage.c: Fix confusing documentation.
Original commit message from CVS:
* gst/gstmessage.c:
Fix confusing documentation.
2008-07-24 17:38:43 +00:00
Michael Smith
5b9b2e7779 configure.ac: Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
Original commit message from CVS:
* configure.ac:
Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
Add check (taken from -base) for winsock, adds WIN32_LIBS
* gst/Makefile.am:
Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
winsock.
Define GST_EXPORTS when building libgstreamer (only used on win32)
* gst/gst_private.h:
* gst/gstinfo.h:
Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
for symbols that we need to export in both these files.
* gst/gstpoll.c:
Include gst_private.h higher up to avoid some compile problems on win32.
2008-07-22 18:12:54 +00:00
Sebastian Dröge
14983d1810 gst/gstvalue.c: Fix typos.
Original commit message from CVS:
* gst/gstvalue.c:
Fix typos.
2008-07-22 09:24:37 +00:00
Thijs Vermeir
cdb1ea97cc gst/gstcaps.c: Previous commit was wrong NULL caps does not exist and indicate an error, so also add a FIXME to gst_c...
Original commit message from CVS:
* gst/gstcaps.c:
Previous commit was wrong NULL caps does not exist
and indicate an error, so also add a FIXME to
gst_caps_is_equal where NULL caps are accepted.
2008-07-22 00:29:55 +00:00
Thijs Vermeir
6f1ab17974 gst/gstcaps.c: Allow passing of NULL to gst_caps_union
Original commit message from CVS:
* gst/gstcaps.c:
Allow passing of NULL to gst_caps_union
2008-07-21 23:02:40 +00:00
Thijs Vermeir
39ab4627e2 gst/gstghostpad.c: Add in doc that gst_ghost_pad_set_target can accept
Original commit message from CVS:
* gst/gstghostpad.c:
Add in doc that gst_ghost_pad_set_target can accept
NULL to clear target
2008-07-21 21:32:06 +00:00
Michael Smith
72e0b732f6 gst/: GstRegistryPool doesn't exist; don't refer to it in docs.
Original commit message from CVS:
* gst/gstplugin.c:
* gst/gstregistry.c:
GstRegistryPool doesn't exist; don't refer to it in docs.
Don't refer to functions that don't exist in docs, it's
unhelpful.
2008-07-15 22:53:00 +00:00
Sebastian Dröge
d434f41f85 gst/gst.c: Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
Original commit message from CVS:
* gst/gst.c:
Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
2008-07-12 17:51:16 +00:00
Stefan Kost
89d827dac8 gst/gstdebugutils.c: Squeeze ghost-pad links and remove <> from classname labels to save more horizontal space.
Original commit message from CVS:
* gst/gstdebugutils.c:
Squeeze ghost-pad links and remove <> from classname labels to save
more horizontal space.
2008-07-12 09:59:32 +00:00
Stefan Kost
a7c2db4aae gst/gstdebugutils.c: Give request and sometimes pads a different shpe style. Condense the graphs a little more.
Original commit message from CVS:
* gst/gstdebugutils.c:
Give request and sometimes pads a different shpe style. Condense the
graphs a little more.
2008-07-11 19:30:48 +00:00
Sebastian Dröge
e4b764d97f gst/gstchildproxy.c: Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature of the the child-added / -removed si...
Original commit message from CVS:
* gst/gstchildproxy.c: (gst_child_proxy_base_init):
Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
of the the child-added / -removed signals as GstChildProxy
only supports GstObjects.
2008-07-08 09:04:25 +00:00
Thijs Vermeir
f9da89f5c3 gst/gstdebugutils.c: Fix memleak
Original commit message from CVS:
* gst/gstdebugutils.c:
Fix memleak
2008-07-07 11:01:26 +00:00
Alessandro Decina
78734e4584 gst/gstpoll.c: Fix "ignored return value" compiler warning with newer glibc.
Original commit message from CVS:
Patch by: Alessandro Decina <alessandro at nnva dot org>
* gst/gstpoll.c:
Fix "ignored return value" compiler warning with newer glibc.
2008-07-06 12:49:43 +00:00
Sebastian Dröge
36d76ce51c gst/gstchildproxy.c: Fix copy&paste error in gst_child_proxy_removed() documentation.
Original commit message from CVS:
* gst/gstchildproxy.c:
Fix copy&paste error in gst_child_proxy_removed() documentation.
2008-07-05 16:28:28 +00:00
Tim-Philipp Müller
944de3aa68 gst/gstplugin.c: Print error debug message if plugin description fields that should be set are NULL.
Original commit message from CVS:
* gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
Print error debug message if plugin description fields that should
be set are NULL.
* gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
Don't crash if the string to serialise is NULL (it really should
not be, but apparently this used to work with the xml registry ...).
2008-07-02 14:43:40 +00:00
Stefan Kost
f2da156af7 gst/gstevent.c: Use gst_format_get_name() to improve debug output.
Original commit message from CVS:
* gst/gstevent.c:
Use gst_format_get_name() to improve debug output.
* gst/gstpreset.c:
Remove #ifdef'ed code. Add TODO comment.
* gst/gstsegment.c:
Add debug output to ease spotting format != segment.format assertions.
2008-07-01 05:53:32 +00:00
Tim-Philipp Müller
890dd8b468 gst/gstdebugutils.h: Add missing Since' markers to gtk-doc blurbs.
Original commit message from CVS:
* gst/gstdebugutils.h: (GstDebugGraphDetails),
(GST_DEBUG_BIN_TO_DOT_FILE):
Add missing Since' markers to gtk-doc blurbs.
2008-06-26 12:24:08 +00:00
Wim Taymans
5335a8b34b gst/gstbin.c: Only care about latency min and max when the sink is actually a live sink.
Original commit message from CVS:
* gst/gstbin.c: (bin_query_latency_fold):
Only care about latency min and max when the sink is actually a live
sink.
2008-06-25 11:50:06 +00:00
Thomas Vander Stichele
def24f00ef Don't assume that <valgrind/valgrind.h> exists just because the binary is there.
Original commit message from CVS:
* configure.ac:
* gst/gstinfo.c:
Don't assume that <valgrind/valgrind.h> exists just because
the binary is there.
2008-06-20 15:54:43 +00:00
Tim-Philipp Müller
1487b50720 gst/gstbus.c: Make it known that gst_bus_poll() is pure evil (fixes #538810).
Original commit message from CVS:
* gst/gstbus.c:
Make it known that gst_bus_poll() is pure evil (fixes #538810).
2008-06-20 10:20:08 +00:00
Sebastian Dröge
3ee5b33c7e API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttaglist.c: (_gst_tag_initialize):
* gst/gsttaglist.h:
API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
Fixes bug #538568.
2008-06-20 08:39:54 +00:00
David Schleef
eaeb1a3434 Rename DATADIR to GST_DATADIR to avoid build problems
Original commit message from CVS:
* configure.ac:
* gst/gstpreset.c:
Rename DATADIR to GST_DATADIR to avoid build problems
on win32. Patch By: David Schleef <ds@schleef.org>
Fixes: #536857
2008-06-11 20:07:31 +00:00
Tim-Philipp Müller
fb6210aa9a gst/gsterror.c: Fix typo (spotted by Fabricio Godoy, #536723).
Original commit message from CVS:
* gst/gsterror.c: (_gst_stream_errors_init):
Fix typo (spotted by Fabricio Godoy, #536723).
2008-06-05 08:55:41 +00:00
Wim Taymans
0fff6fa810 gst/gstevent.c: Add some assert and docs for invalid input to the qos function.
Original commit message from CVS:
* gst/gstevent.c: (gst_event_new_qos):
Add some assert and docs for invalid input to the qos function.
2008-06-04 11:31:15 +00:00
Rob Bradford
9f9422bcb3 gst/gstregistry.c: Don't recurse into .debug directories as some distros install the debugging symbols next to the pl...
Original commit message from CVS:
Patch by: Rob Bradford <rob at robster dot org dot uk>
* gst/gstregistry.c: (gst_registry_scan_path_level):
Don't recurse into .debug directories as some distros install
the debugging symbols next to the plugins in .debug directories
and dlopen() crashes on them sometimes. Fixes bug #508070.
Add FIXME for 0.11 to not recurse into directories at all because
it's very inconsistent to the behaviour of other PATH environment
variables.
2008-05-30 07:36:17 +00:00
Sebastian Dröge
3edb63d2ed gst/gstelement.*: Deprecated gst_element_get_pad() as it can't be used sanely. It's not clear of the reference to the...
Original commit message from CVS:
* gst/gstelement.c:
* gst/gstelement.h:
Deprecated gst_element_get_pad() as it can't be used sanely. It's not
clear of the reference to the resulting pad must be released later
or not, resulting in possible leaks. Fixes bug #533865.
2008-05-29 07:19:47 +00:00
José Alburquerque
dc902554fa gst/gstelementfactory.c: Small doc fix. Fixes #535285.
Original commit message from CVS:
Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
* gst/gstelementfactory.c:
Small doc fix. Fixes #535285.
2008-05-28 16:46:07 +00:00
Sebastian Dröge
a31349a80e gst/gstiterator.c: Remove an unused field from the private GstListIterator struct.
Original commit message from CVS:
* gst/gstiterator.c:
Remove an unused field from the private GstListIterator struct.
2008-05-28 07:47:22 +00:00
Tim-Philipp Müller
d27de4372e gst/gstpreset.c: Add Since: markers to docs blurbs.
Original commit message from CVS:
* gst/gstpreset.c: (gst_preset_default_get_meta),
(gst_preset_get_preset_names), (gst_preset_get_property_names),
(gst_preset_load_preset), (gst_preset_save_preset),
(gst_preset_rename_preset), (gst_preset_delete_preset),
(gst_preset_set_meta):
Add Since: markers to docs blurbs.
* win32/common/libgstreamer.def:
Add recently-added API.
2008-05-27 16:37:32 +00:00
Stefan Kost
bedb591973 configure.ac: Add DATADIR for storing presets.
Original commit message from CVS:
Patch by: Stefan Kost  <ensonic@users.sf.net>
* configure.ac:
Add DATADIR for storing presets.
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* docs/gst/gstreamer.types.in:
Add GstPreset to docs.
* gst/Makefile.am:
* gst/gst.h:
* gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
(preset_open_and_parse_header), (preset_parse_version),
(preset_merge), (preset_get_keyfile),
(gst_preset_default_get_preset_names),
(gst_preset_default_get_property_names),
(gst_preset_default_load_preset),
(gst_preset_default_save_presets_file),
(gst_preset_default_save_preset),
(gst_preset_default_rename_preset),
(gst_preset_default_delete_preset), (gst_preset_default_set_meta),
(gst_preset_default_get_meta), (gst_preset_default_randomize),
(gst_preset_default_reset), (gst_preset_get_preset_names),
(gst_preset_get_property_names), (gst_preset_load_preset),
(gst_preset_save_preset), (gst_preset_rename_preset),
(gst_preset_delete_preset), (gst_preset_set_meta),
(gst_preset_get_meta), (gst_preset_class_init),
(gst_preset_base_init), (gst_preset_get_type):
* gst/gstpreset.h:
Add GstPreset to core. Fixes #396779
* tests/check/Makefile.am:
* tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
(gst_preset_test_set_property), (gst_preset_test_class_init),
(gst_preset_test_base_init), (gst_preset_test_get_type),
(gst_preset_test_plugin_init), (GST_START_TEST),
(remove_preset_file), (test_setup), (test_teardown),
(gst_preset_suite):
Add GstPreset unit tests.
2008-05-27 15:11:35 +00:00
Wim Taymans
e84afb820d gst/gstpad.c: The default event function on a sinkpad should return TRUE when there are no internal links but should ...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_event_default_dispatch):
The default event function on a sinkpad should return TRUE when
there are no internal links but should collect the return values from
the internal links otherwise.
2008-05-27 10:59:38 +00:00
Tim-Philipp Müller
b05a18fcfc API: add gst_bin_find_unlinked_pad()
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstutils.c: (element_find_unlinked_pad),
(gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
* gst/gstutils.h:
API: add gst_bin_find_unlinked_pad()
API: deprecate gst_bin_find_unconnected_pad() (#401456)
2008-05-27 10:50:49 +00:00
Peter Kjellerstedt
ef258c2290 gst/: Fixed a bunch of typos.
Original commit message from CVS:
* gst/gstclock.c:
* gst/gstclock.h:
* gst/gsttask.c:
* gst/gsttask.h:
Fixed a bunch of typos.
2008-05-26 10:07:09 +00:00
Tim-Philipp Müller
aed9ed88ac gst/: 'unconnected pad' -> 'unlinked pad' for consistency (#401456).
Original commit message from CVS:
* gst/gstpad.h:
* gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
(gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
(gst_parse_bin_from_description_full):
* gst/gstutils.h:
'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2008-05-25 16:34:32 +00:00
Tim-Philipp Müller
2a1af2c947 gst/gstevent.h: Clarify docs for GST_SEEK_TYPE_CUR (#534505).
Original commit message from CVS:
* gst/gstevent.h:
Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2008-05-25 14:44:44 +00:00
Tim-Philipp Müller
32cafe9457 gst/parse/grammar.y: Remove unneeded casts.
Original commit message from CVS:
* gst/parse/grammar.y:
Remove unneeded casts.
2008-05-25 14:13:22 +00:00
Tim-Philipp Müller
b0afa5e42e Get all missing elements from a parse launch string if possible (ie. if the FATAL_ERRORS flag has been specified). Fi...
Original commit message from CVS:
* gst/parse/grammar.y:
* tests/check/pipelines/parse-launch.c:
Get all missing elements from a parse launch string if possible
(ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2008-05-25 13:56:38 +00:00
Tim-Philipp Müller
ebc08ddfb9 API: gst_parse_launch_full()
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gst.c: (init_post):
* gst/gst_private.h: (_GstParseContext):
* gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
(gst_parse_context_free), (gst_parse_context_get_missing_elements),
(gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
(gst_parse_launch_full):
* gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
(GstParseFlags), (GstParseContext):
* gst/gstutils.c: (gst_parse_bin_from_description),
(gst_parse_bin_from_description_full):
* gst/gstutils.h:
* gst/parse/grammar.y:
* gst/parse/types.h:
* win32/common/libgstreamer.def:
Add new gst_parse_*_full API (#528178):
API: gst_parse_launch_full()
API: gst_parse_launchv_full()
API: gst_parse_bin_from_description_full()
API: gst_parse_context_new()
API: gst_parse_context_free()
API: gst_parse_context_get_missing_elements()
2008-05-24 15:33:53 +00:00
Tim-Philipp Müller
479a58ebfe gst/: More guards against bad input; typo fix; some minor clean-ups.
Original commit message from CVS:
* gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
* gst/gstutils.c: (gst_parse_bin_from_description):
* gst/parse/grammar.y: (graph):
More guards against bad input; typo fix; some minor clean-ups.
2008-05-22 15:38:54 +00:00
Tim-Philipp Müller
1d5691d033 gst/gstpad.c: Move size sanity check to the right place: downstream may return a buffer with a smaller size if the bu...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_alloc_buffer_full):
Move size sanity check to the right place: downstream may return
a buffer with a smaller size if the buffer caps are different than
the requested ones, as may happen when doing reverse negotiation.
2008-05-21 18:33:08 +00:00
Wim Taymans
cc8334905c Don't use gst_element_get_pad().
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_load_and_link):
* gst/gstutils.c: (gst_element_link_pads),
(gst_element_unlink_pads):
* libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
(gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
(gst_check_teardown_sink_pad),
(gst_check_element_push_buffer_list):
* tests/check/elements/fakesink.c: (GST_START_TEST):
* tests/check/elements/filesink.c:
* tests/check/elements/filesrc.c: (GST_START_TEST):
* tests/check/elements/multiqueue.c: (setup_multiqueue),
(mq_sinkpad_to_srcpad):
* tests/check/elements/tee.c: (GST_START_TEST):
* tests/check/generic/sinks.c: (GST_START_TEST):
* tests/check/gst/gstbin.c: (GST_START_TEST):
* tests/check/gst/gstevent.c: (GST_START_TEST):
* tests/check/gst/gstghostpad.c: (GST_START_TEST):
* tests/check/gst/gstpipeline.c: (GST_START_TEST):
* tests/check/gst/gstquery.c: (GST_START_TEST):
* tests/check/gst/gstutils.c: (GST_START_TEST):
* tests/check/libs/basesrc.c: (GST_START_TEST):
* tests/check/pipelines/parse-launch.c: (run_delayed_test),
(gst_parse_test_element_change_state):
Don't use gst_element_get_pad().
2008-05-21 15:57:52 +00:00
Wim Taymans
06eeefd70b gst/gstclock.c: Fix debug of the new clock rate.
Original commit message from CVS:
* gst/gstclock.c: (gst_clock_set_calibration):
Fix debug of the new clock rate.
2008-05-21 15:49:21 +00:00
Tim-Philipp Müller
fcc9f0b091 gst/gstpad.c: Add sanity check to make sure we don't get smaller buffers than requested (and fallback to normal buffe...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
Add sanity check to make sure we don't get smaller buffers
than requested (and fallback to normal buffer alloc if we do).
2008-05-19 11:59:34 +00:00
Tim-Philipp Müller
ffee4e6260 API: add gst_type_find_suggest_simple(), #533740.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttypefind.c: (gst_type_find_suggest_simple):
* gst/gsttypefind.h:
* win32/common/libgstreamer.def:
API: add gst_type_find_suggest_simple(), #533740.
2008-05-19 10:46:44 +00:00
Tim-Philipp Müller
ceb208f1b5 gst/gsttypefind.h: Tabs to spaces, oh yes!
Original commit message from CVS:
* gst/gsttypefind.h:
Tabs to spaces, oh yes!
2008-05-18 18:53:50 +00:00
Tim-Philipp Müller
9ac2434c1a gst/gstevent.c: Document that gst_event_new_tag() and gst_event_new_navigation() take ownership of the taglist/struct...
Original commit message from CVS:
* gst/gstevent.c:
Document that gst_event_new_tag() and gst_event_new_navigation()
take ownership of the taglist/structure passed to them. (#533635).
2008-05-18 11:35:43 +00:00
Sebastian Dröge
2aab2757c0 gst/gstmessage.*: Mark the debug string parameters as const. Fixes bug #533490.
Original commit message from CVS:
* gst/gstmessage.c: (gst_message_new_error),
(gst_message_new_warning), (gst_message_new_info):
* gst/gstmessage.h:
Mark the debug string parameters as const. Fixes bug #533490.
2008-05-17 13:54:52 +00:00
Stefan Kost
f6b8cf77d9 gst/gstinfo.c: Explain why we copy the list.
Original commit message from CVS:
* gst/gstinfo.c:
Explain why we copy the list.
* gst/gstpipeline.c:
Improve docs.
* gst/gstutils.c:
Add one debug-log statement to help tracing probelms with linking pads.
2008-05-14 18:17:34 +00:00
Wim Taymans
98db43c6f0 gst/gstpad.c: Release pad lock before calling out to avoid a possible deadlock.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_peer_accept_caps):
Release pad lock before calling out to avoid a possible deadlock.
2008-05-14 13:52:59 +00:00
Wim Taymans
363148faf4 gst/parse/grammar.y: Remove unneeded value unset.
Original commit message from CVS:
* gst/parse/grammar.y:
Remove unneeded value unset.
* tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
Add unit test for de/serialization of caps.
2008-05-14 10:22:17 +00:00
Tim-Philipp Müller
077450a434 No, let's not use g_slice_{dup|copy} here, since they only exist since GLib 2.14 and we still depend only on >= 2.12....
Original commit message from CVS:
* gst/gstsegment.c:
* tests/check/gst/gstsegment.c:
No, let's not use g_slice_{dup|copy} here, since they only exist
since GLib 2.14 and we still depend only on >= 2.12. Also add
unit test for gst_segment_copy().
2008-05-09 20:48:24 +00:00
Tim-Philipp Müller
7c0437a9da gst/gstutils.h: Try to fix 'dereferencing type-punned pointer will break strict aliasing rules' warnings with C++ com...
Original commit message from CVS:
* gst/gstutils.h: (GST_BOILERPLATE_FULL):
Try to fix 'dereferencing type-punned pointer will break strict
aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
changed the default GType typedef from gulong to gsize at some point,
but kept GType typedef'ed to gulong for C++ for ABI reasons; the
g_once_* functions all take a gsize * though, so work around the type
mismatch for C++ by doing everything in gsize and casting to GType
later.
2008-05-09 18:25:44 +00:00
Ole André Vadla Ravnås
867e9c9191 gst/gstinfo.h (GST_FUNCTION): Reverted GST_FUNCTION to the old version as we don't want the full signature in C++ cod...
Original commit message from CVS:
* gst/gstinfo.h (GST_FUNCTION):
Reverted GST_FUNCTION to the old version as we don't want the
full signature in C++ code. Also added support for MSVC.
2008-05-08 14:23:16 +00:00
Sebastian Dröge
416a8725f4 gst/gstutils.h: Intern the type name string, similar to what G_DEFINE_TYPE does.
Original commit message from CVS:
* gst/gstutils.h:
Intern the type name string, similar to what G_DEFINE_TYPE does.
2008-05-08 11:37:03 +00:00
Sebastian Dröge
4cfe6ec1b9 gst/gstutils.h: Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
Original commit message from CVS:
* gst/gstutils.h:
Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
2008-05-08 11:27:56 +00:00
Ole André Vadla Ravnås
f1bcc9c8a7 gst/gstinfo.c (gst_debug_log_valist): Improved the __FILE__ part of debug output for MSVC.
Original commit message from CVS:
* gst/gstinfo.c (gst_debug_log_valist):
Improved the __FILE__ part of debug output for MSVC.
2008-05-07 19:24:44 +00:00
Ole André Vadla Ravnås
bbca7f21d7 gst/gstinfo.h (GST_FUNCTION): Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
Original commit message from CVS:
* gst/gstinfo.h (GST_FUNCTION):
Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
2008-05-07 18:51:22 +00:00
Sebastian Dröge
e9e0d0f0eb Don't allow negative sizes when allocating new buffers.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_alloc_buffer_full):
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_prepare_output_buffer):
Don't allow negative sizes when allocating new buffers.
Fixes bug #461253.
2008-05-06 08:43:57 +00:00
Sjoerd Simons
e0a92a0604 gst/gstbus.c: Don't print a warning if the queue is empty when we try to pop here. That could happen if another threa...
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon net>
* gst/gstbus.c: (gst_bus_source_dispatch):
Don't print a warning if the queue is empty when we try to pop
here. That could happen if another thread or callback set the
bus to flushing between the source's check/prepare and the
dispatch being called (#531538).
2008-05-05 16:47:29 +00:00
Sebastian Dröge
a8d43712da gst/gstclock.c: Make some checks actually useful.
Original commit message from CVS:
* gst/gstclock.c: (gst_clock_set_calibration):
Make some checks actually useful.
* gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
Remove some unused code. Unsigned integers tend to be >= 0.
2008-05-04 14:25:07 +00:00
Tim-Philipp Müller
aac27f1d5f gst/gstminiobject.c: Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this function was not in the uns...
Original commit message from CVS:
* gst/gstminiobject.c: (gst_value_get_mini_object):
Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
function was not in the unscheduled 0.10.19 release.
2008-05-03 19:23:43 +00:00
Tim-Philipp Müller
31e43e26f0 gst/gstregistry.c: Only print one log message per non-plugin file.
Original commit message from CVS:
* gst/gstregistry.c: (gst_registry_scan_path_level):
Only print one log message per non-plugin file.
2008-05-03 19:13:47 +00:00
Tim-Philipp Müller
31c5f8a6ce gst/gstinfo.c: Fix alignment of debug log columns on 64-bit.
Original commit message from CVS:
* gst/gstinfo.c: (gst_debug_log_default):
Fix alignment of debug log columns on 64-bit.
2008-05-03 19:08:50 +00:00
Sebastian Dröge
64b6f63c64 gst/gstdebugutils.c: Remove some code that is unused after Stefan's refactoring and uses uninitialized variables now,...
Original commit message from CVS:
* gst/gstdebugutils.c: (debug_dump_element_pad):
Remove some code that is unused after Stefan's refactoring and uses
uninitialized variables now, resulting in a compiler warning.
2008-05-02 10:12:33 +00:00
Tim-Philipp Müller
2d8bbf7127 gst/gstregistry.c: Run g_str_has_suffix() only on the file name, not the entire file path.
Original commit message from CVS:
* gst/gstregistry.c: (gst_registry_scan_path_level):
Run g_str_has_suffix() only on the file name, not the
entire file path.
2008-05-01 13:03:51 +00:00
Stefan Kost
ba8f586a9c gst/gstdebugutils.c: Refactor code and fix handling of ghostpads and their proxypads.
Original commit message from CVS:
* gst/gstdebugutils.c:
Refactor code and fix handling of ghostpads and their proxypads.
2008-04-30 07:56:39 +00:00
Wim Taymans
cf45b88349 Add method to conveniently check the name of a custom event with gst_event_has_name().
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstevent.c: (gst_event_has_name):
* gst/gstevent.h:
* tests/check/gst/gstevent.c: (GST_START_TEST):
Add method to conveniently check the name of a custom event with
gst_event_has_name().
Reformat the event docs so that related methods are put together instead
of the default alphabetical sort.
Update unit test with new method.
API: GstEvent::gst_event_has_name()
2008-04-29 11:23:51 +00:00
Sebastian Dröge
37dbd31f72 gst/gst.c: Register GstClock type from a type-safe context. Fixes bug #530317.
Original commit message from CVS:
* gst/gst.c:
Register GstClock type from a type-safe context. Fixes bug #530317.
2008-04-28 09:21:33 +00:00
Antoine Tremblay
d102d88729 gst/gstbin.c: Use the GLib stuff to create a private structure.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
(gst_bin_dispose):
Use the GLib stuff to create a private structure.
Add some locking around some dispose methods to make them a little
safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
2008-04-25 17:54:28 +00:00
Tim-Philipp Müller
e46f846c1f Ref some more classes in gst_init() to work around thread-safety issues in pre-2.16 GLibs, and add basic unit test.
Original commit message from CVS:
* gst/gst.c: (init_post), (gst_deinit):
* tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
(test_concurrent_create), (gst_pipeline_suite):
Ref some more classes in gst_init() to work around thread-safety
issues in pre-2.16 GLibs, and add basic unit test.
2008-04-25 10:01:46 +00:00
Jason Zhao
d9c9c264e2 Enable/disable scan_and_update_registry() based on commandline switch or environment variable. Fixes #520468.
Original commit message from CVS:
patch by: Jason Zhao <e3423c@motorola.com>
* docs/gst/running.xml:
* gst/gst.c:
Enable/disable scan_and_update_registry() based on commandline switch
or environment variable. Fixes #520468.
* ChangeLog:
Fix typo in my previous commit.
2008-04-24 15:14:54 +00:00
Stefan Kost
c7acfbaf43 gst/gstregistrybinary.c: Add a warning of we hit unhandled factories when saving.
Original commit message from CVS:
* gst/gstregistrybinary.c:
Add a warning of we hit unhandled factories when saving.
More debug logging detail, but move to LOG category.
2008-04-24 08:27:59 +00:00
Stefan Kost
31d6cc27cc gst/gstregistry.c: Tell the *truth* when improving the documentation.
Original commit message from CVS:
* gst/gstregistry.c:
Tell the *truth* when improving the documentation.
2008-04-24 06:46:54 +00:00
Sebastian Dröge
763e6a7d89 gst/gstelementfactory.c: Unref the factory after it was used the last time, not before.
Original commit message from CVS:
* gst/gstelementfactory.c: (gst_element_factory_make):
Unref the factory after it was used the last time, not before.
* gst/gstindexfactory.c: (gst_index_factory_make):
Improve debugging a bit and don't leak a ref to the index factory with
each call.
2008-04-23 14:54:20 +00:00
Stefan Kost
4b87b40779 gst/gstregistry.c: Improve the documentation.
Original commit message from CVS:
* gst/gstregistry.c:
Improve the documentation.
2008-04-23 13:55:01 +00:00
Stefan Kost
6e367f59e2 gst/gstsegment.c: The glib macro seems to be borked. Use g_slice_copy directly and cast in the hope that this fixes t...
Original commit message from CVS:
* gst/gstsegment.c:
The glib macro seems to be borked. Use g_slice_copy directly and cast
in the hope that this fixes the warning on 64bit.
2008-04-23 10:14:38 +00:00
Stefan Kost
7bb59c7efc gst/gstsegment.c: Document the new function. Use g_slice_dup() (no need for gst_segment_init()).
Original commit message from CVS:
* gst/gstsegment.c:
Document the new function. Use g_slice_dup() (no need for
gst_segment_init()).
2008-04-23 07:08:53 +00:00
Stefan Kost
012d5584ff docs/gst/gstreamer-sections.txt: Move GParamSepc macros to standart section.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
Move GParamSepc macros to standart section.
* gst/gstbin.c:
Dn't document _get_type - its in private section in docs anyway and
this doc-blob was incomplete.
* gst/gstclock.h:
Fix wrong symbol names in docs.
* gst/gstmacros.h:
Add once doc sentence.
* tests/check/gst/.cvsignore:
Ignore more.
2008-04-23 06:57:30 +00:00
Tim-Philipp Müller
2109e33da1 gst/gsturi.c: Fix leak: g_strdown operates on the string in place, while g_ascii_strdown() returns a newly-allocated ...
Original commit message from CVS:
* gst/gsturi.c: (gst_uri_get_protocol):
Fix leak: g_strdown operates on the string in place, while
g_ascii_strdown() returns a newly-allocated string.
2008-04-20 16:32:03 +00:00
Sebastian Dröge
b7462645e5 gst/gsttaglist.c: Use g_value_take_string() instead of the deprecated g_value_set_string_take_ownership().
Original commit message from CVS:
* gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
Use g_value_take_string() instead of the deprecated
g_value_set_string_take_ownership().
2008-04-19 16:05:58 +00:00
Sebastian Dröge
c7a7548481 gst/gstregistrybinary.c: Return the old CRC instead of 0 if we give a NULL buffer or a buffer with a length of 0.
Original commit message from CVS:
* gst/gstregistrybinary.c: (_gst_crc32):
Return the old CRC instead of 0 if we give a NULL buffer
or a buffer with a length of 0.
2008-04-19 15:42:19 +00:00
Sebastian Dröge
16cd84e633 gst/gsturi.c: A valid URI scheme can also include '+', '-' and '.' additional to alphanumeric characters as per RFC 3...
Original commit message from CVS:
* gst/gsturi.c: (gst_uri_protocol_check_internal),
(gst_uri_get_protocol), (gst_uri_has_protocol),
(gst_uri_construct), (gst_uri_handler_set_uri):
A valid URI scheme can also include '+', '-' and '.' additional
to alphanumeric characters as per RFC 3986 Section 3.1.
Handle URI schemes case insensitive in all places and convert
to lower-case when constructing an URI or setting an URI with
the GstURIHandler interface. Fixes bug #528868.
All elements can still assume (as before) that they will
get passed URIs with a lower-case URI scheme by the GstURIHandler
interface.
2008-04-19 15:36:20 +00:00
Tim-Philipp Müller
7abf3b41af gst/: Don't use g_atomic_set_int where it's not needed.
Original commit message from CVS:
* gst/gstcaps.c: (gst_static_caps_get):
* gst/gstclock.c: (gst_clock_entry_new):
Don't use g_atomic_set_int where it's not needed.
2008-04-17 10:09:39 +00:00
Wim Taymans
5b5be74fc5 gst/: Fix 2 caps leaks.
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_deserialize_caps):
* gst/parse/grammar.y:
Fix 2 caps leaks.
2008-04-17 08:45:19 +00:00
Sebastian Dröge
1479f03d7f gst/gstutils.c: Use g_atomic_int_set() here too instead of assignment + g_atomic_int_get().
Original commit message from CVS:
* gst/gstutils.c: (gst_atomic_int_set):
Use g_atomic_int_set() here too instead of assignment +
g_atomic_int_get().
2008-04-17 08:34:14 +00:00
Sebastian Dröge
3e914a83b3 gst/gstutils.*: API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used now that we depend on new enou...
Original commit message from CVS:
* gst/gstutils.c:
* gst/gstutils.h:
API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
now that we depend on new enough GLib.
* gst/gstcaps.c: (gst_static_caps_get):
* gst/gstclock.c: (gst_clock_entry_new):
* gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
(gst_debug_set_default_threshold), (_gst_debug_category_new),
(gst_debug_category_set_threshold):
* libs/gst/base/gstbasesink.c: (gst_base_sink_init),
(gst_base_sink_set_qos_enabled):
* libs/gst/net/gstnettimeprovider.c:
(gst_net_time_provider_set_property):
Use g_atomic_int_set() instead of gst_atomic_int_set().
2008-04-17 07:14:46 +00:00
Stefan Kost
2f6b52d6f3 gst/gstquery.c: Also use G_GINT64_CONSTANT for the queries.
Original commit message from CVS:
* gst/gstquery.c:
Also use G_GINT64_CONSTANT for the queries.
2008-04-16 18:48:03 +00:00
Stefan Kost
b35809d96f gst/gstmessage.c: Use G_GINT64_CONSTANT in varargs function.
Original commit message from CVS:
* gst/gstmessage.c:
Use G_GINT64_CONSTANT in varargs function.
2008-04-16 18:38:16 +00:00
Sebastian Dröge
89b0dc88d2 gst/gstregistrybinary.c: Initialize the registry magic with zeroes.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
Initialize the registry magic with zeroes.
2008-04-16 15:51:17 +00:00
Sebastian Dröge
550392c6da gst/gstregistrybinary.*: Add crc32 checksum to the binary registry file and check this before accepting a registry file.
Original commit message from CVS:
* gst/gstregistrybinary.c: (_gst_crc32),
(gst_registry_binary_write),
(gst_registry_binary_initialize_magic),
(gst_registry_binary_write_cache),
(gst_registry_binary_check_magic),
(gst_registry_binary_read_cache):
* gst/gstregistrybinary.h:
Add crc32 checksum to the binary registry file and check this before
accepting a registry file.
Also free the data list when writing to the registry file fails.
2008-04-16 14:18:58 +00:00
Sebastian Dröge
dc71d29b62 gst/gstregistrybinary.c: If an element supports the Uri interface, returns a valid pointer to the supported URI proto...
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin):
If an element supports the Uri interface, returns a valid pointer
to the supported URI protocols but this pointer contains nothing
don't try to save that as it will corrupt the registry.
Don't unref the plugin if we added it to the registry already but
fail to load a feature as gst_registry_add_plugin() takes ownership
of the plugin.
Improve debugging a bit.
2008-04-16 13:16:44 +00:00
Stefan Kost
a9a7cf2c79 gst/gsttaglist.h: Clarify some tag item docs after discussion on irc.
Original commit message from CVS:
* gst/gsttaglist.h:
Clarify some tag item docs after discussion on irc.
2008-04-16 08:30:57 +00:00
Stefan Kost
4a638e29d9 Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec docs to own section.
Original commit message from CVS:
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* gst/gstparamspecs.c:
* gst/gstparamspecs.h:
Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
docs to own section.
* gst/gstvalue.c:
This now only documents GValue.
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/controller/gstcontroller.h:
Remove GST_PARAM_CONTROLLABLE.
2008-04-15 06:16:33 +00:00
Sebastian Dröge
42a2ece0d2 gst/gstregistrybinary.c: Fix a typo in a debug message and revert change from yesterday as gst_registry_add_plugin() ...
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin):
Fix a typo in a debug message and revert change from yesterday as
gst_registry_add_plugin() will only fail if something is really wrong
already and we can't survive it anyway.
2008-04-14 12:12:22 +00:00
Tim-Philipp Müller
7518460315 gst/gst.c: Pre-register GstGError GType from a thread-safe context (fixes #527967); unref enum type classes in deinit.
Original commit message from CVS:
* gst/gst.c: (init_post), (gst_deinit):
Pre-register GstGError GType from a thread-safe context
(fixes #527967); unref enum type classes in deinit.
2008-04-14 08:48:50 +00:00
Rene Stadler
9530644a17 gst/gsttagsetter.c: Merging an empty list with another list in KEEP_ALL mode should yield an empty list as result and...
Original commit message from CVS:
Patch by: Rene Stadler <mail at renestadler de>
* gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
Merging an empty list with another list in KEEP_ALL mode should
yield an empty list as result and not the second list (#512578).
* tests/check/gst/gsttagsetter.c:
Add unit test for tag merge modes and the aforementioned bug.
2008-04-13 19:58:43 +00:00
Rene Stadler
7323fccbcc gst/gsttaglist.h: Fix description to match the order in the table (#512577).
Original commit message from CVS:
Patch by: Rene Stadler <mail at renestadler de>
* gst/gsttaglist.h:
Fix description to match the order in the table (#512577).
2008-04-13 18:50:05 +00:00
Sebastian Dröge
938da2d4e2 gst/gstregistrybinary.c: If gst_registry_add_plugin() fails our reference to the plugin is invalid so don't try to us...
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
If gst_registry_add_plugin() fails our reference to the plugin is
invalid so don't try to use it anymore and instead error out.
2008-04-13 13:54:55 +00:00
Julien Moutte
224b878ff7 Mac OS X love...
Original commit message from CVS:
2008-04-11  Julien Moutte  <julien@fluendo.com>

Mac OS X love...
* configure.ac: Merge platform specific defines, introduce a new
define on OS X to remember that forking when updating registry is
unsafe.
* docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
module.
* gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
is defined.
* gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
condition that leads to absolutely no plugins being registered on
OS X.
2008-04-11 09:27:44 +00:00
José Alburquerque
f273ee8c4b Add gst_pad_add_*_probe_full() functions with a notify callback that lets the caller free the data it passes to the p...
Original commit message from CVS:
Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
* gst/gstutils.c: (gst_pad_add_data_probe),
(gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
(gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
(gst_pad_add_buffer_probe_full):
* gst/gstutils.h:
* docs/gst/gstreamer-sections.txt:
* win32/common/libgstreamer.def:
Add gst_pad_add_*_probe_full() functions with a notify callback that
lets the caller free the data it passes to the probe functions. This
is useful for bindings such as gst-python or gstreamermm (#526814).
API: gst_pad_add_data_probe_full
API: gst_pad_add_buffer_probe_full
API: gst_pad_add_event_probe_full
* tests/check/gst/gstutils.c:
Add minimal unit test to make sure freeing the data actually works
as expected.
* tests/benchmarks/.cvsignore:
Random cvsignore addendum.
2008-04-10 20:46:51 +00:00
Tim-Philipp Müller
3a7f2a7040 gst/gstdebugutils.h: Mention GstDebugGraphDetails enum type in doc blurb so we get a link to it in the docs (since th...
Original commit message from CVS:
* gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
(GST_DEBUG_BIN_TO_DOT_FILE):
Mention GstDebugGraphDetails enum type in doc blurb so we get a link
to it in the docs (since these are macros the types of the arguments
won't be shown in the docs otherwise).
2008-04-10 19:13:46 +00:00
Stefan Kost
dbbdcf5dd3 gst/gstpad.c: Do not abort on out of memory for pad_alloc_buffer.
Original commit message from CVS:
* gst/gstpad.c:
Do not abort on out of memory for pad_alloc_buffer.
2008-04-10 14:10:51 +00:00
José Alburquerque
9b3f546832 Expose gst_segment_copy() to make things easier for the c++ bindings.
Original commit message from CVS:
Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
* docs/gst/gstreamer-sections.txt:
* gst/gstsegment.c:
* gst/gstsegment.h:
* win32/common/libgstreamer.def:
Expose gst_segment_copy() to make things easier for the c++ bindings.
Fixes #518932.
API: gst_segment_copy()
2008-04-09 22:37:22 +00:00
Tim-Philipp Müller
a5575a2819 gst/gst.c: Fix const position; ref GType classes for enum types to work around thread-safety issues in GLib versions ...
Original commit message from CVS:
* gst/gst.c: (gst_init_get_option_group), (init_post):
Fix const position; ref GType classes for enum types to work
around thread-safety issues in GLib versions < 2.16.
2008-04-09 21:27:40 +00:00
Wim Taymans
08beab1f20 docs/design/part-buffering.txt: Fix some typos and set the estimated total for push mode to -1.
Original commit message from CVS:
* docs/design/part-buffering.txt:
Fix some typos and set the estimated total for push mode to -1.
* gst/gstquery.c: (gst_query_new_buffering):
Set buffering-left to 0 as we're not buffering by default.
* libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
Implement BUFFERING query.
2008-04-09 18:26:15 +00:00
Milosz Derezynski
caff4eb9a6 gst/gsterror.*: Add two new error codes for encrypted content. Fixes #524659.
Original commit message from CVS:
Based on patch by: Milosz Derezynski <internalerror gmail com>
* gst/gsterror.c: (_gst_stream_errors_init):
* gst/gsterror.h:
Add two new error codes for encrypted content. Fixes #524659.
API: GST_STREAM_ERROR_DECRYPT
API: GST_STREAM_ERROR_DECRYPT_NOKEY
2008-04-09 17:34:54 +00:00
Tim-Philipp Müller
50a1828572 gst/gstquery.h: Fix typo.
Original commit message from CVS:
* gst/gstquery.h:
Fix typo.
* win32/common/libgstreamer.def:
Add new functions.
2008-04-09 13:15:33 +00:00
Wim Taymans
7293b3e7d7 Rename _avail -> _range
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstquery.c: (gst_query_parse_latency),
(gst_query_set_buffering_percent),
(gst_query_parse_buffering_percent),
(gst_query_set_buffering_range), (gst_query_parse_buffering_range):
* gst/gstquery.h:
Rename _avail -> _range
API: gst_query_set_buffering_range
API: gst_query_parse_buffering_range
2008-04-08 20:28:21 +00:00
Wim Taymans
1365624d74 Add busy field and quark for the buffering query so that the app can only use the query to see if buffering is in pro...
Original commit message from CVS:
* docs/design/part-buffering.txt:
* gst/gstquark.c:
* gst/gstquark.h:
* gst/gstquery.c: (gst_query_parse_latency),
(gst_query_new_buffering), (gst_query_set_buffering_percent),
(gst_query_parse_buffering_percent):
* gst/gstquery.h:
Add busy field and quark for the buffering query so that the app can
only use the query to see if buffering is in progress.
2008-04-08 20:17:49 +00:00
Wim Taymans
5e14412c47 Reorder the message docs and headers for clarity.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstmessage.c: (gst_message_set_buffering_stats),
(gst_message_parse_buffering_stats):
* gst/gstmessage.h:
* gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
(gst_query_parse_latency), (gst_query_new_buffering),
(gst_query_set_buffering_percent),
(gst_query_parse_buffering_percent),
(gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
(gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
* gst/gstquery.h:
Reorder the message docs and headers for clarity.
Add aditional buffering stats API for messages.
Add buffering query.
Convert some leftover queries to use GstQuark.
API: gst_message_set_buffering_stats
API: gst_message_parse_buffering_stats
API: GST_QUERY_BUFFERING
API: GstBufferingMode
API: gst_query_new_buffering
API: gst_query_set_buffering_percent
API: gst_query_parse_buffering_percent
API: gst_query_set_buffering_stats
API: gst_query_parse_buffering_stats
API: gst_query_set_buffering_avail
API: gst_query_parse_buffering_avail
2008-04-08 19:59:06 +00:00
Wim Taymans
6215f509c8 gst/gstmessage.c: Use GstQuark for messages.
Original commit message from CVS:
* gst/gstmessage.c: (gst_message_new_error),
(gst_message_new_warning), (gst_message_new_info),
(gst_message_new_buffering), (gst_message_new_state_changed),
(gst_message_new_clock_provide), (gst_message_new_clock_lost),
(gst_message_new_new_clock), (gst_message_new_segment_start),
(gst_message_new_segment_done), (gst_message_new_duration),
(gst_message_new_async_start), (gst_message_parse_buffering),
(gst_message_parse_state_changed),
(gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
(gst_message_parse_new_clock), (gst_message_parse_error),
(gst_message_parse_warning), (gst_message_parse_info),
(gst_message_parse_segment_start),
(gst_message_parse_segment_done), (gst_message_parse_duration),
(gst_message_parse_async_start):
Use GstQuark for messages.
2008-04-08 19:52:22 +00:00
Wim Taymans
9c5a343605 gst/gstquark.*: Add some more quarks needed for messages and queries.
Original commit message from CVS:
* gst/gstquark.c: (_priv_gst_quarks_initialize):
* gst/gstquark.h:
Add some more quarks needed for messages and queries.
2008-04-08 19:39:28 +00:00
Tim-Philipp Müller
ed1d95d425 gst/gstindex.c: Don't put descriptions into the nick field of a GEnumValue: it's not meant for that and some language...
Original commit message from CVS:
* gst/gstindex.c: (gst_index_resolver_get_type):
Don't put descriptions into the nick field of a GEnumValue: it's not
meant for that and some language bindings rely on the nick field to
construct constants and the like. Fixes #526705.
2008-04-07 13:27:32 +00:00
Damien Lespiau
2c3a6718be gst/gstpoll.c: Fix compilation of GstPoll with mingw32. Fixes bug #526236.
Original commit message from CVS:
Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
* gst/gstpoll.c:
Fix compilation of GstPoll with mingw32. Fixes bug #526236.
2008-04-05 10:58:11 +00:00
Sebastian Dröge
1e0128c47e configure.ac: Require GLib 2.12.
Original commit message from CVS:
* configure.ac:
Require GLib 2.12.
* gst/glib-compat-private.h:
* gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
* gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
Unconditionally use GSlice for allocation.
* gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
* gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
* gst/gststructure.c: (gst_structure_id_empty_new_with_size),
(gst_structure_free):
Use GSlice for allocation.
2008-04-01 13:55:20 +00:00
Sebastian Dröge
91ba942748 gst/parse/: Require a new enough flex and bison and remove the parser hacks to use a pre-regenerated version.
Original commit message from CVS:
* gst/parse/Makefile.am:
* gst/parse/grammar.tab.pre.c:
* gst/parse/grammar.tab.pre.h:
* gst/parse/lex._gst_parse_yy.pre.c:
Require a new enough flex and bison and remove the parser hacks to use
a pre-regenerated version.
2008-04-01 13:48:59 +00:00
Stefan Kost
b4c170a205 MacOS has plugins under .so or under .dylib. Add detection for MacOS and handle this case.
Original commit message from CVS:
* configure.ac:
* gst/gstregistry.c:
MacOS has plugins under .so or under .dylib. Add detection for MacOS
and handle this case.
* gst/gst.c:
Add a comment here describing, why we stat each plugin and not try to
be smart.
2008-03-31 13:47:22 +00:00
Stefan Kost
e2f65711ee gst/gst.c: Fix type in log message and add one to ease seeing how long registry cache verification takes.
Original commit message from CVS:
* gst/gst.c:
Fix type in log message and add one to ease seeing how long registry
cache verification takes.
* gst/gstregistry.c:
Only test plugin filenames against G_MODULE_SUFFIX.
2008-03-31 08:32:26 +00:00
Stefan Kost
4da82e9b62 gst/gstdebugutils.c: Improve handling ghost/proxy pads.
Original commit message from CVS:
* gst/gstdebugutils.c:
Improve handling ghost/proxy pads.
2008-03-31 07:49:26 +00:00
Stefan Kost
847e64d8ee Expose macro to docs and fix link to it.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstpad.c:
* gst/gstpad.h:
Expose macro to docs and fix link to it.
2008-03-27 19:13:45 +00:00
Mark Nauwelaerts
7850967084 Small documentation fixes. Fixes #523978.
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet be>
* gst/gstclock.h:
* libs/gst/base/gstbasesrc.h:
* libs/gst/base/gstbasetransform.c:
* libs/gst/check/gstcheck.c:
Small documentation fixes. Fixes #523978.
2008-03-24 16:44:25 +00:00
José Alburquerque
126b82fc47 gst/gstcaps.*: Constify the field gchar * params in set_simple and friends.
Original commit message from CVS:
Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
* gst/gstcaps.c: (gst_caps_set_simple),
(gst_caps_set_simple_valist), (gst_caps_intersect):
* gst/gstcaps.h:
Constify the field gchar * params in set_simple and friends.
Fixes #522326.
2008-03-24 10:33:41 +00:00
Wim Taymans
28188a3e6e gst/gstvalue.c: Transform a GstObject to a more meaningfull string that includes the object type in addition to its n...
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_transform_object_string):
Transform a GstObject to a more meaningfull string that includes the
object type in addition to its name.
2008-03-24 10:29:05 +00:00
Sebastian Dröge
c375cef8c0 gst/gstregistrybinary.c: Rename constant everywhere and don't forget one occurence.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write):
Rename constant everywhere and don't forget one occurence.
2008-03-23 11:40:54 +00:00
Sebastian Dröge
6c85176725 gst/gstregistrybinary.c: Align memory to the pointer size even if the architecture allows unaligned memory access. Un...
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write):
Align memory to the pointer size even if the architecture allows
unaligned memory access. Unaligned memory access usually comes with
performance penality.
2008-03-23 11:29:54 +00:00
Sebastian Dröge
79bd94558c gst/gstregistrybinary.c: Align memory to the pointer size instead of always 32 bit. Fixes unaligned memory accesses o...
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write),
(gst_registry_binary_check_magic),
(gst_registry_binary_load_pad_template),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin):
Align memory to the pointer size instead of always 32 bit. Fixes
unaligned memory accesses on ia64 and friends.
* gst/gstregistrybinary.h:
Bump binary registry format version for this as it changes the
format on those architectures that don't have unaligned access
and 64 bit pointers.
2008-03-23 11:23:30 +00:00
Sebastian Dröge
b0346dff44 Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and use it everywhere for GParamSpecs that use static...
Original commit message from CVS:
* docs/pwg/advanced-dparams.xml:
* docs/pwg/building-props.xml:
* docs/pwg/other-source.xml:
* gst/glib-compat.h:
* gst/gstbin.c: (gst_bin_class_init):
* gst/gstclock.c: (gst_clock_class_init):
* gst/gstindex.c: (gst_index_class_init):
* gst/gstobject.c: (gst_object_class_init):
* gst/gstpad.c: (gst_pad_class_init):
* gst/gstpipeline.c: (gst_pipeline_class_init):
* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_class_init):
* libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
* libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
(_gst_check_fault_handler_sighandler),
(_gst_check_fault_handler_setup), (gst_check_init):
* libs/gst/controller/gstcontroller.c:
(_gst_controller_class_init):
* libs/gst/controller/gstlfocontrolsource.c:
(gst_lfo_control_source_class_init):
* libs/gst/net/gstnetclientclock.c:
(gst_net_client_clock_class_init):
* libs/gst/net/gstnettimeprovider.c:
(gst_net_time_provider_class_init):
* plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
* plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
* plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
* plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
* plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
* plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
* plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
* plugins/elements/gstidentity.c: (gst_identity_class_init):
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
* plugins/elements/gstqueue.c: (gst_queue_class_init):
* plugins/elements/gsttee.c: (gst_tee_class_init):
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_class_init):
* plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
use it everywhere for GParamSpecs that use static strings (i.e. all).
This gives us less memory usage, fewer allocations and thus less
memory defragmentation. Fixes bug #523806.
2008-03-22 14:56:17 +00:00
Sebastian Dröge
7fe1bca96a API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
Original commit message from CVS:
* gst/gstminiobject.c: (gst_value_dup_mini_object),
(gst_param_spec_mini_object):
* gst/gstminiobject.h:
* win32/common/libgstreamer.def:
* docs/gst/gstreamer-sections.txt:
API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
GstParamSpecMiniObject into a public header for this.
This make GstMiniObject a bit more consistent with GObject and makes
it possible to extend the param specs.
gst_value_dup_mini_object is mainly useful for set_property methods.
Fixes bug #523798.
* tools/gst-inspect.c: (print_element_properties_info):
Print something useful for GstMiniObject properties and not just
"unknown type".
2008-03-22 14:51:17 +00:00
Sebastian Dröge
520791d270 Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent and add it to the (private part) of the docs to f...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
(gst_registry_binary_check_magic):
* gst/gstregistrybinary.h:
Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
and add it to the (private part) of the docs to fix the build.
2008-03-21 16:11:51 +00:00
Sebastian Dröge
63c01eeacb gst/gstregistrybinary.*: Don't use GST_MAJORMINOR for the binary registry version. Instead hardcode a value that must...
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
(gst_registry_binary_check_magic),
(gst_registry_binary_read_cache):
* gst/gstregistrybinary.h:
Don't use GST_MAJORMINOR for the binary registry version. Instead
hardcode a value that must be changed whenever the format changes
in an incompatible way.
Also don't GST_ERROR when there is a version mismatch, just
regenerate the registry silently.
2008-03-21 15:52:14 +00:00
Ole André Vadla Ravnås
bf20f01fba Add new function gst_poll_fd_ignored() for improved Windows compatibility.
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås
<ole dot andre dot ravnas at tandberg dot com>
* docs/gst/gstreamer-sections.txt:
* gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
(gst_poll_update_winsock_event_mask),
(gst_poll_prepare_winsock_active_sets),
(gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
(gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
(gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
(gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
(gst_poll_check_ctrl_commands), (gst_poll_wait):
* gst/gstpoll.h:
* win32/common/libgstreamer.def:
Add new function gst_poll_fd_ignored() for improved Windows
compatibility.
Various minor fixes and cleanups. See #520808.
2008-03-18 10:54:52 +00:00
Tim-Philipp Müller
ede8ee12bb gst/gstindex.*: Don't free key strings which we don't own. Fixes crash in gst_index_entry_free() (#522741).
Original commit message from CVS:
* gst/gstindex.c: (gst_index_entry_free):
* gst/gstindex.h:
Don't free key strings which we don't own. Fixes crash in
gst_index_entry_free() (#522741).
* tests/check/Makefile.am:
* tests/check/gst/.cvsignore:
* tests/check/gst/gstindex.c: (test_index_entries),
(gst_index_suite), (gst_index):
Add unit test for the above.
2008-03-17 10:21:59 +00:00
Ole André Vadla Ravnås
8a6042989a Remove GstPollMode from the API, it does not make sense to let the application control this.
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås
<ole dot andre dot ravnas at tandberg dot com>
* docs/gst/gstreamer-sections.txt:
* gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
(gst_poll_update_winsock_event_mask), (gst_poll_new),
(gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
(gst_poll_remove_fd), (gst_poll_fd_ctl_write),
(gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
(gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
(gst_poll_fd_can_write), (gst_poll_wait),
(gst_poll_set_controllable), (gst_poll_restart),
(gst_poll_set_flushing):
* gst/gstpoll.h:
* libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
* libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
(gst_net_time_provider_new):
* plugins/elements/gstfdsink.c: (gst_fd_sink_start):
* plugins/elements/gstfdsrc.c: (gst_fd_src_start):
* tests/benchmarks/gstpollstress.c: (main):
* tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
Remove GstPollMode from the API, it does not make sense to let the
application control this.
Add support for Win32.
Fix the testsuite. Fixes #520671.
2008-03-07 15:39:45 +00:00
Ole André Vadla Ravnås
7185de8a67 gst/gstregistrybinary.c: Include io.h for write() and close() when building with MSVC. Fixes bug #520877.
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås
<ole dot andre dot ravnas at tandberg dot com>
* gst/gstregistrybinary.c:
Include io.h for write() and close() when building with MSVC. Fixes
bug #520877.
2008-03-07 13:19:12 +00:00
Stefan Kost
3c9dda6df9 Move registry backend API to private headers where we can. Add fixme-0.11 comments for the others. Add stubs for the ...
Original commit message from CVS:
* configure.ac:
* gst/gst_private.h:
* gst/gstconfig.h.in:
* gst/gstregistry.h:
* gst/gstregistrybinary.c:
* win32/common/gstconfig.h:
Move registry backend API to private headers where we can. Add
fixme-0.11 comments for the others. Add stubs for the xml backend when
using the binary to ensure they functions exists (they should not be
used though). Fixes #520756.
2008-03-07 11:12:59 +00:00
Edward Hervey
fdeea4f9dc Switch to using portabl gsize/gssize instead of size_t/ssize_t
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write),
(gst_registry_binary_read_cache):
* gst/gstregistryxml.c: (gst_registry_save):
* gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
* plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
* plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
(gst_file_src_map_small_region), (gst_file_src_create_mmap):
Switch to using portabl gsize/gssize instead of size_t/ssize_t
Fixes #520152
2008-03-03 18:42:04 +00:00
Edward Hervey
6148f05b6e gst/gstminiobject.c: Import gst_private.h before any other header that might include other glib headers. This fixes t...
Original commit message from CVS:
* gst/gstminiobject.c:
Import gst_private.h before any other header that might include other
glib headers. This fixes the build on windows using native compilers.
2008-03-03 18:14:33 +00:00
Tim-Philipp Müller
5db802f98f Fix broken use of config.h-defined preprocessor directive in a public header file. Add a corresponding define to gstc...
Original commit message from CVS:
* configure.ac:
* gst/gstconfig.h.in:
* gst/gstregistry.h:
Fix broken use of config.h-defined preprocessor directive in a public
header file. Add a corresponding define to gstconfig.h, since we can't
really remove those function declarations from the header file now
(or can we? and why are they there in the first place?).
2008-03-03 14:43:26 +00:00
Andy Wingo
391d9dfc9e tests/check/gst/gststructure.c (GST_START_TEST): Add a check for the new warning.
Original commit message from CVS:

2008-03-03  Andy Wingo  <wingo@pobox.com>

* tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
the new warning.

* gst/gststructure.c (gst_structure_from_string): Warn if
structure_from_string didn't consume the whole string, but the
caller did not provide an end pointer.
2008-03-03 10:07:21 +00:00
Fabrizio Gennari
96aa08f008 gst/gstregistryxml.c: Strings allocated by libxml2 should be freed with xmlFree(), not with g_free(). Fixes issues on...
Original commit message from CVS:
Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
* gst/gstregistryxml.c: (read_string), (load_feature):
Strings allocated by libxml2 should be freed with xmlFree(), not
with g_free(). Fixes issues on windows in certain contexts (#519698).
2008-03-01 11:21:30 +00:00
Tim-Philipp Müller
97bf2d2d78 gst/gstinterface.c: Don't crash if the element supports the interface queried, but does not implement GstImplementsIn...
Original commit message from CVS:
* gst/gstinterface.c: (gst_element_implements_interface):
Don't crash if the element supports the interface queried, but does
not implement GstImplementsInterface. Fixes #519584.
* tests/check/Makefile.am:
* tests/check/gst/.cvsignore:
* tests/check/gst/gstinterface.c:
Add unit test for the above.
2008-02-29 18:38:54 +00:00
Wim Taymans
4203512af9 gst/gstsegment.c: Improve some comment.
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_set_seek),
(gst_segment_to_stream_time):
Improve some comment.
Update variables where it makes more sense.
2008-02-29 15:22:34 +00:00
Rene Stadler
99867e9f16 gst/gsturi.c: Use the get_protocols_full vfunc if get_protocols is NULL. Fixes
Original commit message from CVS:
* gst/gsturi.c: (gst_uri_handler_get_protocols):
Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
URIHandlers implemented using language bindings.
2008-02-29 14:23:17 +00:00
Sebastian Dröge
58cc2ede0a And correct even more valid sparse warnings.
Original commit message from CVS:
* gst/gstelementfactory.h:
* tests/check/elements/fakesink.c:
* tests/check/elements/fakesrc.c: (setup_fakesrc):
* tests/check/elements/fdsrc.c: (setup_fdsrc):
* tests/check/elements/filesink.c: (setup_filesink):
* tests/check/elements/filesrc.c: (setup_filesrc):
* tests/check/elements/identity.c: (setup_identity):
* tests/check/elements/tee.c:
* tests/check/generic/sinks.c:
* tests/check/generic/states.c: (setup), (teardown):
* tests/check/gst/gst.c:
* tests/check/gst/gstabi.c:
* tests/check/gst/gstbin.c:
* tests/check/gst/gstbus.c: (pull_messages):
* tests/check/gst/gstcaps.c:
* tests/check/gst/gstelement.c:
* tests/check/gst/gstevent.c:
* tests/check/gst/gstghostpad.c:
* tests/check/gst/gstiterator.c:
* tests/check/gst/gstmessage.c:
* tests/check/gst/gstminiobject.c: (my_foo_init):
* tests/check/gst/gstobject.c: (thread_name_object),
(gst_object_suite):
* tests/check/gst/gstpad.c:
* tests/check/gst/gstplugin.c:
* tests/check/gst/gstpoll.c:
* tests/check/gst/gstquery.c:
* tests/check/gst/gstsegment.c:
* tests/check/gst/gststructure.c:
* tests/check/gst/gstsystemclock.c:
* tests/check/gst/gsttask.c:
* tests/check/gst/gstutils.c:
* tests/check/gst/gstvalue.c:
* tests/check/gst/struct_hppa.h:
* tests/check/gst/struct_i386.h:
* tests/check/gst/struct_ppc32.h:
* tests/check/gst/struct_ppc64.h:
* tests/check/gst/struct_x86_64.h:
* tests/check/libs/adapter.c: (create_and_fill_adapter):
* tests/check/libs/basesrc.c:
* tests/check/libs/controller.c: (GST_START_TEST):
* tests/check/libs/gdp.c:
* tests/check/libs/gstnetclientclock.c:
* tests/check/libs/gstnettimeprovider.c:
* tests/check/libs/libsabi.c:
* tests/check/libs/struct_hppa.h:
* tests/check/libs/struct_i386.h:
* tests/check/libs/struct_ppc32.h:
* tests/check/libs/struct_ppc64.h:
* tests/check/libs/struct_x86_64.h:
* tests/check/pipelines/cleanup.c:
* tests/check/pipelines/simple-launch-lines.c:
* tests/check/pipelines/stress.c:
And correct even more valid sparse warnings.
* win32/common/libgstreamer.def:
Add gst_poll_fd_init to the list of symbols.
2008-02-29 13:59:24 +00:00
Sebastian Dröge
b997b0545a Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static...
Original commit message from CVS:
* gst/gstconfig.h.in:
* libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
* libs/gst/check/gstcheck.c: (gst_check_log_message_func),
(gst_check_log_critical_func), (gst_check_drop_buffers),
(gst_check_element_push_buffer_list):
* libs/gst/controller/gstcontroller.c: (gst_controller_get),
(gst_controller_get_type):
* libs/gst/controller/gsthelper.c: (gst_object_control_properties),
(gst_object_get_controller), (gst_object_get_control_source):
* libs/gst/controller/gstinterpolationcontrolsource.c:
(gst_interpolation_control_source_new):
* libs/gst/controller/gstlfocontrolsource.c:
(gst_lfo_control_source_new):
* libs/gst/dataprotocol/dataprotocol.c:
(gst_dp_event_from_packet_0_2):
* plugins/elements/gstfdsrc.c:
* plugins/elements/gstmultiqueue.c:
* plugins/elements/gsttee.c:
* plugins/elements/gsttypefindelement.c:
* plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
(gst_file_index_add_association):
* plugins/indexers/gstmemindex.c:
* tests/benchmarks/gstpollstress.c: (mess_some_more):
* tests/check/elements/queue.c: (setup_queue):
* tests/check/gst/gstpipeline.c:
* tests/check/libs/collectpads.c: (setup), (teardown),
(gst_collect_pads_suite):
* tests/examples/adapter/adapter_test.c:
* tests/examples/metadata/read-metadata.c: (make_pipeline):
* tests/examples/xml/createxml.c:
* tests/examples/xml/runxml.c:
* tools/gst-inspect.c:
* tools/gst-run.c:
Correct all relevant warnings found by the sparse semantic code
analyzer. This include marking several symbols static, using
NULL instead of 0 for pointers, not using variable sized arrays
on the stack, moving variable declarations to the beginning of
a block and using "foo (void)" instead of "foo ()" for declarations.
2008-02-29 12:41:33 +00:00
Wim Taymans
a7bc443923 gst/gstpoll.*: Added Since tags.
Original commit message from CVS:
* gst/gstpoll.c: (gst_poll_fd_init):
* gst/gstpoll.h:
Added Since tags.
* plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
Use some more init macros.
2008-02-29 11:57:42 +00:00
Wim Taymans
3ae60c3b9d Add INIT macro and _init method for initializing the GstPollFD.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstpoll.c: (gst_poll_fd_init):
* gst/gstpoll.h:
Add INIT macro and _init method for initializing the GstPollFD.
2008-02-29 11:00:43 +00:00
Wim Taymans
d37ee60f47 configure.ac: Add checks for poll, ppoll and pselect.
Original commit message from CVS:
* configure.ac:
Add checks for poll, ppoll and pselect.
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
Add docs for GstPoll.
* gst/Makefile.am:
* gst/gst.h:
* gst/gstpoll.c: (find_index), (selectable_fds),
(pollable_timeout), (choose_mode), (pollfd_to_fd_set),
(fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
(gst_poll_set_mode), (gst_poll_get_mode),
(gst_poll_add_fd_unlocked), (gst_poll_add_fd),
(gst_poll_remove_fd), (gst_poll_fd_ctl_write),
(gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
(gst_poll_fd_has_closed), (gst_poll_fd_has_error),
(gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
(gst_poll_fd_can_write), (gst_poll_wait),
(gst_poll_set_controllable), (gst_poll_restart),
(gst_poll_set_flushing):
* gst/gstpoll.h:
Add generic poll abstraction. We ideally don't want to have this in core
here but in glib intead...
This code will be used in various network elements and ultimately for
the nanosecond precision monotonic clock (that's why it's here in core).
It'll allow us to implement cancelable socket operations for windows too.
* tests/check/Makefile.am:
* tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
(delayed_stop), (delayed_restart), (delayed_flush),
(delayed_control), (gst_poll_suite):
Add GstPoll unit test.
2008-02-27 18:00:04 +00:00
Tim-Philipp Müller
ef4fb687a9 gst/gstfilter.c: Improve documentation of gst_filter_run(). Fixes #518627.
Original commit message from CVS:
* gst/gstfilter.c:
Improve documentation of gst_filter_run(). Fixes #518627.
2008-02-25 15:37:36 +00:00
Sebastian Dröge
ca9663de37 gst/parse/lex._gst_parse_yy.pre.c: Update pre-generated flex files with flex 2.3.34.
Original commit message from CVS:
* gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
(_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
Update pre-generated flex files with flex 2.3.34.
2008-02-19 08:05:15 +00:00
Sebastian Dröge
60526f8dd6 gst/gstminiobject.c: Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more friendly to subclasses and not ...
Original commit message from CVS:
* gst/gstminiobject.c:
Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
friendly to subclasses and not require them to know all internals
of their parent class.
2008-02-19 05:49:32 +00:00
Stefan Kost
f09aa1dd08 gst/gstbuffer.c: Copy selected buffer-flags when creating subbuffers.
Original commit message from CVS:
* gst/gstbuffer.c:
Copy selected buffer-flags when creating subbuffers.
Fixes #516395.
2008-02-15 12:33:00 +00:00
Sebastian Dröge
109511b55b Properly chain up finalize functions to the parent class.
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
* gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
* gst/gstmessage.c: (gst_message_class_init),
(gst_message_finalize):
* gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
* plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
(gst_mmap_buffer_finalize):
Properly chain up finalize functions to the parent class.
2008-02-12 12:04:43 +00:00
Siavash Safi
fdd893cd17 gst/gstindex.*: Add new function with option to dispose of user_data in resolver.
Original commit message from CVS:
Patch by: Siavash Safi <siavash dot safi at gmail dot com>
* gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
(gst_index_set_resolver_full):
* gst/gstindex.h:
Add new function with option to dispose of user_data in resolver.
Actually call the dispose function when finalizing the object and not
just when changing the resolver/filter.
API: GstIndex::gst_index_set_resolver_full()
* docs/gst/gstreamer-sections.txt:
Add new function to docs. Fixes #515469.
2008-02-11 17:53:57 +00:00
Sebastian Dröge
0a5db2e479 gst/gstindex.c: Chain up finalize to the parent class. Fixes leaking the GstObject name and other things.
Original commit message from CVS:
* gst/gstindex.c: (gst_index_finalize):
Chain up finalize to the parent class. Fixes leaking the GstObject
name and other things.
2008-02-11 08:53:04 +00:00
Stefan Kost
502337a510 gst/gstconfig.h.in: Add 'id' for example.
Original commit message from CVS:
* gst/gstconfig.h.in:
Add 'id' for example.
* gst/gstpad.c:
* gst/gstutils.c:
* plugins/elements/gstfdsink.c:
Link to signals. Doc and comment fixes.
2008-02-06 12:21:05 +00:00
Tim-Philipp Müller
168e31f2e0 gst/: Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is unused and unimplemented; finally, it is plugi...
Original commit message from CVS:
* gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
* gst/gstpluginfeature.h: (GstPluginFeatureClass):
Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
unused and unimplemented; finally, it is plugin features, not
plugins, that have ranks.
2008-02-05 21:22:47 +00:00
Stefan Kost
3b88553fe6 gst/gstpluginfeature.h: Clarify GstRank range docs.
Original commit message from CVS:
* gst/gstpluginfeature.h:
Clarify GstRank range docs.
2008-02-05 19:42:31 +00:00
David Schleef
664bb4cfd1 gst/gst.c: Add a separate gst_deinitialized that prevents gst_init() from being called after gst_deinit(). Fixes #50...
Original commit message from CVS:
* gst/gst.c: Add a separate gst_deinitialized that prevents
gst_init() from being called after gst_deinit().  Fixes #509559
2008-02-05 18:37:08 +00:00
Sebastian Dröge
2faa733276 Revert previous changes to the behaviour of GstPadTemplates, etc and the possiblity to call them in class_init as it ...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
(gst_bin_class_init):
* gst/gstelement.c: (gst_element_base_class_init),
(gst_element_class_add_pad_template):
* gst/gstpadtemplate.c: (gst_pad_template_init):
* gst/gstpipeline.c: (gst_pipeline_get_type),
(gst_pipeline_base_init), (gst_pipeline_class_init):
* libs/gst/base/gstbasesink.c:
* libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
(gst_base_src_base_init), (gst_base_src_class_init):
* plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
(gst_capsfilter_class_init):
* plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
(gst_fake_sink_class_init):
* plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
(gst_fake_src_class_init):
* plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
(gst_fd_sink_class_init):
* plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
(gst_fd_src_class_init):
* plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
(gst_file_sink_class_init):
* plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
(gst_file_src_class_init):
* plugins/elements/gstidentity.c: (gst_identity_base_init),
(gst_identity_class_init):
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
(gst_multi_queue_class_init):
* plugins/elements/gstqueue.c: (gst_queue_base_init),
(gst_queue_class_init):
* plugins/elements/gsttee.c: (gst_tee_base_init),
(gst_tee_class_init):
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_base_init),
(gst_type_find_element_class_init):
* tests/check/gst/gstelement.c: (gst_element_suite):
Revert previous changes to the behaviour of GstPadTemplates, etc
and the possiblity to call them in class_init as it breaks too
many elements. Reopens bug #491501.
Should be applied again for 0.11, thus added a few FIXME 0.11 at
several places.
2008-02-05 14:15:15 +00:00
Thijs Vermeir
bb3dfba3f5 Be sure that we have a new copy of the caps and not reffed caps from a template
Original commit message from CVS:
* gst/gstpad.c:
* tests/check/gst/gstpad.c:
Be sure that we have a new copy of the caps and not
reffed caps from a template
2008-02-04 14:14:42 +00:00
Sebastian Dröge
9db28f8537 Don't use base_init where not absolutely necessary. For example it's not necessary anymore for adding pad templates o...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
* gst/gstpipeline.c: (gst_pipeline_get_type),
(gst_pipeline_class_init):
* libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
(gst_base_sink_class_init):
* libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
(gst_base_src_class_init):
* libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
(gst_base_transform_class_init):
* libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
(gst_collect_pads_class_init):
* libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
* libs/gst/net/gstnettimeprovider.c:
(gst_net_time_provider_base_init),
(gst_net_time_provider_class_init):
* plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
(gst_capsfilter_class_init):
* plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
(gst_fake_sink_class_init):
* plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
(gst_fake_src_class_init):
* plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
(gst_fd_sink_class_init):
* plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
(gst_fd_src_class_init):
* plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
(gst_file_sink_class_init):
* plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
(gst_file_src_class_init):
* plugins/elements/gstidentity.c: (gst_identity_base_init),
(gst_identity_class_init):
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
(gst_multi_queue_class_init):
* plugins/elements/gstqueue.c: (gst_queue_base_init),
(gst_queue_class_init):
* plugins/elements/gsttee.c: (gst_tee_base_init),
(gst_tee_class_init):
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_base_init),
(gst_type_find_element_class_init):
Don't use base_init where not absolutely necessary. For example it's
not necessary anymore for adding pad templates or setting element
details.
Leave empty base_init functions in several places as GST_BOILERPLATE
still defines and uses them.
2008-02-03 12:04:37 +00:00
Sebastian Dröge
86e45df860 gst/: Make it possible (and recommended) to set element details and add pad templates in the class_init functions by ...
Original commit message from CVS:
* gst/gstelement.c: (gst_element_base_class_init),
(gst_element_class_add_pad_template):
* gst/gstpadtemplate.c:
Make it possible (and recommended) to set element details and add
pad templates in the class_init functions by copying the details/pad
templates in GstElement's base_init.
Also make it possible to replace existing pad templates by adding
a new one with the same name. This was done in a hackish fashion
in same elements before already.
Don't reference pad templates that are added a second time. A
new pad template has a refcount of one and is not floating anymore
and to be owned by the element's class. Make this more explicit by
mentioning it in the docs of gst_element_class_add_pad_template().
These changes are backwards compatible. Fixes bug #491501.
* tests/check/gst/gstelement.c:
Add unit test for setting element details, adding pad templates and
replacing them in a subclass.
2008-02-03 10:48:01 +00:00
Julien Moutte
056d393725 docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
Original commit message from CVS:
2008-02-01  Julien Moutte  <julien@fluendo.com>

* docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the
docs
* gst/gstindex.c: (gst_index_class_init),
(gst_index_free_writer),
(gst_index_finalize), (gst_index_entry_free),
(gst_index_add_association): Fix memory leaks.
* gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
* plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
(gst_mem_index_free_format), (gst_mem_index_free_id),
(gst_mem_index_finalize): Fix memory leaks.
* win32/common/config.h: Updated to CVS HEAD.
2008-02-01 16:37:22 +00:00
Stefan Kost
a9b5a4d56c gst/parse/: Add delayed set-property. This allows to set properties on dynamicaly created objects (pads in videomxer).
Original commit message from CVS:
* gst/parse/grammar.tab.pre.c:
* gst/parse/grammar.tab.pre.h:
* gst/parse/grammar.y:
* gst/parse/lex._gst_parse_yy.pre.c:
Add delayed set-property. This allows to set properties on dynamicaly
created objects (pads in videomxer).
2008-02-01 12:10:17 +00:00
Thijs Vermeir
c595a566d9 gst/gstutils.c: Check if caps are not NULL (fix bug #510194)
Original commit message from CVS:
* gst/gstutils.c:
Check if caps are not NULL (fix bug #510194)
2008-02-01 11:27:32 +00:00
Wim Taymans
6f0a59aa13 gst/gstminiobject.c: When replacing a miniobject, do a quick equality check first so that we can avoid a ref/unref pair.
Original commit message from CVS:
* gst/gstminiobject.c: (gst_mini_object_replace):
When replacing a miniobject, do a quick equality check first so that we
can avoid a ref/unref pair.
2008-02-01 10:23:56 +00:00
Jan Schmidt
410af4fe50 gst/gstutils.c: Check if caps are not NULL (fix bug #510194)
Original commit message from CVS:
* gst/gstutils.c:
Check if caps are not NULL (fix bug #510194)
2008-01-30 13:12:24 +00:00
Thijs Vermeir
127256b59a gst/gstutils.c: Check if caps are not NULL (fix bug #510194)
Original commit message from CVS:
* gst/gstutils.c:
Check if caps are not NULL (fix bug #510194)
2008-01-30 12:55:42 +00:00
Cygwin Ports maintainer
d0bc121de5 gst/gstutils.c: Fix compilation on systems that have posix timers but no monotonic clock.
Original commit message from CVS:
* gst/gstutils.c:
Fix compilation on systems that have posix timers but no
monotonic clock.
Fixes: #512715
Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
dot net>
2008-01-30 12:44:13 +00:00
Tim-Philipp Müller
22cf61b56e gst/gstplugin.c: Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC again, which I broke two commits ago when ...
Original commit message from CVS:
* gst/gstplugin.c: (_gst_plugin_initialize):
Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
again, which I broke two commits ago when changing the API
of gst_plugin_register_static(): the g_list_foreach() in
_gst_plugin_register_static still assumed the old function
signature and would therefore fail (re-fixes #510187).
* gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
(_gst_plugin_register_static), (gst_plugin_register_static):
Revert the (technically correct) change to call g_thread_init() from
the pre-main() constructor. This will break programs which call
g_thread_init() without an if (!g_thread_supported()) guard in their
main function. We could just blame it on GLib or the application, but
it's probably best to just avoid this altogether and simply not use
any GLib functions here and use plain old malloc() with a simple
array to store the plugins to register later when gst_init() is
finally called (re-fixes #510187).
* tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
(GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
(plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
(GST_START_TEST), (gst_plugin_suite):
Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
works.
2008-01-20 15:04:33 +00:00
Tim-Philipp Müller
f1850d1fee gst/gstplugin.h: Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
Original commit message from CVS:
* gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
This makes gtk-doc complain, but results in slightly better
compiler errors. The old _gst_plugin_register_static() is
still guarded, so there'll be a compiler warning about that
instead. Fixes #510187 too.
2008-01-17 22:22:58 +00:00
Tim-Philipp Müller
33cd142292 gst/: Change API of gst_plugin_register_static() to not take a GstPluginDesc, but rather just take all the arguments ...
Original commit message from CVS:
* gst/gst.c: (init_post):
* gst/gstplugin.c: (_gst_plugin_register_static),
(gst_plugin_register_static), (_gst_plugin_initialize):
* gst/gstplugin.h: (GstPluginFilter):
Change API of gst_plugin_register_static() to not take
a GstPluginDesc, but rather just take all the arguments
in a GstPluginDesc directly. This is more intuitive and
avoids certain mistakes when porting code from
GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
Fixes #510187.
* tests/check/gst/gstplugin.c:
Fix up for changed API.
2008-01-17 22:17:15 +00:00
Stefan Kost
ed2d23a5c5 gst/gstminiobject.c: Spelling fixes for the API docs.
Original commit message from CVS:
* gst/gstminiobject.c:
Spelling fixes for the API docs.
2008-01-14 13:18:37 +00:00
Jan Schmidt
f2c36159ef gst/gst.c: _gst_trace_on is already provided by gsttrace.h, no need to declare it ourselves.
Original commit message from CVS:
* gst/gst.c:
_gst_trace_on is already provided by gsttrace.h, no need to declare
it ourselves.
* docs/libs/gstreamer-libs-sections.txt:
Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
and remove strange tcase_add_test which is outputting a warning.
* libs/gst/check/gstcheck.c:
* libs/gst/check/gstcheck.h:
Properly declare 'buffers', 'check_cond', 'check_mutex' extern
and define them in gstcheck.c instead of having every .c file whcih
includes gstcheck.h be defining its own copy and relying on symbol
interposing to marry them all, which doesn't work on Solaris.
* tests/check/elements/identity.c: (GST_START_TEST):
Don't define 'buffers' locally, it comes from libgstcheck.
* tests/check/generic/sinks.c: (send_buffer):
Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
* tests/check/gst/gststructure.c: (GST_START_TEST):
* tests/check/gst/gstsystemclock.c: (GST_START_TEST):
* tests/check/gst/gstutils.c: (GST_START_TEST):
* tests/check/gst/gstvalue.c: (GST_START_TEST):
Add a bunch of casts to make various constants fit the types
they're being assigned to.
2008-01-12 20:22:30 +00:00
Stefan Kost
2016723b87 gst/gstchildproxy.c: Improve docs and add some ideas for making this more general-purpose.
Original commit message from CVS:
* gst/gstchildproxy.c:
Improve docs and add some ideas for making this more general-purpose.
2008-01-10 21:06:58 +00:00
Tim-Philipp Müller
e1e8bace45 gst/gst_private.h: Add GST_CAT_TYPES, for consistency, and so that the other debug categories don't make fun of it. S...
Original commit message from CVS:
* gst/gst_private.h: (GST_CAT_TYPES):
Add GST_CAT_TYPES, for consistency, and so that the other
debug categories don't make fun of it. Spotted by Saur on IRC.
2008-01-10 15:55:32 +00:00
Sebastian Dröge
3749018bf6 gst/parse/Makefile.am: Move types.h from EXTRA_DIST to noinst_HEADERS.
Original commit message from CVS:
* gst/parse/Makefile.am:
Move types.h from EXTRA_DIST to noinst_HEADERS.
2008-01-10 13:03:35 +00:00
Tim-Philipp Müller
4a3f163052 API: add gst_plugin_register_static() and deprecate
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gst.c: (init_post):
* gst/gstplugin.c: (_gst_plugin_register_static),
(gst_plugin_register_static), (_gst_plugin_initialize),
(gst_plugin_register_func):
* gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
API: add gst_plugin_register_static() and deprecate
GST_PLUGIN_DEFINE_STATIC, since it's not portable
(#498924).
Also, in _gst_plugin_register_static(), make sure to call
g_thread_init() before calling GLib functions such as
g_list_append() if we're not initialised yet, since that
may lead to random crashes with older GSlice/GLib versions.
* tests/check/gst/gstplugin.c:
Adapt unit test to above changes.
2008-01-09 18:23:39 +00:00
Tim-Philipp Müller
d5d69b9475 gst/: Yet another gratuitous GString micro-optimisation: add a (private) function that serialises a structure appendi...
Original commit message from CVS:
* gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
* gst/gstcaps.c: (gst_caps_to_string):
* gst/gststructure.c: (GST_ASCII_IS_STRING),
(priv_gst_structure_append_to_gstring), (gst_structure_to_string):
Yet another gratuitous GString micro-optimisation: add a (private)
function that serialises a structure appending to an existing
GString, so that when we serialise caps we don't need to alloc+free
a throwaway GString for each structure (each of which also entailing
multiple reallocs on the way); also use g_string_sized_new() in
various places with an approximate string length to avoid reallocs
within GString. See #500143.
2008-01-09 16:36:34 +00:00
Tim-Philipp Müller
73808617cf gst/gststructure.c: Always check UTF-8 conformance of structure strings and not only if the debugging system is enabl...
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_id_set_value):
Always check UTF-8 conformance of structure strings and not only
if the debugging system is enabled; reasoning: the behaviour of
the actual code shouldn't really change depending on whether the
debugging system is enabled or not (#508291).
2008-01-09 15:05:21 +00:00
Peter Kjellerstedt
b85b7ff0cf gst/gstclock.h: Cast the results from the timeval/spec_to_time macros to what the docs say it casts to, a GstClockTim...
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj axis com>
* gst/gstclock.h:
Cast the results from the timeval/spec_to_time macros to what the
docs say it casts to, a GstClockTime. fixes #508175.
2008-01-09 12:22:22 +00:00
Wim Taymans
c7d40b0a25 gst/gstbuffer.c: Update some comments.
Original commit message from CVS:
* gst/gstbuffer.c:
Update some comments.
* tools/gst-inspect.c: (print_element_properties_info):
Improve printing of flags.
2008-01-09 12:19:31 +00:00
Tim-Philipp Müller
2e628be2c2 gst/gstdebugutils.c: Log the reason why fopen fails in addition to the fact that it failed.
Original commit message from CVS:
* gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
Log the reason why fopen fails in addition to the fact that it failed.
2008-01-05 13:45:22 +00:00
Sebastian Dröge
e2c1a6f7e9 gst/parse/parse.l: Use "%option never-interactive" to prevent useless calls to isatty() on every input when parsing. ...
Original commit message from CVS:
* gst/parse/parse.l:
Use "%option never-interactive" to prevent useless calls to isatty()
on every input when parsing. Also use "%option noinput" to not define
the static input/yyinput functions which we don't use anyway. This
removes a compiler warning with gcc 4.3 and saves some bytes in the
library.
* gst/parse/lex._gst_parse_yy.pre.c:
Regenerated for the above change.
2008-01-04 18:44:03 +00:00
Wim Taymans
8951071467 gst/gstpad.c: Don't crash when trying to fixate and empty list.
Original commit message from CVS:
* gst/gstpad.c: (fixate_value):
Don't crash when trying to fixate and empty list.
Fixes #506643.
2008-01-04 18:39:15 +00:00
Thijs Vermeir
7e8415cdf1 gst/gstdebugutils.c: add warning when failed to open file for writing
Original commit message from CVS:
* gst/gstdebugutils.c:
add warning when failed to open file for writing
2007-12-30 12:22:49 +00:00
Laurent Glayal
c2683ff751 gst/gstvalue.c: Optimisation: bail out of the loop as early as possible (#500143).
Original commit message from CVS:
Based on patch by: Laurent Glayal  <spglegle yahoo fr>
* gst/gstvalue.c: (gst_value_is_fixed):
Optimisation: bail out of the loop as early as possible (#500143).
2007-12-28 14:34:34 +00:00
Tim-Philipp Müller
5cb869bfdf gst/: Bunch of gratuitous nano-optimisations.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_to_string):
* gst/gstinfo.c: (gst_debug_construct_term_color):
* gst/gstparse.c: (gst_parse_launchv):
* gst/gstutils.c: (gst_util_dump_mem):
* gst/gstvalue.c: (gst_value_serialize_any_list),
(gst_value_transform_any_list_string):
Bunch of gratuitous nano-optimisations.
2007-12-28 14:15:53 +00:00
Wim Taymans
20b951efc1 gst/gstsystemclock.c: Add some more docs to explain why a FIXME was wrongly added.
Original commit message from CVS:
* gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
Add some more docs to explain why a FIXME was wrongly added.
2007-12-24 14:35:24 +00:00
Sebastian Dröge
43377772a6 gst/gstobject.c: Fix typo in the gst_object_{ref,unref} documentation.
Original commit message from CVS:
* gst/gstobject.c:
Fix typo in the gst_object_{ref,unref} documentation.
2007-12-22 12:48:26 +00:00
Tim-Philipp Müller
94029e9d71 gst/gsttypefind.c: Make gst_type_find_register work for static typefind functions, ie. allow passing plugin == NULL (...
Original commit message from CVS:
* gst/gsttypefind.c: (gst_type_find_register):
Make gst_type_find_register work for static typefind functions,
ie. allow passing plugin == NULL (prerequisite for #498924).
* gst/gstelementfactory.c: (gst_element_register):
Small docs addition.
2007-12-21 20:58:23 +00:00
Wim Taymans
96d28a501f gst/gstpad.c: Really unlink the peer pad instead of setting the peer pointer to NULL when we dispose the pad.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_dispose):
Really unlink the peer pad instead of setting the peer pointer to NULL
when we dispose the pad.
This correctly calls the unlink functions and makes sure that the peer
does not have a handle to invalid memory. See #504671.
* tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
Add testsuite for above case.
2007-12-21 13:54:07 +00:00
Wim Taymans
a332964e6c docs/design/part-synchronisation.txt: Small updates.
Original commit message from CVS:
* docs/design/part-synchronisation.txt:
Small updates.
* gst/gstsegment.c: (gst_segment_set_seek),
(gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
(gst_segment_to_running_time):
The seek format can be different from the segment format when the start
and stop values are not to be updated, when we only do a rate change for
example.
* tests/check/gst/gstsegment.c: (GST_START_TEST),
(gst_segment_suite):
Add a testcase for the rate-only seeks, checking that the format is
correctly ignored when start and stop are not updated.
2007-12-19 12:48:18 +00:00
Tim-Philipp Müller
083a6e7490 gst/gsttaglist.c: Small docs addition: mention that the strings returned by gst_tag_list_get_string*() are in UTF-8 e...
Original commit message from CVS:
* gst/gsttaglist.c:
Small docs addition: mention that the strings returned by
gst_tag_list_get_string*() are in UTF-8 encoding.
2007-12-18 12:03:18 +00:00
Tim-Philipp Müller
af471ed6cd gst/gstregistrybinary.c: Use g_remove() and g_rename(). Check result of g_rename(), and don't leak the open file desc...
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
Use g_remove() and g_rename(). Check result of g_rename(), and
don't leak the open file descriptor if we error out when writing.
* gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
Must check the return value of close() after writing out the new
registry file.  Sometimes write problems such as out-of-diskspace
are only reported when the file is closed and not already during
the write.  This may have caused partial/broken registry files in
some rare circumstances. Should fix #503675.
2007-12-16 18:29:25 +00:00
Tim-Philipp Müller
988e0b2da8 gst/gstutils.c: Fix possible compiler warning (#503417).
Original commit message from CVS:
* gst/gstutils.c: (element_find_unconnected_pad):
Fix possible compiler warning (#503417).
2007-12-13 13:59:04 +00:00
Tim-Philipp Müller
bc8b9fdbb4 gst/gstobject.c: Don't use GST_CAT_EVENT here for logging, it makes no sense.
Original commit message from CVS:
* gst/gstobject.c: (gst_object_dispatch_properties_changed):
Don't use GST_CAT_EVENT here for logging, it makes no sense.
2007-12-13 11:41:05 +00:00
Tim-Philipp Müller
0ef9a5f5b1 Makefile.am: Add check-exports target and run it as part of 'make check' (see #499140 and #493983).
Original commit message from CVS:
* Makefile.am:
Add check-exports target and run it as part of 'make check'
(see #499140 and #493983).
* gst/gst_private.h:
* gst/gstelementfactory.h:
* gst/gstghostpad.c: (gst_proxy_pad_class_init):
* gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
(_priv_gst_in_valgrind):
* gst/gstinfo.h: (GstLogFunction):
* gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
(gst_type_find_register):
* gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
(gst_type_find_factory_get_type):
* libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
(GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
(gst_controller_new_valist), (gst_controller_new_list),
(_gst_controller_dispose), (_gst_controller_class_init):
* libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
* libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
(GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
(gst_object_get_controller), (gst_object_set_controller),
(gst_object_suggest_next_sync), (gst_object_sync_values),
(gst_object_set_control_source), (gst_object_get_control_source),
(gst_object_get_value_arrays), (gst_object_get_value_array),
(gst_object_get_control_rate), (gst_object_set_control_rate):
* libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
* libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
Make some functions that should be static static; rename some
private symbols so that they don't get exported; add some FIXME
comments so we can move accidentally exported functions into
our private section in 0.11.
* win32/common/libgstreamer.def:
Add gst_utils_get_timestamp().
2007-12-12 23:20:00 +00:00
Stefan Kost
4fffa41e1c gst/gstvalue.*: Add more missing "Since:" tags to docs.
Original commit message from CVS:
* gst/gstvalue.c:
* gst/gstvalue.h:
Add more missing "Since:" tags to docs.
2007-12-12 14:04:14 +00:00
Stefan Kost
12f0269d48 gst/gstutils.c: Add mising "Since:" to docs.
Original commit message from CVS:
* gst/gstutils.c:
Add mising "Since:" to docs.
2007-12-12 06:58:56 +00:00
Stefan Kost
74d2ba2fd5 gst/gstplugin.c: Include "glib-compat-private.h" to fix the build on system with glib < 2.10. Fixes #503131.
Original commit message from CVS:
* gst/gstplugin.c:
Include "glib-compat-private.h" to fix the build on system with
glib < 2.10. Fixes #503131.
2007-12-11 22:03:58 +00:00
Stefan Kost
321db79821 gst/gstutils.*: Actually its not PURE as it gets the time from elsewhere.
Original commit message from CVS:
* gst/gstutils.c:
* gst/gstutils.h:
Actually its not PURE as it gets the time from elsewhere.
2007-12-11 20:32:29 +00:00
Stefan Kost
428a4e9669 Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all uses as we don't have HAVE_POSIX_TIMERS in publi...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstclock.h:
* gst/gstdebugutils.c:
* gst/gstinfo.c:
* gst/gstutils.c:
* gst/gstutils.h:
* libs/gst/base/gstbasesink.c:
* tools/gst-launch.c:
Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
uses as we don't have HAVE_POSIX_TIMERS in public headers.
Thanks Tim for spotting.
2007-12-11 20:23:58 +00:00
Tim-Philipp Müller
cf86e1a0a0 gst/gststructure.c: Don't crash in _from_string() if the structure name is not valid (fixes #501560). Allow structur...
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_validate_name),
(gst_structure_new_valist), (gst_structure_parse_value),
(gst_structure_from_string):
Don't crash in _from_string() if the structure name is not valid
(fixes #501560).  Allow structure names to start with a number
again (this apparently broke the ubuntu codec installer).
* tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
(GST_START_TEST):
Add unit test for the crash; update unit tests for new behaviour.
2007-12-08 12:54:53 +00:00
Wim Taymans
da899be6d5 gst/gstutils.c: Clarify gst_element_get_compatible_pad() documentation.
Original commit message from CVS:
* gst/gstutils.c:
Clarify gst_element_get_compatible_pad() documentation.
Fixes #500919.
2007-12-03 11:04:09 +00:00
Stefan Kost
c437e3b4e2 gst/: Fix wrong order of args in GST_CLOCK_DIFF() usage.
Original commit message from CVS:
* gst/gstdebugutils.c:
* gst/gstinfo.c:
Fix wrong order of args in GST_CLOCK_DIFF() usage.
* tools/gst-launch.c:
Use new API to get elapsed time.
2007-11-28 12:52:42 +00:00
Stefan Kost
ddb7cc2763 Rename new API + ChangeLog surgery to remove old name from last entry..
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstclock.h:
* gst/gstdebugutils.c:
* gst/gstinfo.c:
Rename new API + ChangeLog surgery to remove old name from last entry..
API: GST_GET_TIMESTAMP
2007-11-28 12:35:14 +00:00
Stefan Kost
fbf7086287 Now hide the different clock stuff behind a macro.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstclock.h:
* gst/gstdebugutils.c:
* gst/gstinfo.c:
Now hide the different clock stuff behind a macro.
API: GST_GET_CURRENT_TIME
2007-11-28 12:11:59 +00:00
Stefan Kost
ec080cd61b Apply the posix-timer check from #361155. Conditionally use the posix timer for logging. This gives better timestamp ...
Original commit message from CVS:
* configure.ac:
* gst/gstdebugutils.c:
* gst/gstinfo.c:
Apply the posix-timer check from #361155. Conditionally use the posix
timer for logging. This gives better timestamp precission, less
overhead and no ntp jitter.
2007-11-28 11:39:35 +00:00
Sebastian Dröge
d8f8df9c49 gst/gstminiobject.c: Some cleanup and checking against invalid function parameters.
Original commit message from CVS:
* gst/gstminiobject.c: (gst_mini_object_get_type),
(gst_mini_object_class_init), (gst_mini_object_copy_default),
(gst_mini_object_finalize), (gst_mini_object_copy),
(gst_mini_object_is_writable), (gst_mini_object_make_writable),
(gst_mini_object_replace), (param_mini_object_validate),
(gst_param_spec_mini_object_get_type):
Some cleanup and checking against invalid function parameters.
2007-11-28 11:11:58 +00:00
Wim Taymans
0e0caaf16a Start merging in the easy bits of #361155, the monotonic clock patch.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstclock.h:
* tests/check/gst/gstsystemclock.c: (GST_START_TEST),
(gst_systemclock_suite):
Start merging in the easy bits of #361155, the monotonic clock patch.
This one adds a few handy macros with docs and a testsuite.
2007-11-28 10:58:39 +00:00
Stefan Kost
bb523ea0a3 Due to popular request remove preset interface again. :-(.
Original commit message from CVS:
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* docs/gst/gstreamer.types.in:
* gst/Makefile.am:
* gst/gst.h:
* gst/gstpreset.c:
* gst/gstpreset.h:
* plugins/elements/gstqueue.c:
Due to popular request remove preset interface again. :-(.
2007-11-26 13:16:00 +00:00
Stefan Kost
99897dbf24 docs/random/ensonic/profiling.txt: More ideas.
Original commit message from CVS:
* docs/random/ensonic/profiling.txt:
More ideas.
* gst/gstbin.c:
Fix typo and give better log output.
* gst/gstdebugutils.c:
* gst/gstdebugutils.h:
More ideas, make graphs a bit smaller and fix param name in macro.
2007-11-22 15:59:01 +00:00
Stefan Kost
00d5a68057 gst/gstpreset.c: Try harder to use the return value from fgets().
Original commit message from CVS:
* gst/gstpreset.c:
Try harder to use the return value from fgets().
2007-11-22 13:56:24 +00:00
Stefan Kost
3b14dfdc66 gst/gstpreset.c: For theses two fgets we handle the error below.
Original commit message from CVS:
* gst/gstpreset.c:
For theses two fgets we handle the error below.
2007-11-21 16:08:25 +00:00
Stefan Kost
63472aba50 gst/gstpreset.c: Plug a leak and fix saving.
Original commit message from CVS:
* gst/gstpreset.c:
Plug a leak and fix saving.
2007-11-20 16:34:38 +00:00
Stefan Kost
51d83b8dfb gst/gstpreset.*: Change _get_preset_names API to return a strv with copies. Add _get_property_names to allow implemen...
Original commit message from CVS:
* gst/gstpreset.c:
* gst/gstpreset.h:
Change _get_preset_names API to return a strv with copies. Add
_get_property_names to allow implementations to filter and provide
good default implementation.
2007-11-20 15:46:39 +00:00
Stefan Kost
c28a87b888 gst/gstpreset.c: More cleanups, docs, and TODOs from comments that now slowly come in.
Original commit message from CVS:
* gst/gstpreset.c:
More cleanups, docs, and TODOs from comments that now slowly come in.
2007-11-19 15:23:44 +00:00
Stefan Kost
ec2279936a gst/gstpreset.c: Fix bogus warning and make the property type specific code more similar.
Original commit message from CVS:
* gst/gstpreset.c:
Fix bogus warning and make the property type specific code more
similar.
2007-11-19 11:54:13 +00:00
Julien Moutte
2bcfd33b8a gst/gstpreset.c: Make it build on OS X.
Original commit message from CVS:
2007-11-19  Julien MOUTTE  <julien@moutte.net>

* gst/gstpreset.c: (gst_preset_default_create_preset): Make
it build on OS X.
2007-11-19 09:33:05 +00:00
Wim Taymans
f806905e67 gst/gstbin.c: Change email, cleanups add some more debug and comments.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
(gst_bin_add_func), (gst_bin_remove_func),
(gst_bin_change_state_func), (gst_bin_continue_func):
Change email, cleanups add some more debug and comments.
Also set bus and clock on new elements when the pipeline was in error.
2007-11-19 08:50:04 +00:00
Stefan Kost
f3d71f7ef5 gst/: Fix build with --disable-gst-debug. Fixes #497859.
Original commit message from CVS:
* gst/gstbin.c:
* gst/gstdebugutils.c:
Fix build with --disable-gst-debug. Fixes #497859.
Spotted by Sameer Naik.
2007-11-18 19:30:10 +00:00
Stefan Kost
d8e77f9bf8 gst/gstevent.c: Little documentation improvment.
Original commit message from CVS:
* gst/gstevent.c:
Little documentation improvment.
* gst/gstpreset.c:
More TODO cleanups. Remove c++ comments.
* libs/gst/controller/gstcontroller.c:
Add TODO and use quark from static string.
* tests/check/gst/gstmessage.c:
* tests/check/gst/gststructure.c:
Use quark from static string.
2007-11-17 17:50:21 +00:00
Stefan Kost
3aca801f4d gst/gstpreset.c: Add some comments and TODOs.
Original commit message from CVS:
* gst/gstpreset.c:
Add some comments and TODOs.
* gst/gstpreset.h:
Add padding for future changes.
* plugins/elements/gstqueue.c:
Implement the iface.
2007-11-17 17:24:53 +00:00
Stefan Kost
819c9f4e2a Add the preset interface (Fixes #396779). Do some doc cleanups along.
Original commit message from CVS:
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* docs/gst/gstreamer.types.in:
* gst/Makefile.am:
* gst/gst.h:
* gst/gstpreset.c:
* gst/gstpreset.h:
Add the preset interface (Fixes #396779). Do some doc cleanups along.
2007-11-17 16:43:12 +00:00
Wim Taymans
c28238d8fe gst/gstsegment.c: Also accumulate time correctly when doing reverse playback. Fixes #488201,
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_set_newsegment_full),
(gst_segment_to_stream_time), (gst_segment_to_running_time):
Also accumulate time correctly when doing reverse playback. Fixes
#488201,
When converting to running and stream time, use default values for
start/stop/time/accum when comparing different formats. Fixes #494245.
* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
Do running/stream time in TIME format.
* tests/check/gst/gstsegment.c: (GST_START_TEST),
(gst_segment_suite):
2 new unit tests for segment accumulation.
2007-11-09 11:56:41 +00:00
Tim-Philipp Müller
def6b4bb66 gst/: Move getenv() back into gst_init, so everyone can live happily ever after. Make sure the symbol isn't exported ...
Original commit message from CVS:
* gst/gst.c: (init_pre):
* gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
(_gst_debug_bin_to_dot_file):
Move getenv() back into gst_init, so everyone can live happily
ever after. Make sure the symbol isn't exported though.
2007-11-07 15:53:52 +00:00
Tim-Philipp Müller
efaea50c48 gst/gst.c: Make _gst_disable_segtrap static, it's only used in gstplugin.c and we can use gst_segtrap_is_enabled() t...
Original commit message from CVS:
* gst/gst.c: (_gst_disable_segtrap):
Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
we can use gst_segtrap_is_enabled() there now that we have that API.
Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
to do the getenv here (and export the variable).
* gst/gstdebugutils.c: (debug_dump_element),
(_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
Don't use VLAs which is a C99ism and throws off MSVC (#493983).
* gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
(gst_debug_log_default):
Rename _gst_info_start_time to priv_gst_info_start_time so it
doesn't get exported (was never in any header).
* gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
(gst_plugin_loading_mutex):
Make static mutex gst_plugin_loading_mutex really static (was never
in any header), and use gst_segtrap_is_enabled() instead of
_gst_disable_segtrap.
* gst/gsttrace.c: (_gst_trace_default):
Make local _gst_trace_default static (was never in any header).
2007-11-06 15:10:36 +00:00
Wim Taymans
d5432c2bff gst/gstelement.c: Only change the state cookie if a different state was set on the element. See #492729.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_set_state_func):
Only change the state cookie if a different state was set on the
element. See #492729.
2007-11-06 12:28:17 +00:00
Tim-Philipp Müller
eac0501386 gst/gstvalue.c: Remove unused and uninitialised type variables that were still exported for some reason (they were ne...
Original commit message from CVS:
* gst/gstvalue.c:
Remove unused and uninitialised type variables that were still
exported for some reason (they were never in any header files
though).
2007-11-06 11:41:32 +00:00
Murray Cumming
565d3bd2af gst/gstobject.c: Corrected the registration of the parent-set and parent-unset signals: The parameter is a GstObject,...
Original commit message from CVS:
Patch by: Murray Cumming  <murrayc@murrayc.com>
* gst/gstobject.c:
Corrected the registration of the parent-set and parent-unset
signals: The parameter is a GstObject, not a GObject.
2007-11-04 10:13:33 +00:00
Tim-Philipp Müller
4e121ae147 gst/: Move declaration of private _gst_foo_initialize() functions into our private header file where they should have...
Original commit message from CVS:
* gst/gst_private.h:
* gst/gstbuffer.h:
* gst/gstevent.h:
* gst/gstformat.h:
* gst/gstmessage.h:
* gst/gstplugin.h:
* gst/gstquery.h:
* gst/gsttaglist.h:
* gst/gstvalue.h:
Move declaration of private _gst_foo_initialize() functions into
our private header file where they should have been all along.
2007-11-02 18:35:37 +00:00
Tim-Philipp Müller
b150d54e1c gtk-doc fixes; trailing-comma-in-enum fix.
Original commit message from CVS:
* docs/plugins/gstreamer-plugins-sections.txt:
* gst/gstdebugutils.h:
* gst/gstxml.h:
* plugins/elements/gstqueue.c:
gtk-doc fixes; trailing-comma-in-enum fix.
2007-11-02 17:43:25 +00:00
Tim-Philipp Müller
0965b7202c gst/gst.c: Clean up on deinit (not the external ones though, doesn't seem to be needed for some reason).
Original commit message from CVS:
* gst/gst.c: (gst_deinit):
Clean up on deinit (not the external ones though, doesn't seem to be
needed for some reason).
2007-11-02 16:27:56 +00:00
Tim-Philipp Müller
f2c7e1536b gst/gstinfo.h: Remove __declspec(dllimport) for MSVC that was copied over into core from a plugin, obviously without ...
Original commit message from CVS:
* gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
Remove __declspec(dllimport) for MSVC that was copied over into core
from a plugin, obviously without ever having been tested (note the
single underscore in _declspec in the initial commit), and that doesn't
really make sense.  See #492077.
2007-11-01 23:51:55 +00:00
Tim-Philipp Müller
99a41cefe3 g_type_class_ref() other types as well, see #349410 and #64764.
Original commit message from CVS:
* gst/gst.c: (init_post):
* gst/gstevent.c: (_gst_event_initialize):
* gst/gstquery.c: (_gst_query_initialize):
* libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
g_type_class_ref() other types as well, see #349410 and #64764.
* gst/gstbuffer.c: (_gst_buffer_initialize):
* gst/gstmessage.c: (_gst_message_initialize):
Simplify existing g_type_class_ref().
2007-11-01 21:50:05 +00:00
Tim-Philipp Müller
b826ab6612 gst/gstformat.c: g_type_class_ref() our GstFormat type to make sure we avoid the thread-unsafe bits of the GObject/GT...
Original commit message from CVS:
* gst/gstformat.c: (_gst_format_initialize):
g_type_class_ref() our GstFormat type to make sure we avoid the
thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
bug #64764. Should fix intermittent tee unit test failures (#474823).
2007-11-01 20:10:48 +00:00
Ole André Vadla Ravnås
3317754e3e Fix a couple of missing includes for MSVC2005 and a C99 issue. Also, starting with 2.14.0, GLib won't provide a pipe(...
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
* gst/gsttrace.c:
* libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
* libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
* libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
starting with 2.14.0, GLib won't provide a pipe() macro any longer,
so use _pipe() directly (#492077).
* win32/common/dirent.c: (_treaddir):
Add a couple of casts to make it build without warnings with MSVC.
* win32/common/libgstreamer.def:
Add some more symbols that need to be exported.
2007-10-31 22:01:03 +00:00
Stefan Kost
7da5577459 Improve bin graph dumping, by using the envvar to specify a path.
Original commit message from CVS:
* docs/gst/running.xml:
* gst/gst.c:
* gst/gstdebugutils.c:
* gst/gstdebugutils.h:
* tools/gst-launch.c:
Improve bin graph dumping, by using the envvar to specify a path.
Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
2007-10-29 13:46:25 +00:00
Stefan Kost
476e217e82 Document new env-var. Add one log-line after dumpng a graph.
Original commit message from CVS:
* docs/gst/running.xml:
* gst/gstdebugutils.c:
Document new env-var. Add one log-line after dumpng a graph.
2007-10-29 10:05:55 +00:00
Alessandro Decina
9d3de77ba7 gst/: Patch from Alessandro Decina adding get_type_full and get_protocols_full private vfuncs to the URIHandler inter...
Original commit message from CVS:
* gst/gstelementfactory.c: (gst_element_register):
* gst/gsturi.h:
Patch from Alessandro Decina adding get_type_full and
get_protocols_full private vfuncs to the URIHandler interface
to allow bindings to support creating URI handlers.
Partially fixes: #339279
API: GstURIHandlerInterface::get_type_full
API: GstURIHandlerInterface::get_protocols_full
2007-10-25 16:19:05 +00:00
Tim-Philipp Müller
9063ed1df4 API: add GST_TAG_ARTIST_SORTNAME
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttaglist.c:
* gst/gsttaglist.h:
API: add GST_TAG_ARTIST_SORTNAME
API: add GST_TAG_ALBUM_SORTNAME
API: add GST_TAG_TITLE_SORTNAME
Add tag variants for sorting (#414539).
2007-10-24 13:13:56 +00:00
Tim-Philipp Müller
cf3ca4b757 gst/gststructure.c: Also allow white space for names so we don't break backwards compatibility.
Original commit message from CVS:
* gst/gststructure.c:
Also allow white space for names so we don't break
backwards compatibility.
2007-10-24 13:00:58 +00:00
Stefan Kost
442f15bac2 gst/gstdebugutils.c: Reflow code to fix uninitialized variable warning.
Original commit message from CVS:
* gst/gstdebugutils.c:
Reflow code to fix uninitialized variable warning.
2007-10-22 11:10:28 +00:00
Edgard Lima
0e3a0fdf35 Added GstStructure to gst_value_table and its related functions.
Original commit message from CVS:

* gst/gstcaps.c: (gst_caps_to_string),
(gst_caps_from_string_inplace):
* gst/gststructure.c: (gst_structure_get_abbrs),
(gst_structure_to_string), (gst_structure_from_string):
* gst/gstvalue.c: (gst_value_set_structure),
(gst_value_get_structure), (gst_value_serialize_structure),
(gst_value_deserialize_structure), (_gst_value_initialize):
* gst/gstvalue.h:
* tests/check/gst/gststructure.c: (GST_START_TEST),
(gst_structure_suite):
* tests/check/gst/gstvalue.c: (GST_START_TEST):
Added GstStructure to gst_value_table and its related functions.
Changed gst_structure_to_string to print ';' in the end.
Changed gst_caps_to_string to not print ';' beteween its
fields (structures) anymore and remove the lastes ';' from latest
structure. Now it is possible to have nested structures.
In addition, backward compatibilty is assured by accepting '\0' as
end delimiter. Fixes: #487969.
API: add gst_value_set_structure()
API: add gst_value_get_structure()
2007-10-22 08:53:26 +00:00
Tim-Philipp Müller
81a3de7036 gst/gstbus.c: When no GSource callback has been set up, tell developer to use a function that actually exists.
Original commit message from CVS:
* gst/gstbus.c:
When no GSource callback has been set up, tell developer
to use a function that actually exists.
2007-10-19 09:48:38 +00:00
Stefan Kost
58a155347b Allow dumping pipelines as dot graphs. Fixes #456573.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/Makefile.am:
* gst/gst.c:
* gst/gst.h:
* gst/gstdebugutils.c:
* gst/gstdebugutils.h:
* gst/gstinfo.c:
* gst/gstinfo.h:
* tools/gst-launch.c:
Allow dumping pipelines as dot graphs. Fixes #456573.
2007-10-17 12:58:23 +00:00
Tim-Philipp Müller
4945ceea39 gst/gststructure.c: Allow '+' as well, it can be part of media or mime types such as image/svg+xml.
Original commit message from CVS:
* gst/gststructure.c:
Allow '+' as well, it can be part of media or mime types
such as image/svg+xml.
2007-10-16 21:48:23 +00:00
Tim-Philipp Müller
13c6e89d6c API: add gst_bus_pop_filtered
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstbus.c:
* gst/gstbus.h:
API: add gst_bus_pop_filtered
API: add gst_bus_timed_pop_filtered
Two new functions for waiting for specific message types on the
bus for a specified amount of time without iterating any main
loops or main contexts.
* tests/check/gst/gstbus.c:
Some tests for the new functions.
2007-10-16 20:30:13 +00:00
Stefan Kost
2b4644f737 Revert serialisation change and constrain structure-names after consensus on irc. Update api documentation to reflect...
Original commit message from CVS:
* gst/gststructure.c:
* tests/check/gst/gststructure.c:
Revert serialisation change and constrain structure-names after
consensus on irc. Update api documentation to reflect the change.
2007-10-16 13:58:43 +00:00
Stefan Kost
38cdd26ec8 gst/gststructure.c: Improve serialization and fix tests.
Original commit message from CVS:
* gst/gststructure.c:
Improve serialization and fix tests.
* tests/check/gst/gststructure.c:
Add another test that covers why I actually did the previous structure
change.
2007-10-16 06:32:07 +00:00
Stefan Kost
68ba3b4384 gst/: Add some more comments and debug output. Quote structure name to fix deserialisation of some strings.
Original commit message from CVS:
* gst/gststructure.c:
* gst/gstvalue.c:
Add some more comments and debug output. Quote structure name to fix
deserialisation of some strings.
2007-10-15 11:19:36 +00:00
Stefan Kost
de997d56cc gst/gstbuffer.h: Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based on it. Fix docs for GST_BUFFE...
Original commit message from CVS:
* gst/gstbuffer.h:
Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
2007-10-15 07:37:37 +00:00
Stefan Kost
ca048215eb gst/gstinfo.c: Fix some spelling errors.
Original commit message from CVS:
* gst/gstinfo.c:
Fix some spelling errors.
2007-10-15 06:52:01 +00:00
Wim Taymans
00e832a463 gst/gstbin.c: Correctly set the next state if all of our async children commited their state. This makes sure we can ...
Original commit message from CVS:
* gst/gstbin.c: (bin_handle_async_done):
Correctly set the next state if all of our async children commited their
state. This makes sure we can actually cancel the state change in
progress. Fixes a regression in Rhythmbox when seeking.
2007-10-14 15:54:02 +00:00
Tim-Philipp Müller
65637313b0 gst/gstbin.c: Don't shadow local variable.
Original commit message from CVS:
* gst/gstbin.c:
Don't shadow local variable.
* gst/gstinfo.c:
Don't shadow global function name.
2007-10-13 17:43:27 +00:00
Tim-Philipp Müller
f134968058 gst/: Use already-interned string for the private GstPluginFeature plugin_name field.
Original commit message from CVS:
* gst/gstelementfactory.c:
* gst/gstpluginfeature.c:
* gst/gstpluginfeature.h:
* gst/gstregistrybinary.c:
* gst/gstregistryxml.c:
* gst/gsttypefind.c:
Use already-interned string for the private GstPluginFeature
plugin_name field.
2007-10-13 17:20:09 +00:00
Tim-Philipp Müller
46283255e4 gst/gstplugin.h: Cast description string constants in GST_PLUGIN_DEFINE macros to a (gchar*) to make C++ code using t...
Original commit message from CVS:
* gst/gstplugin.h:
Cast description string constants in GST_PLUGIN_DEFINE macros
to a (gchar*) to make C++ code using these macros compile
without warning with g++-4.2 (see #462737).  Even if slightly
ugly, this seems preferable to putting the description strings
into the GLib quark table or making the structure member a
const gchar * and doing casts in core code that allocs and
frees these strings, or requiring a cast in the C++ code.
2007-10-10 10:53:39 +00:00
Tim-Philipp Müller
a639f7abfc gst/gstinfo.h: Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly to print the entire class/function signatu...
Original commit message from CVS:
* gst/gstinfo.h:
Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
to print the entire class/function signature into the log
file for C++ code.  This only affects C++ code, for C code
everything remains the same.
2007-10-09 20:45:13 +00:00
Wim Taymans
9d731d1e11 gst/gstbin.c: Work around a problem with pipelines containing (semi)loops until a proper, more complicated solution i...
Original commit message from CVS:
* gst/gstbin.c: (remove_from_queue):
Work around a problem with pipelines containing (semi)loops until a
proper, more complicated solution is ready. See #475455.
2007-10-09 16:20:59 +00:00
Tim-Philipp Müller
a90dc9f01a gst/: Put more strings into the GLib quark table. No need to keep a hundred-something copies of identical version str...
Original commit message from CVS:
* gst/gstplugin.c:
* gst/gstplugin.h:
* gst/gstregistrybinary.c:
* gst/gstregistryxml.c:
Put more strings into the GLib quark table. No need to keep
a hundred-something copies of identical version strings,
license strings, package name strings and package origin
strings around.
2007-10-09 14:18:39 +00:00
Wim Taymans
731f14c4b9 gst/: Small comment and documentation update.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_pause_task):
* gst/gstutils.c:
Small comment and documentation update.
2007-10-05 14:44:18 +00:00
Stefan Kost
5115aee102 gst/gstelement.c: Use meaningful categories for the logs to clean the default one.
Original commit message from CVS:
* gst/gstelement.c:
Use meaningful categories for the logs to clean the default one.
2007-10-03 15:27:24 +00:00
Stefan Kost
aeb491ef59 gst/gstplugin.c: Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
Original commit message from CVS:
* gst/gstplugin.c:
Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
Spotted by Josep Torra Valles <josep@fluendo.com>.
2007-10-03 11:36:14 +00:00
Tim-Philipp Müller
50521a14dc gst/gstclock.h: Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags field has moved to GstObject.
Original commit message from CVS:
* gst/gstclock.h:
Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
field has moved to GstObject.
2007-10-03 11:16:48 +00:00
Sébastien Moutte
b48aa75454 gst/gstinfo.h: Add an explicit variable importation needed on VS6 (only for MSC_VER)
Original commit message from CVS:
* gst/gstinfo.h:
Add an explicit variable importation needed on VS6 (only for MSC_VER)
Define M_PI which is used in files which are including gstinfo.h.
VS6 includes doesn't define it.
* win32/common/libgstbase.def:
* win32/common/libgstcontroller.def:
* win32/common/libgstreamer.def:
Add new exported functions and variables.
* win32/vs6/libgstcontroller.dsp:
* win32/vs6/libgstreamer.dsp:
Update the list of files to build.
2007-09-29 11:46:31 +00:00
Wim Taymans
1b3e413bba gst/gstbus.c: Improve debugging when dealing with _poll().
Original commit message from CVS:
* gst/gstbus.c: (poll_func):
Improve debugging when dealing with _poll().
2007-09-26 18:06:42 +00:00
Tim-Philipp Müller
e216a00ca9 gst/gstregistryxml.c: Fix memory leak I introduced a few days ago.
Original commit message from CVS:
* gst/gstregistryxml.c:
Fix memory leak I introduced a few days ago.
2007-09-26 18:04:42 +00:00
Michael Smith
aacc87e07c gst/gstbuffer.c: Make it once again possible to free GstBuffers in the default build.
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_finalize):
Make it once again possible to free GstBuffers in the default
build.
The poisoning scribbles on parts of the miniobject we need in
order to free it.
Fixes #480341
2007-09-26 17:00:22 +00:00
Tim-Philipp Müller
e366375d27 API: add GST_TAG_COMPOSER, fixes #459809.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttaglist.c:
* gst/gsttaglist.h:
API: add GST_TAG_COMPOSER, fixes #459809.
2007-09-25 18:35:39 +00:00
Sebastian Dröge
cb36a2e7a5 gst/gstplugin.*: Add the 3-clause BSD license and the MIT/X11 license to the license list. Fixes #479784.
Original commit message from CVS:
* gst/gstplugin.c:
* gst/gstplugin.h:
Add the 3-clause BSD license and the MIT/X11 license to the license
list. Fixes #479784.
2007-09-24 17:41:25 +00:00
Wim Taymans
e7f433f720 gst/: Fix small typos in the docs.
Original commit message from CVS:
* gst/gstobject.h:
* gst/gstvalue.c:
Fix small typos in the docs.
2007-09-24 11:46:35 +00:00
Stefan Kost
0873492be6 gst/gstbin.h: Move priv to the right place.
Original commit message from CVS:
* gst/gstbin.h:
Move priv to the right place.
* gst/gstsystemclock.c:
Add FIXME: and improve log.
* tests/check/Makefile.am:
* tests/examples/manual/Makefile.am:
Work with all types of registries.
2007-09-20 07:42:35 +00:00
Tim-Philipp Müller
7a478fbdbd gst/glib-compat-private.h: Add compatibility macro for g_intern_string() for
Original commit message from CVS:
* gst/glib-compat-private.h:
Add compatibility macro for g_intern_string() for
GLib-2.8 (any reason we can't just bump the
requirement to at least 2.10?)
* gst/gstpadtemplate.h:
* gst/gstelementfactory.c:
* gst/gstregistryxml.c:
* gst/gstregistrybinary.c:
Make GstStaticPadTemplate's templ_name field a const gchar * and fix
up the internal code accordingly.  This shouldn't be a problem, since
there is no reason external code could ever assume the string in such
a structure is dynamically allocated unless it did that itself;  the
use of g_strdup() is private to element factories.  The new code also
saves some memory by putting pad template name strings into the GLib
quark table instead of allocating them dynamically.
Declaring this field constant fixes warnings with g++-4.2 when using
the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
2007-09-19 13:28:40 +00:00
Stefan Kost
1740781a70 gst/gstelementfactory.c: Release static caps. Fixes #475723.
Original commit message from CVS:
* gst/gstelementfactory.c:
Release static caps. Fixes #475723.
2007-09-19 12:31:16 +00:00
Tim-Philipp Müller
134da6c28e gst/gstinfo.*: Make some internal API take const gchar * instead of just gchar * to avoid compiler warnings with g++-...
Original commit message from CVS:
* gst/gstinfo.c:
* gst/gstinfo.h:
Make some internal API take const gchar * instead of just
gchar * to avoid compiler warnings with g++-4.2.2 when
passing string constants (partially fixes #478092).
2007-09-18 22:13:57 +00:00
Wim Taymans
d59d330076 gst/gstbin.c: A latency query fails when one of the sinks fail.
Original commit message from CVS:
* gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
A latency query fails when one of the sinks fail.
* gst/gstelement.c: (gst_element_set_base_time):
Improve debugging.
2007-09-17 20:55:23 +00:00
Jan Schmidt
04757dd2d3 Fix minor compilation warnings shown with Forte.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_continue_func):
* libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
* libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
Fix minor compilation warnings shown with Forte.
2007-09-17 17:17:29 +00:00
Wim Taymans
b155f59d19 gst/: Move latency query from GstPipeline to GstBin so that we can also use it when async-handling is enabled on bins.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_class_init), (clear_queue),
(do_bin_latency), (gst_bin_change_state_func):
* gst/gstpipeline.c: (gst_pipeline_change_state):
Move latency query from GstPipeline to GstBin so that we can also
use it when async-handling is enabled on bins.
2007-09-13 21:27:33 +00:00
Sebastian Dröge
93634c30c2 gst/gstbuffer.c: Implement poisoning for GstBuffer if --enable-poisoning is specified.
Original commit message from CVS:
* gst/gstbuffer.c: (gst_buffer_finalize):
Implement poisoning for GstBuffer if --enable-poisoning is specified.
When finalizing a buffer the complete struct is filled with 0xff,
thus making a use of the buffer after the final unref impossible.
2007-09-13 08:42:55 +00:00
Tim-Philipp Müller
3f967a8b04 gst/gsturi.c: If there's no hostname, we want to return 'c:/foo/bar.txt' and not '/c:/foo/bar.txt' on Windows. Fixes ...
Original commit message from CVS:
* gst/gsturi.c: (gst_uri_get_location):
If there's no hostname, we want to return 'c:/foo/bar.txt'
and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
* tests/check/gst/gsturi.c:
Unit test for the above and a few more things.
2007-09-12 12:36:51 +00:00
Tim-Philipp Müller
9299939987 gst/gstbuffer.c: Also do a g_type_class_ref() for the subbuffer type in the init function.
Original commit message from CVS:
* gst/gstbuffer.c:
Also do a g_type_class_ref() for the subbuffer type in
the init function.
2007-09-11 18:59:09 +00:00
Wim Taymans
0d3299c63b Add function to perform a query on the peer of a pad.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstpad.c: (gst_pad_peer_query):
* gst/gstpad.h:
Add function to perform a query on the peer of a pad.
API: gst_pad_peer_query()
2007-09-11 15:55:50 +00:00
Sebastian Dröge
9564757cfb gst/gstregistrybinary.c: Always destroy the timer, also in error cases.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
Always destroy the timer, also in error cases.
2007-09-07 04:50:23 +00:00
Stefan Kost
756049dc07 gst/gstelement.c: Give some log-messages a category.
Original commit message from CVS:
* gst/gstelement.c:
Give some log-messages a category.
2007-09-05 13:24:31 +00:00
Wim Taymans
a0274c10a7 gst/gststructure.c: Fix fraction list fixation code. Take the fraction with the smallest difference with the target i...
Original commit message from CVS:
* gst/gststructure.c:
(gst_structure_fixate_field_nearest_fraction):
Fix fraction list fixation code. Take the fraction with the smallest
difference with the target instead of the first one in the list.
* tests/check/gst/gststructure.c: (GST_START_TEST),
(gst_structure_suite):
Added test to verify correct fraction list fixation behaviour.
2007-09-05 01:00:50 +00:00
Jan Schmidt
86a2414a7f gst/Makefile.am: Revert patch which uses $(gst_headers) instead of $^ because it breaks make dist.
Original commit message from CVS:
* gst/Makefile.am:
Revert patch which uses $(gst_headers) instead of $^ because it
breaks make dist.
2007-08-24 16:39:06 +00:00
Tim-Philipp Müller
684db8eb7c gst/gst.c: Don't use GST_INFO before the debug system is actually initialised (shouldn't do any harm, but won't print...
Original commit message from CVS:
* gst/gst.c:
Don't use GST_INFO before the debug system is actually initialised
(shouldn't do any harm, but won't print anything either, so we can
just as well remove it).
* gst/gstinfo.h:
GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
compilers that don't support variadic macros (such as MSVC), should
check for debug_level <= __gst_debug_min as well, since that's the
function called from all the level-specific GST_CAT_*_LOG_OBJECT()
inline helper functions. Should improve performance a bit, but also
makes sure uses of GST_INFO et.al are ignored if the debugging
system isn't initialised yet (instead of printing an assertion
failure).
2007-08-23 20:41:30 +00:00
David Nečas
0cffe1561c gst/Makefile.am: Replace some non portable makefile constructs.
Original commit message from CVS:
patch by: David Nečas <yeti@physics.muni.cz>
* gst/Makefile.am:
Replace some non portable makefile constructs.
2007-08-23 07:10:33 +00:00
Wim Taymans
ebf770154f gst/gstbin.c: Improve debugging.
Original commit message from CVS:
* gst/gstbin.c: (is_eos), (gst_bin_add_func),
(bin_handle_async_start), (gst_bin_handle_message_func):
Improve debugging.
When adding elements, insert messages into the bus of the newly added
element and make sure the element is the source of the message. This
allows the parent bin to intercept the message and do the
right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
messages to the app (which is not allowed).
Update some docs.
* tests/check/gst/gstghostpad.c: (GST_START_TEST):
Fix testsuite so that is does not work around messages that should not
have been posted in the first place.
2007-08-16 11:04:40 +00:00
Wim Taymans
5059e9f8bd gst/gstbin.c: Fix annoying bug in the sorted iterator where a sink that is not really a sink (when it has downstream ...
Original commit message from CVS:
* gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
(update_degree), (gst_bin_sort_iterator_next):
Fix annoying bug in the sorted iterator where a sink that is not really
a sink (when it has downstream links) screwed up the iterator.
* tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
Unit test to verify the fix.
2007-08-16 10:27:16 +00:00
Wim Taymans
4f98b744d2 gst/gstmessage.h: Add some more docs for the messages.
Original commit message from CVS:
* gst/gstmessage.h:
Add some more docs for the messages.
* libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
(gst_base_sink_query):
Add some more debugging.
* tools/gst-launch.c: (event_loop):
When interrupting, don't try to set pipeline to PAUSED twice.
2007-08-16 10:07:48 +00:00
Wim Taymans
ef5d931f67 gst/gstbin.c: Move ASYNC_START message posting to where it belongs, similar to async_done.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
(bin_handle_async_start), (gst_bin_handle_message_func):
Move ASYNC_START message posting to where it belongs, similar to
async_done.
Don't post ASYNC_START when we are in error.
Post ASYNC_START when we added an async element to a bin.
2007-08-14 14:10:36 +00:00
Julien Moutte
e3b911f7a9 gst/gstindex.c: Fix index entry generation from vargs. Fixes #466595.
Original commit message from CVS:
2007-08-14  Julien MOUTTE  <julien@moutte.net>

* gst/gstindex.c: (gst_index_add_association): Fix index entry
generation from vargs. Fixes #466595.
2007-08-14 13:43:44 +00:00
Wim Taymans
9b24336ce5 gst/gstbin.c: Always change the state of a NO_PREROLL element even if it has ASYNC elements inside (in case of a bin).
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_element_set_state):
Always change the state of a NO_PREROLL element even if it has ASYNC
elements inside (in case of a bin).
* tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
Unit test for this case.
2007-08-14 13:37:16 +00:00
Wim Taymans
1baafa6ee6 gst/gststructure.c: Add Since tag to docs.
Original commit message from CVS:
* gst/gststructure.c:
Add Since tag to docs.
2007-08-12 16:44:07 +00:00
Wim Taymans
66fd1a0839 Add function to get uint from a structure.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gststructure.c: (gst_structure_get_uint):
* gst/gststructure.h:
Add function to get uint from a structure.
API: gst_structure_get_uint()
2007-08-12 16:40:59 +00:00
Wim Taymans
3fb7bda332 gst/gstcaps.c: Fix proper check for simple caps.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_set_simple_valist),
(gst_caps_intersect):
Fix proper check for simple caps.
2007-08-12 16:38:40 +00:00
Michael Smith
397128ac28 gst/gstregistry.h: Add gst_registry_add_path, which was missing from this header.
Original commit message from CVS:
* gst/gstregistry.h:
Add gst_registry_add_path, which was missing from this header.
2007-08-10 14:40:26 +00:00
Wim Taymans
d04a298f6f gst/gstbuffer.h: Remove comma from last element in enum to avoid compile errors when using -pendantic. Fixes #464366.
Original commit message from CVS:
Patch by: <arenevier at fdn dot fr>
* gst/gstbuffer.h:
Remove comma from last element in enum to avoid compile errors when
using -pendantic. Fixes #464366.
2007-08-07 14:04:22 +00:00
Wim Taymans
56b5aa1ccb docs/design/part-TODO.txt: Add some more TODO items
Original commit message from CVS:
* docs/design/part-TODO.txt:
Add some more TODO items
* gst/gstbin.c: (find_message), (gst_bin_change_state_func):
Improve debugging.
* gst/gstcaps.c: (gst_caps_intersect):
Optimize trivial intersection case between identical caps pointers.
* gst/gstelement.c: (gst_element_continue_state),
(gst_element_set_state_func):
* gst/gstpad.c:
Fix spelling and grammar mistakes.
2007-08-07 09:56:08 +00:00
Sebastian Dröge
ef78586c58 gst/gst.c: Fix confusing typo in debug output.
Original commit message from CVS:
* gst/gst.c:
Fix confusing typo in debug output.
2007-08-03 19:25:45 +00:00
Tim-Philipp Müller
c8293b1a45 gst/gstelement.*: Make strings passed to gst_element_class_set_details_simple() constant, as they should be (#462752).
Original commit message from CVS:
* gst/gstelement.c: (gst_element_class_set_details_simple):
* gst/gstelement.h:
Make strings passed to gst_element_class_set_details_simple()
constant, as they should be (#462752).
2007-08-02 11:51:17 +00:00
Wim Taymans
d405a6dc4f gst/gstbin.c: Don't forget about the fact that some element went ASYNC even after a resync. This makes us post the AS...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_change_state_func),
(bin_handle_async_done), (gst_bin_handle_message_func):
Don't forget about the fact that some element went ASYNC even after a
resync. This makes us post the ASYNC_DONE message correctly.
Fixes #462558.
2007-08-02 11:15:46 +00:00
Jan Schmidt
0bc0a5a622 gst/gstregistry.c: When replacing an existing feature in the registry, make sure to continue holding a reference unti...
Original commit message from CVS:
* gst/gstregistry.c: (gst_registry_add_feature):
When replacing an existing feature in the registry, make sure to
continue holding a reference until we've replaced the name string
within our feature hash table. Make sure to use g_hash_table_replace
instead of g_hash_table_insert to ensure the new name string is used
as a key instead of the old one that we're about to free.
Fixes: #462085
2007-07-31 11:51:38 +00:00
Jan Schmidt
54852ef376 gst/gstpluginfeature.c: Revert patch from #459466 until after the release and we can work out exactly what the proble...
Original commit message from CVS:
* gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
(gst_plugin_feature_set_name):
Revert patch from #459466 until after the release and we can work
out exactly what the problem is (if any).
2007-07-31 10:10:27 +00:00
Tim-Philipp Müller
36c2aadf25 API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttaglist.c:
* gst/gsttaglist.h:
API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
2007-07-26 15:48:40 +00:00
Wim Taymans
2906fa0f47 gst/gstelementfactory.*: API: gst_element_factory_has_interface()
Original commit message from CVS:
* gst/gstelementfactory.c: (gst_element_factory_has_interface):
* gst/gstelementfactory.h:
API: gst_element_factory_has_interface()
Added method to check if an element factory implements a named
interface.
2007-07-25 18:37:12 +00:00
Stefan Kost
d53d6fb8a8 Another conditional doc check.
Original commit message from CVS:
* configure.ac:
* docs/gst/gstreamer.types.in:
Another conditional doc check.
* gst/gstmessage.c:
* gst/gstparamspecs.h:
* gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
* gst/gstvalue.c:
* gst/gstxml.h:
API-doc fixes.
2007-07-25 13:00:23 +00:00
Stefan Kost
f1235bdbd8 gst/gstregistrybinary.c: Print error just once and with additional info.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin),
(gst_registry_binary_read_cache):
Print error just once and with additional info.
2007-07-24 13:44:04 +00:00
Stefan Kost
6a246a8954 gst/gsttypefindfactory.c: Fix docs that recommened wrong function to use.
Original commit message from CVS:
* gst/gsttypefindfactory.c:
Fix docs that recommened wrong function to use.
2007-07-24 11:31:09 +00:00
Stefan Kost
a6b990938e gst/gstregistry.*: Speed up gst_registry_lookup_feature_locked() by using a hashmap.
Original commit message from CVS:
* gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
(gst_registry_remove_features_for_plugin_unlocked),
(gst_registry_add_feature), (gst_registry_remove_feature),
(gst_registry_lookup_feature_locked):
* gst/gstregistry.h:
Speed up gst_registry_lookup_feature_locked() by using a hashmap.
Fixes #459501.
2007-07-23 11:42:12 +00:00
Stefan Kost
163242c644 gst/gstpluginfeature.c: Avoid double memory usage for pluginfeature names. Fixes #459466.
Original commit message from CVS:
* gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
(gst_plugin_feature_set_name):
Avoid double memory usage for pluginfeature names. Fixes #459466.
2007-07-23 10:39:10 +00:00
Tim-Philipp Müller
2a97e6f23e gst/gstpad.h: Small addition to GST_FLOW_IS_FATAL() docs: mention that elements driving the pipeline may need to expl...
Original commit message from CVS:
* gst/gstpad.h:
Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
driving the pipeline may need to explicitly check for NOT_LINKED as
well, since IS_FATAL doesn't cover that.
2007-07-22 18:26:32 +00:00
Jan Schmidt
6c0e00bba0 gst/gstbin.c: Check that the state_cookie hasn't changed since the continue_func was scheduled. Avoids problems where...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_continue_func):
Check that the state_cookie hasn't changed since the continue_func
was scheduled. Avoids problems where the state changes back to
something it shouldn't be because it was changed in the meantime.
2007-07-18 14:31:21 +00:00
Stefan Kost
2a643f27d1 gst/gstregistrybinary.c: Fix memory leak. Be less verbose in the log.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
(gst_registry_binary_save_string),
(gst_registry_binary_save_pad_template),
(gst_registry_binary_save_feature),
(gst_registry_binary_save_plugin),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin),
(gst_registry_binary_read_cache):
Fix memory leak. Be less verbose in the log.
2007-07-17 09:44:51 +00:00
Stefan Kost
8575f8f068 gst/gst.c: Avoid reading registry twice on startup. Fixes #457322.
Original commit message from CVS:
* gst/gst.c:
Avoid reading registry twice on startup. Fixes #457322.
2007-07-16 12:36:18 +00:00
Stefan Kost
54529a756e gst/gsttaglist.c: Fix doc syntax.
Original commit message from CVS:
* gst/gsttaglist.c:
Fix doc syntax.
* gst/gstutils.c:
* gst/gstutils.h:
Add deprecation guards.
* libs/gst/base/gstcollectpads.h:
Don't document object (this is implicitly private).
2007-07-10 20:10:16 +00:00
Tim-Philipp Müller
cf8abdf3a3 gst/gststructure.c: When deserialising foo=bar without a type cast, check if it's a boolean before falling back to a ...
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_parse_value):
When deserialising foo=bar without a type cast, check if it's a
boolean before falling back to a string type, otherwise things like
audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
because the filtercaps end up having a signed=(string)true field,
which causes problems later when intersection caps.
* tests/check/gst/gststructure.c: (GST_START_TEST):
Add a unit test for this.
2007-07-08 14:11:53 +00:00
Stefan Kost
d661fd332c gst/gstminiobject.c: Remove 3 do-nothing methods.
Original commit message from CVS:
* gst/gstminiobject.c: (gst_mini_object_get_type):
Remove 3 do-nothing methods.
2007-06-27 11:43:04 +00:00
Stefan Kost
1756e6aa87 gst/: Remove empty instance_init() functions to save relocs and lessen the noise. Remove some of the function prototy...
Original commit message from CVS:
* gst/gstindexfactory.c: (gst_index_factory_get_type):
* gst/gstplugin.c: (gst_plugin_init):
* gst/gstpluginfeature.c: (gst_plugin_feature_init):
* gst/gstquery.c: (gst_query_get_type):
* gst/gstregistry.c: (gst_registry_init):
* gst/gsturi.c: (gst_uri_handler_base_init):
Remove empty instance_init() functions to save relocs and lessen the
noise. Remove some of the function prototypes that are doubled by
G_DEFINE_TYPE.
2007-06-27 10:12:14 +00:00
Étienne Noreau-Hébert
8aff242e77 gst/gstghostpad.c: Add peer and direction in the XML serialisation of ghostpads.
Original commit message from CVS:
Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
* gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
Add peer and direction in the XML serialisation of ghostpads.
Fixes #449226.
2007-06-27 09:34:01 +00:00
Stefan Kost
0aeac41ffd gst/gstelementfactory.c: Microoptimization that saves stunning 80 bytes.
Original commit message from CVS:
* gst/gstelementfactory.c: (__gst_element_details_clear):
Microoptimization that saves stunning 80 bytes.
2007-06-26 08:26:36 +00:00
Thomas Vander Stichele
bc93f42cab 80 line fix
Original commit message from CVS:
80 line fix
2007-06-23 11:18:46 +00:00
Jan Schmidt
71766af8c2 Beef up and include the docs for gst_type_register_static_full and gst_element_class_set_details_simple and add the A...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstelement.c:
* gst/gstutils.c: (gst_type_register_static_full):
Beef up and include the docs for gst_type_register_static_full and
gst_element_class_set_details_simple and add the API keyword
in the ChangeLog.
2007-06-21 16:39:01 +00:00
Stefan Kost
9eeb1c8e2b Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_class_set_details_simple):
* gst/gstelement.h:
* gst/gstutils.c: (gst_type_register_static_full):
* gst/gstutils.h:
* plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
* plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
* plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
* plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
* plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
* plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
* plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
* plugins/elements/gstidentity.c: (gst_identity_base_init):
* plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
* plugins/elements/gstqueue.c: (gst_queue_base_init),
(apply_buffer), (gst_queue_chain):
* plugins/elements/gsttee.c: (gst_tee_base_init):
* plugins/elements/gsttypefindelement.c:
(gst_type_find_element_base_init),
(gst_type_find_element_class_init):
Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
2007-06-21 14:29:05 +00:00
Wim Taymans
e599053491 gst/gstbin.c: Move the common code for posting state-change messages into one function.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
(gst_bin_change_state_func), (bin_push_state_continue),
(bin_handle_async_start), (bin_handle_async_done),
(gst_bin_handle_message_func):
Move the common code for posting state-change messages into
one function.
Broadcast the state signal after we posted the messages.
Mark the bin as busy when it's doing a state-change.
Make sure async-start/done messages don't interfere with the bin's
state when it's busy.
After the state change, let the bin check which elements completed the
state change while it was busy so that it can update its state.
2007-06-19 10:41:33 +00:00
Wim Taymans
0b3153873b gst/gstbin.*: Immediatly commit the toplevel bin state when receiving an async-done message. This enables us to avoid...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
(gst_bin_remove_func), (gst_bin_get_state_func),
(gst_bin_element_set_state), (gst_bin_continue_func),
(bin_push_state_continue), (bin_handle_async_start),
(bin_handle_async_done), (gst_bin_handle_message_func):
* gst/gstbin.h:
Immediatly commit the toplevel bin state when receiving an async-done
message. This enables us to avoid spawning a thread to commit the state
in some common cases and it also avoids some races.
Avoid spawning a state thread when adding/removing async elements to a
toplevel bin. Instead we immediatly update the bin state.
Get rid of iterating all the children when getting the state in the bin
because it is now always up-to-date.
Fix bug where locked elements would always return _SUCCESS even it they
returned NO_PREROLL before being locked.
Fix the order of the state_change, async-start/done messages that was
sometimes incorrect.
Mark the state_dirty field as deprecated, we don't need it anymore as we
are always up-to-date.
* gst/gstelement.c: (gst_element_get_state_func),
(gst_element_continue_state):
Small debug inprovements.
Return the previous element state return when nothing is pending instead
of blindly returning SUCCESS.
* tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
(gst_sinks_suite):
Add a whole bunch of new testcases.
2007-06-18 15:12:28 +00:00
Jan Schmidt
ba9acc9b57 gst/gstpad.c: Fix typo in the docs.
Original commit message from CVS:
* gst/gstpad.c:
Fix typo in the docs.
2007-06-15 14:37:28 +00:00
Wim Taymans
3d4e515e77 Improve debugging.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
* libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
(gst_base_src_default_query), (gst_base_src_get_range),
(gst_base_src_start):
* tests/check/pipelines/parse-launch.c: (setup_pipeline):
Improve debugging.
2007-06-15 10:43:51 +00:00
Edward Hervey
032bd4cbd8 gst/gstparamspecs.c: Since this file doesn't include "gst.h" it will not go through the macros that disable GST_LOG i...
Original commit message from CVS:
* gst/gstparamspecs.c: (_gst_param_fraction_validate):
Since this file doesn't include "gst.h" it will not go through the
macros that disable GST_LOG if debugging was disabled.
2007-06-14 16:07:09 +00:00
Stefan Kost
239d09ecdc gst/gstpad.c: Show the caps change in the log to help spotting the case of not exactly matching caps.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
Show the caps change in the log to help spotting the case of not
exactly matching caps.
2007-06-14 10:33:28 +00:00
Tim-Philipp Müller
25a11b83e1 gst/gstutils.c: Small docs addition.
Original commit message from CVS:
* gst/gstutils.c:
Small docs addition.
2007-06-07 17:22:47 +00:00
Wim Taymans
491de61f5a gst/gstbin.c: Add helper function to find messages.
Original commit message from CVS:
* gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
(gst_bin_remove_func), (gst_bin_element_set_state),
(bin_handle_async_start), (bin_handle_async_done),
(gst_bin_handle_message_func):
Add helper function to find messages.
Generate the async-done messages together with the state change
messages.
Small cleanups in handling toplevel bins.
2007-06-07 10:11:47 +00:00
Tim-Philipp Müller
ce5a853516 gst/gstparamspecs.c: Don't use GLib-2.10 functions, we still depend on
Original commit message from CVS:
* gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
Don't use GLib-2.10 functions, we still depend on
GLib-how-old-is-it-again-2.8.
2007-06-06 11:38:25 +00:00
Tim-Philipp Müller
505f3889ca API: add GstParamSpecFraction, so elements can have fraction properties without lots of painful string parsing (#4446...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/Makefile.am:
* gst/gst.c:
* gst/gst.h:
* gst/gstparamspecs.c: (_gst_param_fraction_init),
(_gst_param_fraction_set_default), (_gst_param_fraction_validate),
(_gst_param_fraction_values_cmp),
(gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
* gst/gstparamspecs.h:
* gst/gstvalue.c:
* tests/check/Makefile.am:
* tests/check/gst/.cvsignore:
* tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
(gst_dummy_obj_class_init), (gst_dummy_obj_init),
(gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
(GST_START_TEST), (gst_param_spec_suite):
API: add GstParamSpecFraction, so elements can have fraction
properties without lots of painful string parsing (#444648).
2007-06-06 11:18:12 +00:00
Wim Taymans
fbceb95076 gst/gstobject.c: Fix signal signature.
Original commit message from CVS:
* gst/gstobject.c: (gst_object_class_init):
Fix signal signature.
* gst/gstsegment.c:
Add small clarification in the api docs.
* plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
States are protected with object lock.
2007-06-05 16:25:06 +00:00
Tim-Philipp Müller
4e12ed7a53 gst/gstvalue.c: Make docs for gst_value_compare() mention return enums that actually exist.
Original commit message from CVS:
* gst/gstvalue.c:
Make docs for gst_value_compare() mention return enums that
actually exist.
2007-06-05 13:49:10 +00:00
Wim Taymans
6892e94e1d gst/gstbin.c: Make sure that the child bin stops after completing the async state change so that the parent can conti...
Original commit message from CVS:
* gst/gstbin.c: (bin_handle_async_done):
Make sure that the child bin stops after completing the async state
change so that the parent can continue the state change to PLAYING.
Fixes #441159.
2007-05-25 15:36:52 +00:00
Wim Taymans
65ef6ed5a4 gst/gstbin.c: Enable latency for next release.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
(gst_bin_continue_func):
Enable latency for next release.
Restore STATE_LOCK around recalc_state that was left out during the
rewrite and could result in racy behaviour when _get_state and
recalc_state are run concurrently. See #440463.
2007-05-24 08:35:04 +00:00
Tim-Philipp Müller
93230e96fe gst/gstbin.*: 'private' is a c++ keyword, let's not use that in header files, otherwise c++ compilers will throw a ta...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
(gst_bin_set_property), (gst_bin_get_property),
(gst_bin_remove_func), (gst_bin_handle_message_func):
* gst/gstbin.h:
'private' is a c++ keyword, let's not use that in header files,
otherwise c++ compilers will throw a tantrum.
2007-05-22 17:10:04 +00:00
Edward Hervey
466218f4d0 Add a property for bins that handle the state change of their childs.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
(gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
(gst_bin_remove_func), (gst_bin_handle_message_func):
* gst/gstbin.h:
Add a property for bins that handle the state change of their childs.
Fixes #435880
2007-05-22 11:09:45 +00:00
Stefan Kost
e87a530b73 gst/gstelement.c (gst_element_requires_clock, gst_element_provides_clock, gst_element_request_pad, gst_element_class_...
Original commit message from CVS:
* gst/gstelement.c (gst_element_requires_clock,
gst_element_provides_clock, gst_element_request_pad,
gst_element_class_set_details, gst_element_class_set_details_simple,
gst_element_default_send_event, gst_element_abort_state,
gst_element_continue_state, gst_element_set_state,
gst_element_set_state_func, iterator_activate_fold_with_resync):
* gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
gst_pad_get_range, gst_pad_pull_range):
* gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
GstPadActivateModeFunction, GstPadChainFunction,
GstPadGetCapsFunction, GstPadAcceptCapsFunction,
GstPadFixateCapsFunction, GstPadTemplate):
* gst/gstpipeline.c (gst_pipeline_change_state,
gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
gst_pipeline_set_clock, gst_pipeline_auto_clock,
gst_pipeline_get_delay):
Whitespace and docs fixes.
2007-05-22 06:37:37 +00:00
Wim Taymans
75b997ad55 docs/design/part-synchronisation.txt: Small addition.
Original commit message from CVS:
* docs/design/part-synchronisation.txt:
Small addition.
* gst/gstbin.c: (gst_bin_query):
* plugins/elements/gstqueue.c: (apply_segment):
Improve debugging.
* gst/gstmessage.h:
Improve docs.
2007-05-21 12:05:14 +00:00
Wim Taymans
fc32cd9c98 gst/gstpad.c: Added simple version of improved caps checking. It was previously assumed that a setcaps function would...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_get_caps_unlocked),
(gst_pad_acceptcaps_default), (gst_pad_configure_sink),
(gst_pad_configure_src):
Added simple version of improved caps checking. It was previously
assumed that a setcaps function would check the validity of the caps but
people prefer us to check caps against the template automatically.
Fixes #421543.
2007-05-21 12:00:42 +00:00
Edward Hervey
1a6e50f5ca gst/gstsegment.c: Small doc fix.
Original commit message from CVS:
* gst/gstsegment.c:
Small doc fix.
2007-05-17 11:05:22 +00:00
Tim-Philipp Müller
7366c4e49f gst/gstplugin.c: If we fail to load a plugin because of unresolved symbols or missing libraries and spew a warning to...
Original commit message from CVS:
* gst/gstplugin.c: (gst_plugin_load_file):
If we fail to load a plugin because of unresolved symbols or missing
libraries and spew a warning to stderr, we may just as well mention
which plugin it was that failed to load.
2007-05-16 19:35:46 +00:00
David Schleef
10917cd32c gst/gstutils.h: Reword some documentation.
Original commit message from CVS:
* gst/gstutils.h: Reword some documentation.
2007-05-13 20:11:27 +00:00
David Schleef
2fead012be gst/gstplugin.c: gst_plugin_register_func() doesn't actually do anything with the passed "module" parameter, so remov...
Original commit message from CVS:
* gst/gstplugin.c: gst_plugin_register_func() doesn't actually
do anything with the passed "module" parameter, so remove it.
Allows removal of additional vestigal code.
2007-05-13 00:20:35 +00:00
David Schleef
0c76828268 gst/gstplugin.c: Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
Original commit message from CVS:
* gst/gstplugin.c:
Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
Switch to using g_stat() because it's more portable.
2007-05-13 00:09:00 +00:00
David Schleef
7f9a26d71c gst/gst.c: Add GST_DISABLE_OPTION_PARSING, in order to disable option parsing for embedded systems.
Original commit message from CVS:
* gst/gst.c:
Add GST_DISABLE_OPTION_PARSING, in order to disable option
parsing for embedded systems.
* gst/gstelementfactory.c:
Allow gst_element_register() to be called with plugin==NULL.
Did nobody notice that static elements were broken?
2007-05-12 23:53:08 +00:00
Tim-Philipp Müller
7f1acfb0c8 gst/gsturi.c: Don't leak plugin feature.
Original commit message from CVS:
* gst/gsturi.c: (gst_element_make_from_uri):
Don't leak plugin feature.
* tests/check/Makefile.am:
* tests/check/gst/.cvsignore:
* tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
Add brain-dead unit test.
2007-05-11 14:46:10 +00:00
Jeroen Wouters
ef1a5d21e5 gst/gsturi.c: Treat protocol strings in a case-insensitive way (#437563).
Original commit message from CVS:
Patch by: Jeroen Wouters <woutersj at gmail com>
* gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
Treat protocol strings in a case-insensitive way (#437563).
2007-05-11 14:28:55 +00:00
Michael Smith
05181a07da gst/: Don't print a g_warning for any failure to load a shared object.
Original commit message from CVS:
* gst/gstplugin.c: (gst_plugin_load_file):
* gst/gstregistry.c: (gst_registry_scan_path_level):
Don't print a g_warning for any failure to load a shared object.
Instead, push this down into gstplugin.c, and warn _only_ if we
failed to open the module (i.e. failure to link).
Avoids warnings on normal, working, non-plugin .so files.
2007-05-11 10:56:48 +00:00
Stefan Kost
a8571d4655 gst/gstplugin.c (gst_plugin_load_file): gst/gstregistry.c (GST_CAT_DEFAULT, gst_registry_lookup_feature_locked, gst_r...
Original commit message from CVS:
* gst/gstplugin.c (gst_plugin_load_file):
* gst/gstregistry.c (GST_CAT_DEFAULT,
gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
Print a g_warning if there was an error when loading a plugins during
registry scan. The shuld help beginners starting with gst-plugin
template.
2007-05-11 08:29:10 +00:00
Peter Kjellerstedt
f38b77d70b gst/: Maintain API and ABI when --disable-parse is used. Now that we have an appropriate error code, we can just retu...
Original commit message from CVS:
Based on patch by: Peter Kjellerstedt  <pkj at axis com>
* gst/Makefile.am:
* gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
* gst/gstparse.h:
* gst/gstutils.c: (gst_parse_bin_from_description):
* gst/gstutils.h:
Maintain API and ABI when --disable-parse is used. Now that
we have an appropriate error code, we can just return NULL and the
appropriate error when gst_parse_launch() is used despite it having
been disabled (#342564).
* tests/check/Makefile.am:
* tests/check/pipelines/.cvsignore:
* tests/check/pipelines/parse-disabled.c:
Make sure these functions exist and return NULL plus a GError when
--disable-parse is used.
2007-05-09 16:32:07 +00:00
Wim Taymans
682d75a392 gst/gstpad.c: Fix documentation as spotted by rg on IRC.
Original commit message from CVS:
* gst/gstpad.c:
Fix documentation as spotted by rg on IRC.
2007-05-02 15:14:32 +00:00
Stefan Kost
6683664453 gst/gstutils.c: Improve docs for gst_element_{link,unlink}.
Original commit message from CVS:
* gst/gstutils.c:
Improve docs for gst_element_{link,unlink}.
2007-04-29 17:36:18 +00:00
Tim-Philipp Müller
06f054445b Typo fixes; minor docs addition.
Original commit message from CVS:
* docs/design/part-events.txt:
* docs/design/part-overview.txt:
* gst/gstevent.c:
* gst/gsturi.c:
* gst/gsturi.h:
* libs/gst/base/gstbasesink.c:
Typo fixes; minor docs addition.
2007-04-28 11:29:54 +00:00
Sebastian Dröge
003aaeaef3 API: Add gst_uri_protocol_is_supported(), which checks if an sink or src that supports a given URI protocol exists.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsturi.c: (get_element_factories_from_uri_protocol),
(gst_uri_protocol_is_supported), (gst_element_make_from_uri):
* gst/gsturi.h:
API: Add gst_uri_protocol_is_supported(), which checks if an sink
or src that supports a given URI protocol exists.
2007-04-27 08:30:59 +00:00
Tim-Philipp Müller
2c5a8cdb31 API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
* gst/gstbuffer.h:
* tests/check/gst/gstbuffer.c: (GST_START_TEST),
(gst_buffer_suite):
API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
2007-04-26 10:00:49 +00:00
Stefan Kost
14999bf0f5 gst/gstregistrybinary.*: Implement no-mmap alternative for registry reading. Do code cleanups.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
(gst_registry_binary_load_pad_template),
(gst_registry_binary_load_plugin),
(gst_registry_binary_read_cache):
* gst/gstregistrybinary.h:
Implement no-mmap alternative for registry reading. Do code cleanups.
Add more comments about avoiding strdups for all text data. Comments
welcome.
2007-04-26 07:32:08 +00:00
Stefan Kost
96438b7b4f gst/gstregistrybinary.h (GstBinaryPluginElement,
Original commit message from CVS:
* gst/gstregistrybinary.h (GstBinaryPluginElement,
GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
Comment structs and reformat to fix the build (that stuff should go
into a priv. header).
2007-04-25 12:30:27 +00:00
Stefan Kost
577034f170 gst/gstregistrybinary.*: Refactor so that we can implement multiple features. Add support for
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
(gst_registry_binary_load_feature):
* gst/gstregistrybinary.h:
Refactor so that we can implement multiple features. Add support for
TypeFindFactory features.
2007-04-25 11:44:29 +00:00
Stefan Kost
05287354e3 gst/gstbin.c: Fix build with --gst-disable-gst-debug
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_element_set_state),
(iterator_activate_fold_with_resync), (gst_bin_continue_func),
(bin_handle_async_done), (gst_bin_handle_message_func):
Fix build with --gst-disable-gst-debug
2007-04-23 07:30:38 +00:00
Stefan Kost
92cd1de49e 2nd attempt to have a xml-less build as a joined effort of #413123 and #421480.
Original commit message from CVS:
* configure.ac:
* docs/gst/gstreamer-sections.txt:
* gst/Makefile.am:
* gst/gstconfig.h.in:
* gst/gstobject.c: (gst_object_class_init),
(gst_signal_object_class_init):
* gst/gstobject.h:
2nd attempt to have a xml-less build as a joined effort of #413123
and #421480.
2007-04-20 08:39:35 +00:00
Sebastian Dröge
6626976347 gst/parse/: Update the prebuild parser sources.
Original commit message from CVS:
* gst/parse/grammar.tab.pre.c:
* gst/parse/grammar.tab.pre.h:
* gst/parse/lex._gst_parse_yy.pre.c:
Update the prebuild parser sources.
2007-04-19 14:32:49 +00:00
Sebastian Dröge
4df2c01e88 gst/parse/Makefile.am: And now fix the building of the flex sources. Now everything should work as expected.
Original commit message from CVS:
* gst/parse/Makefile.am:
And now fix the building of the flex sources. Now everything should
work as expected.
2007-04-19 14:23:25 +00:00
Sebastian Dröge
3215ad20c3 gst/parse/Makefile.am: Now hopefully fix the build failures by setting proper rule dependencies and moving instead of...
Original commit message from CVS:
* gst/parse/Makefile.am:
Now hopefully fix the build failures by setting proper rule
dependencies and moving instead of copying.
2007-04-19 14:06:52 +00:00
Stefan Kost
55eca2e566 gst/parse/Makefile.am: Fix the build by correcting the rule that gave wrong files to flex.
Original commit message from CVS:
* gst/parse/Makefile.am:
Fix the build by correcting the rule that gave wrong files to flex.
2007-04-19 10:22:29 +00:00
Sebastian Dröge
d3e8fea975 gst/parse/Makefile.am: Add correct grammar.tab.h dependency if compiling without new enough flex. Fixes #431150.
Original commit message from CVS:
* gst/parse/Makefile.am:
Add correct grammar.tab.h dependency if compiling without new enough
flex. Fixes #431150.
2007-04-19 06:18:24 +00:00
Sebastian Dröge
7a67f8a6bb gst/parse/Makefile.am: Fix typo and use outdated sources if the flex/bison sources are newer than the pregenerated on...
Original commit message from CVS:
* gst/parse/Makefile.am:
Fix typo and use outdated sources if the flex/bison sources are newer
than the pregenerated ones but flex is too old. Print a warning in
that case. This should fix the build on the build bot.
2007-04-18 13:34:48 +00:00
Marc-Andre Lureau
7a3a27d0c1 gst/parse/: Make the parser reentrant and recursively callable. This requires flex >= 2.5.31, for older versions preg...
Original commit message from CVS:
Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
* gst/parse/Makefile.am:
* gst/parse/grammar.y:
* gst/parse/parse.l:
Make the parser reentrant and recursively callable. This requires flex
>= 2.5.31, for older versions pregenerated sources are used as we
can't bump the build dependency. Finally fixes #349180.
* gst/gstparse.c: (gst_parse_launch):
Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
now anyway.
* docs/gst/Makefile.am:
* docs/gst/Makefile.am:
* gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
(__gst_parse_strfree), (__gst_parse_link_new),
(__gst_parse_link_free), (__gst_parse_chain_new),
(__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
(gst_parse_element_set), (gst_parse_free_link),
(gst_parse_found_pad), (gst_parse_perform_delayed_link),
(gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
(_gst_parse_launch):
* gst/parse/grammar.tab.pre.h:
* gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
(yy_get_previous_state), (yy_try_NUL_trans), (input),
(_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
(_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
(_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
(_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
(_gst_parse_yypop_buffer_state),
(_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
(_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
(yy_fatal_error), (_gst_parse_yyget_extra),
(_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
(_gst_parse_yyget_in), (_gst_parse_yyget_out),
(_gst_parse_yyget_leng), (_gst_parse_yyget_text),
(_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
(_gst_parse_yyset_column), (_gst_parse_yyset_in),
(_gst_parse_yyset_out), (_gst_parse_yyget_debug),
(_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
(_gst_parse_yyset_lval), (_gst_parse_yylex_init),
(yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
(yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
(_gst_parse_yyfree):
If the installed flex version is too old use pre-generated parser
sources. These pre-generated parser sources are always updated when
the actual flex/bison sources change but require everybody who wants
to change something in the parser to have flex >= 2.5.31 installed.
2007-04-18 12:34:51 +00:00
Stefan Kost
fdbd97497f Make --disable-nls to work
Original commit message from CVS:
* common/m4/gst-gettext.m4:
* gst/gst-i18n-lib.h:
Make --disable-nls to work
2007-04-18 10:58:31 +00:00
Wim Taymans
37fb068592 gst/gstconfig.h.in: Revert previous change that broke the build.
Original commit message from CVS:
* gst/gstconfig.h.in:
Revert previous change that broke the build.
2007-04-17 16:12:46 +00:00
Stefan Kost
901dc53de9 Drop libxml2 dependency when building with
Original commit message from CVS:
* configure.ac:
* gst/Makefile.am:
* gst/gstconfig.h.in:
Drop libxml2 dependency when building with
--enable-binary-registry --disable-loadsave
2007-04-17 10:46:46 +00:00
Tim-Philipp Müller
6c5fabe2eb gst/gstregistrybinary.*: Remove unnecessary <sys/mman.h> include which broke the win32 build with MingW; move include...
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
(gst_registry_binary_read_cache):
* gst/gstregistrybinary.h:
Remove unnecessary <sys/mman.h> include which broke the win32 build
with MingW; move includes from header file to .c file, even if the
header file isn't installed; use g_strerror() where UTF-8 strings
are expected, such as in GST_DEBUG messages.
2007-04-16 19:45:31 +00:00
Jan Schmidt
b9b5877a51 gst/gstelement.c: Don't output the same debug statement twice.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_get_state_func):
Don't output the same debug statement twice.
* libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
(gst_adapter_peek), (gst_adapter_take_buffer):
Optimise the case where we have buffers at the head of the queue that
can be joined quickly (because they're contiguous sub-buffers) by
merging them together rather than copying data out into new memory.
* gst/parse/grammar.y:
* tests/check/pipelines/parse-launch.c:
Fix a leak in an error path for parse_launch, and add a check
for it to the testsuite.
2007-04-13 11:53:00 +00:00
Tim-Philipp Müller
e28b310a73 gst/gsterror.*: API: add GST_CORE_ERROR_DISABLED (#392804).
Original commit message from CVS:
* gst/gsterror.c: (_gst_core_errors_init):
* gst/gsterror.h:
API: add GST_CORE_ERROR_DISABLED (#392804).
2007-04-12 12:59:49 +00:00
Thomas Vander Stichele
c0b13c07ee docs/faq/gst-uninstalled: don't get empty paths on the PATH variables
Original commit message from CVS:
* docs/faq/gst-uninstalled:
don't get empty paths on the PATH variables
* gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
Don't format for the uncommon terminal width of 84 characters.
2007-04-12 10:32:38 +00:00
Thomas Vander Stichele
a93ce49bad don't format for the uncommon editor width of 84 characters
Original commit message from CVS:
don't format for the uncommon editor width of 84 characters
2007-04-09 08:17:13 +00:00
Wim Taymans
4f7921ccf7 gst/gstpipeline.c: Only try to select a different pipeline clock when we went back to
Original commit message from CVS:
* gst/gstpipeline.c: (reset_stream_time),
(gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
Only try to select a different pipeline clock when we went back to
PAUSED and not when we merely got flushed.
2007-04-06 11:48:17 +00:00
Wim Taymans
bcc9fc59a9 gst/gstelement.c: Make padtemplates also work when they don't contain %s or %d.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_get_request_pad):
Make padtemplates also work when they don't contain %s or %d.
2007-04-05 10:08:21 +00:00
Wim Taymans
a78857c296 Improve _adjust_unlocked() so that it overflows less.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstclock.c: (gst_clock_adjust_unlocked),
(gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
* gst/gstclock.h:
Improve _adjust_unlocked() so that it overflows less.
Add gst_clock_unadjust_unlocked to convert from external time to
internal time based on calibration.
Add some more debug.
API: GstClock::gst_clock_unadjust_unlocked()
2007-04-05 10:06:20 +00:00
Jan Schmidt
1a404945ac gst/gstclock.c: Move all the debug to the CLOCK category, and associate it with the clock object.
Original commit message from CVS:
* gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
Move all the debug to the CLOCK category, and associate it with
the clock object.
2007-03-29 16:04:45 +00:00
Tim-Philipp Müller
799bc90b1f gst/gstelement.c: Make gst_element_get_request_pad() create request pads only for request pad templates and not for, ...
Original commit message from CVS:
* gst/gstelement.c: (gst_element_get_request_pad),
(gst_element_class_get_request_pad_template):
Make gst_element_get_request_pad() create request pads only for
request pad templates and not for, say, sometimes pad templates.
2007-03-28 18:25:16 +00:00
Jan Schmidt
cf4a1965da gst/gstpipeline.c: Modify the clock distribution path in PAUSED->PLAYING so that we never attempt to choose a new clo...
Original commit message from CVS:
* gst/gstpipeline.c: (gst_pipeline_change_state):
Modify the clock distribution path in PAUSED->PLAYING so that we
never attempt to choose a new clock unless we're actually leaving
the PAUSED state for the first time. This prevents choosing a
different clock when the state_change gets called for a 2nd time due
to some element doing an async state change.
2007-03-23 17:52:19 +00:00
Sebastian Dröge
12111f3107 gst/gstpad.c: Revert last commit. This needs some more thoughts.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
(gst_pad_configure_src), (gst_pad_alloc_buffer_full),
(gst_pad_chain_unchecked), (gst_pad_push):
Revert last commit. This needs some more thoughts.
2007-03-22 18:28:00 +00:00
Sebastian Dröge
0c34057ee5 gst/gstpad.c: Check in set_caps if the caps are compatible with the pad and remove two functions that are redundant n...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
(gst_pad_chain_unchecked), (gst_pad_push):
Check in set_caps if the caps are compatible with the pad and remove
two functions that are redundant now. Fixes #421543.
2007-03-22 17:12:23 +00:00
Wim Taymans
94054fc1b7 gst/gstsystemclock.c: Fix anoying regression that survived a few releases. When adding an async entry while blocking ...
Original commit message from CVS:
* gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
(gst_system_clock_id_wait_jitter),
(gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
Fix anoying regression that survived a few releases. When adding an
async entry while blocking on a sync entry, the sync entry will unblock
but still be busy, so it should continue to wait instead of returning
_BUSY to the app.
Add some comments here and there.
* tests/check/gst/gstsystemclock.c: (mixed_thread),
(mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
Add testcase for this.
2007-03-22 11:58:08 +00:00
Wim Taymans
88c8547b67 gst/gstpad.c: Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
Original commit message from CVS:
Patch by: <syrjala at sci dot fi>
* gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
Improve debugging.
2007-03-22 08:23:41 +00:00
Wim Taymans
9f3b0b8f3a gst/gstbin.c: Prepare for release where we warn against possible app breakage in the case of live pipelines along wit...
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
Prepare for release where we warn against possible app breakage in the
case of live pipelines along with an env var to enable/disable live
preroll mode (GST_COMPAT=[no-]live-preroll).
2007-03-21 11:52:04 +00:00
Wim Taymans
5a8fd3e688 gst/gst.c: Fix compilation with registry disabled as spotted by Saur.
Original commit message from CVS:
* gst/gst.c:
Fix compilation with registry disabled as spotted by Saur.
2007-03-20 10:23:25 +00:00
Olivier Crete
2b3ea5e9d8 gst/gstelement.c: Look at the pending state too when syncing the element state to the parent. Fixes #420133.
Original commit message from CVS:
Patch by: Olivier Crete <tester at tester dot ca>
* gst/gstelement.c: (gst_element_sync_state_with_parent):
Look at the pending state too when syncing the element state to the
parent. Fixes #420133.
2007-03-20 09:46:11 +00:00
Evan Nemerson
e447f17955 gst/gstelement.c: Fix pad-added and pad-removed signal signatures so that the pad type is stated as GST_TYPE_PAD inst...
Original commit message from CVS:
Patch by: Evan Nemerson <evan at coeus dash group dot com>
* gst/gstelement.c: (gst_element_class_init):
Fix pad-added and pad-removed signal signatures so that the pad type is
stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
2007-03-19 12:07:32 +00:00
Wim Taymans
d14c4c4a67 docs/gst/gstreamer-sections.txt: Add new element field and method.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
Add new element field and method.
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
(bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
(gst_bin_recalc_state), (gst_bin_get_state_func),
(gst_bin_element_set_state), (gst_bin_change_state_func),
(gst_bin_continue_func), (bin_bus_handler),
(bin_push_state_continue), (bin_handle_async_start),
(bin_handle_async_done), (gst_bin_handle_message_func):
Make async state changes a bit smarter by using new ASYNC_START and
ASYNC_DONE messages. This reduces the number of times we run the state
recalculation thread.
Don't change state of element with a pending ASYNC_START message.
Deprecate STATE_DIRTY messages.
* gst/gstelement.c: (gst_element_init), (gst_element_send_event),
(gst_element_get_state_func), (gst_element_continue_state),
(gst_element_lost_state), (gst_element_set_state_func),
(gst_element_change_state):
* gst/gstelement.h:
Keep the state that was last set by the app in a new element field.
Don't allow state changes when handling an element event.
Post ASYNC_START and ASYNC_DONE messages.
Change lost_state so that we go to PAUSED and wait for the parent to set
us to PLAYING again (so latency calculation can be performed)
Export gst_element_change_state() method so that subclasses can use it.
API: gst_element_change_state()
API: GST_STATE_TARGET
* gst/gstpipeline.c: (gst_pipeline_class_init),
(reset_stream_time), (gst_pipeline_change_state),
(gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
Using the new ASYNC_START message we can reset the base_time when
needed. This can then be used to implement base_time redistribution in
flushing seeks so that we can remove the explicit seek handling.
Perform latency query and configuration when going to PLAYING.
* libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
(gst_base_sink_query), (gst_base_sink_change_state):
Post new ASYNC_START/ASYNC_DONE messages.
* tests/check/generic/sinks.c: (GST_START_TEST):
Fix test because the bin will not set the async element to PLAYING right
away.
* tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
Make the message check a little stronger.
Handle ASYNC messages.
* tests/check/pipelines/cleanup.c: (GST_START_TEST):
* tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
Expect ASYNC_DONE messages.
2007-03-19 10:47:56 +00:00
Wim Taymans
d66263996d Add ASYNC_START and ASYNC_DONE messages to prepare for latency support.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstmessage.c: (gst_message_new_async_start),
(gst_message_new_async_done), (gst_message_parse_info),
(gst_message_parse_async_start):
* gst/gstmessage.h:
Add ASYNC_START and ASYNC_DONE messages to prepare for latency
support.
2007-03-19 09:55:02 +00:00
Stefan Kost
08b70416cb gst/gstchildproxy.c: Invert precondition check to be alike the ones in the mimiced gobject api.
Original commit message from CVS:
* gst/gstchildproxy.c: (gst_child_proxy_get_property),
(gst_child_proxy_set_property):
Invert precondition check to be alike the ones in the mimiced gobject
api.
2007-03-14 13:40:28 +00:00
Stefan Kost
08afeb6120 docs/: Do some Architect work.
Original commit message from CVS:
* docs/design/draft-tagreading.txt:
* docs/random/ensonic/audiobaseclasses.txt:
Do some Architect work.
* gst/gstobject.c: (gst_object_set_name):
Add a WARNING.
* gst/gstpad.c:
Add docs that point from gst_pad_get_range to gst_pad_pull_range
2007-03-13 14:53:21 +00:00
Jan Schmidt
2792895411 gst/gstsystemclock.c: Defer starting the async system clock thread until the first async wait is scheduled. Fixes #41...
Original commit message from CVS:
* gst/gstsystemclock.c: (gst_system_clock_init),
(gst_system_clock_start_async), (gst_system_clock_id_wait_async):
Defer starting the async system clock thread until the first async
wait is scheduled. Fixes #414986.
2007-03-12 15:27:05 +00:00
Sébastien Moutte
25b5fc7a7a gst/gstbin.c: Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
Original commit message from CVS:
* gst/gstbin.c:(gst_bin_add):
Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
* win32/common/libgstbase.def:
* win32/common/libgstreamer.def:
Add new exported functions.
2007-03-10 15:44:44 +00:00
Wim Taymans
db43de1985 Add metadata copy functions. Fixes #393099.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
* gst/gstbuffer.h:
Add metadata copy functions. Fixes #393099.
* gst/gstutils.c: (gst_buffer_stamp):
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_prepare_output_buffer):
Use new metadata copy functions.
2007-03-09 16:30:38 +00:00
Jan Schmidt
ab99622d95 gst/gstelement.c: There's no need to warn if VOID_PENDING is not NONE here, as long as the state is NULL it's ok, and...
Original commit message from CVS:
* gst/gstelement.c: (gst_element_dispose):
There's no need to warn if VOID_PENDING is not NONE here, as
long as the state is NULL it's ok, and that's checked immediately
above.
2007-03-09 12:34:46 +00:00
Tim-Philipp Müller
a6510349d4 gst/: Remove newlines at end of debug log strings.
Original commit message from CVS:
* gst/gst.c: (load_plugin_func):
* gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
* gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
* gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
Remove newlines at end of debug log strings.
2007-03-07 17:26:49 +00:00
Wim Taymans
ebd9a6d04b gst/gstvalue.c: Implement GstObject -> string transform so we print object names when serializing GValues containing ...
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_transform_object_string),
(_gst_value_initialize):
Implement GstObject -> string transform so we print object names
when serializing GValues containing GstObjects.
2007-02-28 16:57:49 +00:00
Wim Taymans
acf6165c5e gst/gstelement.*: Improve docs a little. Added Since: for new macro.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_message_full),
(gst_element_get_state_func):
* gst/gstelement.h:
Improve docs a little. Added Since: for new macro.
* gst/gstobject.c: (gst_object_sink):
* gst/gstpipeline.c: (gst_pipeline_change_state),
(gst_pipeline_set_new_stream_time):
* gst/gstpipeline.h:
Improve debugging and docs.
* gst/gstutils.c: (gst_element_state_change_return_get_name):
Improve debugging.
2007-02-28 16:43:43 +00:00
Wim Taymans
31be175723 gst/gstelement.c: Handle INFO messages from the GST_ELEMENT_INFO macro as well.
Original commit message from CVS:
* gst/gstelement.c: (gst_element_message_full),
(gst_element_set_locked_state), (gst_element_get_state_func),
(gst_element_change_state):
Handle INFO messages from the GST_ELEMENT_INFO macro as well.
Documentation updates.
Small code cleanups.
* gst/gstmessage.c: (gst_message_new_info),
(gst_message_parse_info):
* gst/gstmessage.h:
API: gst_message_new_info()
API: gst_message_parse_info()
Add INFO message create and parse code.
2007-02-28 16:40:02 +00:00
Wim Taymans
05cf4d83c3 gst/gstbin.c: Also report the live parameter of a latency query.
Original commit message from CVS:
* gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
(bin_query_latency_done):
Also report the live parameter of a latency query.
2007-02-28 16:35:48 +00:00
Wim Taymans
7553c996a4 API: gst_bus_timed_pop()
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
(gst_bus_timed_pop), (gst_bus_pop):
* gst/gstbus.h:
API: gst_bus_timed_pop()
Implement gst_bus_timed_pop() to do a blocking timed wait for a
message to arrive on the bus.
* tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
(gst_bus_suite):
Two unit tests for new _timed_pop() function.
2007-02-27 17:22:07 +00:00
Wim Taymans
c574a01484 gst/gstpipeline.c: Don't ref a NULL clock in _provide_clock_func().
Original commit message from CVS:
* gst/gstpipeline.c: (gst_pipeline_change_state),
(gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
Don't ref a NULL clock in _provide_clock_func().
Don't allow an INVALID delay.
Don't try to calculate base_time with an invalid start_time.
Also distribute and notify a NULL clock when it was selected.
* tools/gst-launch.c: (event_loop):
Don't crash when a NULL clock was selected in the pipeline.
2007-02-23 17:42:06 +00:00
Thomas Vander Stichele
be875073d5 Fix up documentation to link to the correct GstGError section.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstelement.h:
Fix up documentation to link to the correct GstGError section.
Add GST_ELEMENT_INFO macro since someone else added a Info message.
2007-02-21 15:34:14 +00:00
Wim Taymans
c4def75d2b gst/gstmessage.*: Remove new messages for release.
Original commit message from CVS:
* gst/gstmessage.c: (gst_message_parse_duration):
* gst/gstmessage.h:
Remove new messages for release.
2007-02-21 12:01:41 +00:00
Wim Taymans
60212ff197 Make the ghostpad a parent of the internal pad again for better backward compatibility. Don't write code that relies ...
Original commit message from CVS:
* docs/design/part-gstghostpad.txt:
* gst/gstghostpad.c: (gst_ghost_pad_dispose),
(gst_ghost_pad_new_full):
Make the ghostpad a parent of the internal pad again for better backward
compatibility. Don't write code that relies on this however.
* gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
(gst_pad_link_check_hierarchy):
Require that parents should be GstElements in the hierarchy check.
2007-02-20 18:02:50 +00:00
Wim Taymans
e561ce761b gst/gstbin.c: Improve debug info.
Original commit message from CVS:
* gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
(gst_bin_change_state_func), (bin_query_min_max_init),
(bin_query_latency_fold), (bin_query_latency_done),
(gst_bin_query):
Improve debug info.
Implement latency query.
2007-02-20 10:45:13 +00:00
Wim Taymans
d772c87442 Do not set the internal pad as a parent anymore so we can avoid hierarchy linking errors when the ghostpad has no par...
Original commit message from CVS:
* docs/design/part-gstghostpad.txt:
* gst/gstghostpad.c: (gst_ghost_pad_class_init),
(gst_ghost_pad_internal_do_activate_push),
(gst_ghost_pad_internal_do_activate_pull),
(gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
(gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
(gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
Do not set the internal pad as a parent anymore so we can avoid
hierarchy linking errors when the ghostpad has no parent yet. This also
fixes failed activation because of unlinked internal pads, which in
turn fixes the impossible case where you have to activate a pad before
you can add it to a running element.
Also fix the docs.
* gst/gstpad.c: (pre_activate), (post_activate),
(gst_pad_set_active), (gst_pad_activate_pull),
(gst_pad_activate_push), (gst_pad_check_pull_range):
Add some more debug info.
Mark activation mode in pre_activate so that we don't try to activate in
endless loops. Fixes #385084.
2007-02-20 10:16:27 +00:00
Stefan Kost
efb8033bac More docs coverage and some ChangeLog surgery (add missing names)
Original commit message from CVS:
* gst/gstchildproxy.h:
* libs/gst/base/gstbasesink.h:
* libs/gst/base/gstbasesrc.h:
* libs/gst/base/gstbasetransform.h:
More docs coverage and some ChangeLog surgery (add missing names)
2007-02-15 12:05:09 +00:00
Wim Taymans
a02edf4d61 gst/gstpad.c: Improve debugging of default pad dispatcher and query functions.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_get_internal_links_default),
(gst_pad_dispatcher):
Improve debugging of default pad dispatcher and query functions.
2007-02-15 08:37:19 +00:00
Wim Taymans
5b6258fa8d docs/design/part-seeking.txt: Some small update.
Original commit message from CVS:
* docs/design/part-seeking.txt:
Some small update.
* gst/gstsegment.c: (gst_segment_set_seek):
Revert old bogus change that should make seeking work again.
2007-02-13 15:34:15 +00:00
Stefan Kost
5ee6741827 docs/design/draft-klass.txt: Add existing category analysis.
Original commit message from CVS:
* docs/design/draft-klass.txt:
Add existing category analysis.
* gst/gstcaps.c:
Fix doc example, framerate is a fraction.
2007-02-13 09:10:53 +00:00
René Stadler
69e7087725 API: add GST_TAG_REFERENCE_LEVEL (#403597).
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler de>
* docs/gst/gstreamer-sections.txt:
* gst/gsttaglist.c: (_gst_tag_initialize):
* gst/gsttaglist.h:
API: add GST_TAG_REFERENCE_LEVEL (#403597).
2007-02-12 10:50:20 +00:00
Stefan Kost
85c81ea952 docs/libs/Makefile.am: Fix path to core docs.
Original commit message from CVS:
* docs/libs/Makefile.am:
Fix path to core docs.
* gst/gstbin.c: (gst_bin_get_by_interface),
(gst_bin_iterate_all_by_interface):
Refix docs by also renaming 'interface' to 'iface' in implementation.
* docs/gst/gstreamer-sections.txt:
* gst/gstcaps.c:
* gst/gstchildproxy.c: (gst_child_proxy_base_init):
* gst/gstchildproxy.h:
* gst/gstelementfactory.c:
* gst/gstpadtemplate.h:
* libs/gst/controller/gstcontroller.c:
(gst_controlled_property_new):
Document more.
2007-02-11 19:59:12 +00:00
Sébastien Moutte
3ad87e0249 gst/gstbin.h: Replace interface parameter name by iface as interface is a reserved keyword in Visual Studio for C++ p...
Original commit message from CVS:
* gst/gstbin.h:(gst_bin_get_by_interface),
(gst_bin_iterate_all_by_interface):
Replace interface parameter name by iface as interface is
a reserved keyword in Visual Studio for C++ projects so it removes
a build error for application developpers using VS.
* plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
Fix a bug on Windows in uri format check. Now the prefix checked
is file:// and next we check if the path after file:// is absolute.
* win32/common/libgstbase.def:
* win32/common/libgstdataprotocol.def:
* win32/common/libgstgstreamer.def:
Add new exported functions.
2007-02-10 18:31:12 +00:00
Andy Wingo
d2c619762c gst/gstregistryxml.c (load_feature, load_plugin): Drop some normal-case logs down to LOG, raise errors to WARNING.
Original commit message from CVS:
2007-02-09  Andy Wingo  <wingo@pobox.com>

* gst/gstregistryxml.c (load_feature, load_plugin): Drop some
normal-case logs down to LOG, raise errors to WARNING.
(gst_registry_xml_read_cache): Don't log before calling a function
that logs.

* gst/gstregistry.c (gst_registry_finalize): Less debug on program
exit (registry finalize).
(gst_registry_add_plugin, gst_registry_add_feature): No need for a
DEBUG log when we emit signals that people don't even have the
chance to connect to.
(gst_registry_scan_path_level): Less logging in the normal case.
2007-02-09 13:41:24 +00:00
Tim-Philipp Müller
5348fb69b1 gst/gstelementfactory.h: The klass string is not a hierarchy. Add reference to the design doc for more information an...
Original commit message from CVS:
* gst/gstelementfactory.h:
The klass string is not a hierarchy. Add reference to the design doc
for more information and common types.
2007-02-04 16:14:19 +00:00
Wim Taymans
863a867f81 gst/gstquery.c: Remove old structure field.
Original commit message from CVS:
* gst/gstquery.c: (gst_query_new_latency):
Remove old structure field.
2007-02-02 18:08:32 +00:00
Wim Taymans
74da6ad937 docs/gst/gstreamer-sections.txt: Add docs for new methods.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
Add docs for new methods.
* gst/gstevent.c: (gst_event_new_latency),
(gst_event_parse_latency):
* gst/gstevent.h:
Add new LATENCY event to configure latency in a pipeline.
API: gst_event_new_latency
API: gst_event_parse_latency
* gst/gstmessage.c: (gst_message_new_buffering),
(gst_message_new_lost_preroll), (gst_message_new_prerolled),
(gst_message_new_latency), (gst_message_parse_buffering),
(gst_message_parse_lost_preroll):
* gst/gstmessage.h:
Added messages used in draft-latency.
API: gst_message_new_lost_preroll
API: gst_message_parse_lost_preroll
API: gst_message_new_prerolled
API: gst_message_new_latency
* gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
(gst_query_parse_latency):
* gst/gstquery.h:
Implemented new latency query as in design doc.
API: gst_query_new_latency
API: gst_query_set_latency
API: gst_query_parse_latency
2007-02-02 11:48:48 +00:00
Stefan Kost
8dd745a6b2 gst/gstplugin.h: Fix and expand GstPluginDesc API docs.
Original commit message from CVS:
* gst/gstplugin.h:
Fix and expand GstPluginDesc API docs.
2007-01-30 15:04:33 +00:00
Stefan Kost
ea55e1357e configure.ac: comment about refining the xml deps
Original commit message from CVS:
* configure.ac:
comment about refining the xml deps
* docs/manuals.mak:
comments about moving away from jade for docs
* gst/gst.c:
recommit the ifdefs to use the binary registry
* gst/gstbin.c: (gst_bin_change_state_func):
this break is obsolete
* gst/gstelementfactory.h:
better GST_ELEMENT_DETAILS docs, add comment about translation
* gst/gstinfo.h:
remove eol slash
* gst/gstobject.c: (gst_signal_object_get_type):
add G_UNLIKELY as usual
* gst/gstpad.c: (gst_pad_event_default):
add fall trhu comment
* gst/gstregistrybinary.c: (gst_registry_binary_write),
(gst_registry_binary_initialize_magic),
(gst_registry_binary_save_string),
(gst_registry_binary_save_pad_template),
(gst_registry_binary_save_feature),
(gst_registry_binary_save_plugin),
(gst_registry_binary_write_cache),
(gst_registry_binary_check_magic),
(gst_registry_binary_load_pad_template),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin),
(gst_registry_binary_read_cache):
comment typo and formatting
* gst/gstutils.c: (gst_element_state_get_name),
(gst_element_state_change_return_get_name):
remove obsolete breaks
* gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
add FIXME 0.11 and remove cpp comment
2007-01-29 15:54:09 +00:00
Edward Hervey
b7d6efdbd5 gst/gstregistrybinary.c: Fix print statement in an even more portable way.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
Fix print statement in an even more portable way.
2007-01-29 15:02:11 +00:00
Tim-Philipp Müller
12aaf988aa API: add GST_ROUND_DOWN_* macros (#401781).
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstutils.h:
API: add GST_ROUND_DOWN_* macros (#401781).
2007-01-29 13:40:38 +00:00
Tim-Philipp Müller
636e022fed Document registry signals and make gtk-doc pick them up (#401381).
Original commit message from CVS:
* docs/gst/gstreamer.types.in:
* gst/gstregistry.c: (gst_registry_class_init):
Document registry signals and make gtk-doc pick them up (#401381).
2007-01-27 18:44:11 +00:00
Wim Taymans
e569c17c76 gst/gstcaps.c: Init caps flags too.
Original commit message from CVS:
* gst/gstcaps.c: (gst_static_caps_get):
Init caps flags too.
2007-01-26 09:37:03 +00:00
Wim Taymans
76e88f9d37 gst/gstcaps.c: Add some refcount debugging.
Original commit message from CVS:
* gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
Add some refcount debugging.
Make gst_static_caps_get threadsafe, which is needed when autoplugging
in multiple streaming threads.
2007-01-25 17:41:39 +00:00
Edward Hervey
00a8f6ac84 gst/gstregistrybinary.c: In print statements, "%x" is for guint. Fixes build on macosx.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
In print statements, "%x" is for guint. Fixes build on macosx.
2007-01-25 10:14:09 +00:00
Tim-Philipp Müller
9e0b1e942c gst/gst.c: Make warning about late g_thread_init() calls a bit more explicit, so that it's more obvious to applicatio...
Original commit message from CVS:
* gst/gst.c: (gst_init_get_option_group):
Make warning about late g_thread_init() calls a bit more explicit,
so that it's more obvious to application developers what they need
to do if a user files a bug against their application.
2007-01-23 13:50:42 +00:00
Mark Nauwelaerts
e56bad5b13 gst/gstpad.c: Fix two docs typoes (#399094).
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet be>
* gst/gstpad.c:
Fix two docs typoes (#399094).
2007-01-21 20:24:11 +00:00
Stefan Kost
2d88cb7e88 gst/: Add more docs regarding tag merge-modes and when to send tags. Fix 'since' statement for new tag.
Original commit message from CVS:
* gst/gsttaglist.h:
* gst/gsttagsetter.c:
Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
statement for new tag.
2007-01-18 12:00:23 +00:00
Stefan Kost
6fa79ab387 gst/gsttaglist.c: Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my previous two entries.
Original commit message from CVS:
* gst/gsttaglist.c: (_gst_tag_initialize):
Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
previous two entries.
2007-01-15 14:39:51 +00:00
Stefan Kost
0e96e3d727 add tag support for beat-per-minute
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttaglist.c: (_gst_tag_initialize):
* gst/gsttaglist.h:
add tag support for beat-per-minute
2007-01-15 13:57:12 +00:00
Stefan Kost
616cb1862a gst/gstregistrybinary.*: use glib types, cleanup comments, impement interfaces and uri-types
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write),
(gst_registry_binary_initialize_magic),
(gst_registry_binary_save_string), (gst_registry_binary_make_data),
(gst_registry_binary_save_pad_template),
(gst_registry_binary_save_feature),
(gst_registry_binary_save_plugin),
(gst_registry_binary_write_cache),
(gst_registry_binary_check_magic),
(gst_registry_binary_load_pad_template),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin),
(gst_registry_binary_read_cache):
* gst/gstregistrybinary.h:
use glib types, cleanup comments, impement interfaces and uri-types
2007-01-15 12:18:46 +00:00
Andy Wingo
63693a682a gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow getrange() to return buffers with other caps, while we fi...
Original commit message from CVS:
2007-01-13  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
getrange() to return buffers with other caps, while we fix
demuxers and typefind, or otherwise change part-negotiation.txt.
2007-01-13 10:33:41 +00:00
Andy Wingo
871e807482 gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked sink pads in pull mode. In addition to being correc...
Original commit message from CVS:
2007-01-12  Andy Wingo  <wingo@pobox.com>

* gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
sink pads in pull mode. In addition to being correct, fixes
filesrc ! decodebin ! identity ! fakesink.
(gst_pad_get_range, gst_pad_pull_range): Don't call
gst_pad_set_caps() if the caps changes; instead error out with
GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
2007-01-12 15:48:00 +00:00
René Stadler
51b5a406ca gst/gsttagsetter.c: gst_tag_list_merge() returns a new list, so it's not the best idea to ingore its return value. Ef...
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler dot de>
* gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
gst_tag_list_merge() returns a new list, so it's not the best idea
to ingore its return value. Effectively meant that tags could only
be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
Also add function guard to require a non-NULL taglist as input (has
always been so due to gst_tag_list_copy(), just making it explicit).
2007-01-12 10:48:49 +00:00