platform/upstream/gstreamer.git
15 years agologging: add a performace log category
Stefan Kost [Mon, 29 Jun 2009 08:24:04 +0000 (11:24 +0300)]
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.

15 years agostructure: fix int->gint to be in sync with the *.h and usage
Stefan Kost [Sat, 27 Jun 2009 13:34:36 +0000 (16:34 +0300)]
structure: fix int->gint to be in sync with the *.h  and usage

15 years agoautogen.sh: Use printf instead of 'echo -n'. Check for automake-1.1[01]
Jan Schmidt [Fri, 26 Jun 2009 12:33:50 +0000 (13:33 +0100)]
autogen.sh: Use printf instead of 'echo -n'. Check for automake-1.1[01]

Check for more automake command variants. Use printf instead of 'echo -n'
for portability

15 years agoAutomatic update of common submodule
Jan Schmidt [Fri, 26 Jun 2009 12:41:11 +0000 (13:41 +0100)]
Automatic update of common submodule

From f810030 to 5845b63

15 years agorequest-pad: tell about ref counts in release_request_pad docs.
Stefan Kost [Fri, 26 Jun 2009 09:50:53 +0000 (12:50 +0300)]
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.

15 years agobasesink: don't do things with side effects within a g_assert()
Tim-Philipp Müller [Thu, 25 Jun 2009 10:25:46 +0000 (11:25 +0100)]
basesink: don't do things with side effects within a g_assert()

Make the bufferlist stuff work properly when things are compiled
with -DG_DISABLE_ASSERT.

15 years agocaps: avoid doing logic in g_assert
Wim Taymans [Wed, 24 Jun 2009 16:31:08 +0000 (18:31 +0200)]
caps: avoid doing logic in g_assert

Make sure we still do the right thing when glib is compiled without
assertions.

15 years agomultiqueue: Fire the overrun signal on EOS
Jan Schmidt [Mon, 22 Jun 2009 04:00:54 +0000 (05:00 +0100)]
multiqueue: Fire the overrun signal on EOS

Fixes startup of some short MPEG files with decodebin2/playbin2
where all the data fits in the multiqueue and EOS arrives before
the group is exposed.

15 years agoAutomatic update of common submodule
Jan Schmidt [Wed, 24 Jun 2009 14:13:37 +0000 (15:13 +0100)]
Automatic update of common submodule

From f3bb51b to f810030

15 years agoGstStructure: Use direct values for repetitive conditionals (for/while).
Edward Hervey [Sat, 28 Mar 2009 12:59:08 +0000 (13:59 +0100)]
GstStructure: Use direct values for repetitive conditionals (for/while).

15 years agominiobjects: Don't chain up to empty finalize method.
Edward Hervey [Wed, 24 Jun 2009 08:45:52 +0000 (10:45 +0200)]
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.

15 years agogstcaps: Use direct values for repetitive conditionals (for/while).
Edward Hervey [Fri, 27 Mar 2009 19:17:15 +0000 (20:17 +0100)]
gstcaps: Use direct values for repetitive conditionals (for/while).

15 years agomake check: add check for enum type class unrefs in gst_deinit() too
Tim-Philipp Müller [Wed, 24 Jun 2009 08:28:01 +0000 (09:28 +0100)]
make check: add check for enum type class unrefs in gst_deinit() too

Just because we can really.

15 years agotrace: use proper locking in GstTrace
Wim Taymans [Tue, 23 Jun 2009 11:44:50 +0000 (13:44 +0200)]
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.

15 years agoobject: also add pointers to debug
Wim Taymans [Tue, 23 Jun 2009 11:34:35 +0000 (13:34 +0200)]
object: also add pointers to debug

Add the object pointers in the debug info for _replace.

15 years agocapsfilter: Add GAP flag support
Chad Hanna [Tue, 23 Jun 2009 10:56:59 +0000 (12:56 +0200)]
capsfilter: Add GAP flag support

capsfilter doesn't actually touch the data so we don't want the GAP flag to
be unset by basetransform.

Fixes bug #586566.

15 years agodefs: add new byte reader methods
Wim Taymans [Tue, 23 Jun 2009 08:05:03 +0000 (10:05 +0200)]
defs: add new byte reader methods

15 years agobytereader: add a bunch of utility functions for strings and a data dup function
Tim-Philipp Müller [Fri, 22 May 2009 13:47:33 +0000 (14:47 +0100)]
bytereader: add a bunch of utility functions for strings and a data dup function

API: gst_byte_reader_dup_data
API: gst_byte_reader_dup_string
API: gst_byte_reader_dup_string_utf8
API: gst_byte_reader_dup_string_utf16
API: gst_byte_reader_dup_string_utf32
API: gst_byte_reader_skip_string
API: gst_byte_reader_skip_string_utf8
API: gst_byte_reader_skip_string_utf16
API: gst_byte_reader_skip_string_utf32
API: gst_byte_reader_peek_string
API: gst_byte_reader_peek_string_utf8
API: gst_byte_reader_get_string
API: gst_byte_reader_get_string_utf8

And some basic unit tests. Fixes #586568.

15 years agotaglist: fix typo in tag description
Stefan Kost [Mon, 22 Jun 2009 15:17:28 +0000 (18:17 +0300)]
taglist: fix typo in tag description

15 years agotests: fix crash and leak in bufferlists unit test
Tim-Philipp Müller [Sat, 20 Jun 2009 23:26:33 +0000 (00:26 +0100)]
tests: fix crash and leak in bufferlists unit test

Don't access already-freed iterator, makes check-valgrind work and fixes
crash on PPC; unref buffer we're going to steal to make valgrind happy.

15 years agoinit: Fix indent, and ref the gst_buffer_list_item_get_type() class
Jan Schmidt [Sat, 20 Jun 2009 23:09:53 +0000 (00:09 +0100)]
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

15 years agogst-inspect: fix broken flags to flag string serialisation
Tim-Philipp Müller [Fri, 19 Jun 2009 20:03:46 +0000 (21:03 +0100)]
gst-inspect: fix broken flags to flag string serialisation

e.g. cdparnoiasrc would show fragment|full for a flags value of 2.

15 years agotee: add buffer-list support
Wim Taymans [Fri, 19 Jun 2009 17:35:04 +0000 (19:35 +0200)]
tee: add buffer-list support

15 years agobufferlist: remove old enum from docs
Wim Taymans [Fri, 19 Jun 2009 17:24:56 +0000 (19:24 +0200)]
bufferlist: remove old enum from docs

15 years agogstinfo: define __gst_debug_min to LOG_LEVEL_NONE if debugging is disabled
Tim-Philipp Müller [Fri, 19 Jun 2009 13:45:42 +0000 (14:45 +0100)]
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*).

15 years agobufferlist: Various cleanups
Wim Taymans [Fri, 19 Jun 2009 13:29:14 +0000 (15:29 +0200)]
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.

15 years agodocs: make gtk-doc happy
Tim-Philipp Müller [Fri, 19 Jun 2009 13:10:30 +0000 (14:10 +0100)]
docs: make gtk-doc happy

15 years agopo: update .po files after string changes
Tim-Philipp Müller [Fri, 19 Jun 2009 12:51:59 +0000 (13:51 +0100)]
po: update .po files after string changes

15 years agofdsink: clean up some more error and debug messages
Tim-Philipp Müller [Fri, 19 Jun 2009 12:48:48 +0000 (13:48 +0100)]
fdsink: clean up some more error and debug messages

15 years agotaskpool: fix unused variable warning in case debugging is disabled
Tim-Philipp Müller [Fri, 19 Jun 2009 12:42:45 +0000 (13:42 +0100)]
taskpool: fix unused variable warning in case debugging is disabled

15 years agogstinfo: fix export of GST_CAT_BUFFER_LIST when --gst-disable-debug is used
Tim-Philipp Müller [Fri, 19 Jun 2009 12:40:13 +0000 (13:40 +0100)]
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.

15 years agocollectpads: use the right flushing flag.
Wim Taymans [Thu, 18 Jun 2009 14:50:42 +0000 (16:50 +0200)]
collectpads: use the right flushing flag.

We need to use the pad private flag because the other pad flag is protected with
the pad lock instead.

15 years agocollectpads: Properly handle flushing pads.
Edward Hervey [Thu, 18 Jun 2009 14:41:46 +0000 (16:41 +0200)]
collectpads: Properly handle flushing pads.

If a pad is flushing, it should not be considered as either eos or
containing data.

15 years agofdsink: fix error message
Tim-Philipp Müller [Thu, 18 Jun 2009 10:27:21 +0000 (11:27 +0100)]
fdsink: fix error message

Users should never see the term 'file descriptor', much less a file
descriptor number, in an error message. Put that into the debug
string instead and use the default error message.

15 years agofdsink: add the new field in the header
Wim Taymans [Thu, 18 Jun 2009 09:49:33 +0000 (11:49 +0200)]
fdsink: add the new field in the header

15 years agofdsink: make fdsink seekable
Benjamin Gaignard [Thu, 18 Jun 2009 08:55:39 +0000 (10:55 +0200)]
fdsink: make fdsink seekable

Implement the same logic as filesink to implement seeking.

Fixes #578908

15 years agogstelement: moved the clock unref to the right place
Josep Torra [Wed, 17 Jun 2009 14:45:17 +0000 (16:45 +0200)]
gstelement: moved the clock unref to the right place

15 years agogstelement: unref the clock when the element changes to null state
Josep Torra [Wed, 17 Jun 2009 14:17:27 +0000 (16:17 +0200)]
gstelement: unref the clock when the element changes to null state

15 years agoReplaced deprecated win32-compatibility function with undeprecated one.
Руслан Ижбулатов [Tue, 16 Jun 2009 20:29:40 +0000 (00:29 +0400)]
Replaced deprecated win32-compatibility function with undeprecated one.

Fixes #560442.

15 years agogstbin: swap the lines of my previous commit
Josep Torra [Tue, 16 Jun 2009 16:32:12 +0000 (18:32 +0200)]
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.

15 years agogstbin: remove clock references when clock lost happens
Josep Torra [Tue, 16 Jun 2009 15:51:12 +0000 (17:51 +0200)]
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.

15 years agobasesink: add Since tag for new method
Wim Taymans [Tue, 16 Jun 2009 11:34:38 +0000 (13:34 +0200)]
basesink: add Since tag for new method

15 years agobasesink: add support for buffer list
Branko Subasic [Tue, 16 Jun 2009 11:32:37 +0000 (13:32 +0200)]
basesink: add support for buffer list

Fixes #585960

15 years agoghostpad: Add support for GstBufferLists
Branko Subasic [Tue, 16 Jun 2009 09:34:54 +0000 (11:34 +0200)]
ghostpad: Add support for GstBufferLists

Fixes #585834

15 years agoiterator: Explicitly mention refcounting in docs
Christopher Halse Rogers [Tue, 16 Jun 2009 09:21:42 +0000 (11:21 +0200)]
iterator: Explicitly mention refcounting in docs

Fixes #585938

15 years agogstxml: fix (de)serialisation of properties of type GstStructure
Tim-Philipp Müller [Tue, 16 Jun 2009 07:43:53 +0000 (08:43 +0100)]
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.

15 years agoqueue: fix compiler warning
Tim-Philipp Müller [Mon, 15 Jun 2009 19:11:05 +0000 (20:11 +0100)]
queue: fix compiler warning

The compiler suggests to add some () to indicate if the && or the || takes
priority, so reflow code a bit so we don't have to add yet another layer
of (). Hopefully this was the intended meaning of the code.

15 years agodon't lock when min-threshold and max-size conflict.
Arnout Vandecappelle [Thu, 11 Jun 2009 13:00:52 +0000 (15:00 +0200)]
don't lock when min-threshold and max-size conflict.

When min-threshold is set on a queue, it is possible that one of
the minima remains unsatisfied while one of the maxima is already
reached. Therefore, always consider the queue non-empty if it is full.

Fixes #585433.

15 years agobin: make sure we set the next state correctly
Wim Taymans [Mon, 15 Jun 2009 16:44:45 +0000 (18:44 +0200)]
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

15 years agocollectpads: fix .h indentation
Wim Taymans [Mon, 15 Jun 2009 16:44:14 +0000 (18:44 +0200)]
collectpads: fix .h indentation

15 years agobasesrc: add some more debug
Wim Taymans [Mon, 15 Jun 2009 16:43:52 +0000 (18:43 +0200)]
basesrc: add some more debug

15 years agodebug: add some more debug to element and pads
Wim Taymans [Mon, 15 Jun 2009 16:42:59 +0000 (18:42 +0200)]
debug: add some more debug to element and pads

15 years agosegment: fix include order to get config.h before _mingw.h
Руслан Ижбулатов [Sun, 14 Jun 2009 12:56:32 +0000 (16:56 +0400)]
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.

15 years agotaglist: add functions to create a new taglist with tags in one go
Tim-Philipp Müller [Sun, 14 Jun 2009 15:17:50 +0000 (16:17 +0100)]
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()

15 years agogit-version.sh: make executable
Thomas Vander Stichele [Sat, 13 Jun 2009 12:55:43 +0000 (14:55 +0200)]
git-version.sh: make executable

15 years agoUpdate scripts/cvs-update.sh to git-update.sh; add git-version.sh
Thomas Vander Stichele [Sat, 13 Jun 2009 12:53:24 +0000 (14:53 +0200)]
Update scripts/cvs-update.sh to git-update.sh; add git-version.sh

    add script to get git versions
    first update all, then build
    add gnonlin too
    specify where to pull from
    also update submodule
    rename and change cvs-update script to git-update

15 years agobytereader: add gst_byte_reader_masked_scan_uint32()
Tim-Philipp Müller [Fri, 12 Jun 2009 17:36:15 +0000 (18:36 +0100)]
bytereader: add gst_byte_reader_masked_scan_uint32()

Add a pattern scan function similar to the one recently added to
GstAdapter, and a unit test (based on the adapter one).
Fixes #585592.

API: add gst_byte_reader_masked_scan_uint32()

15 years agoFix remaining --disable-gst-debug ABI breakage.
René Stadler [Fri, 17 Apr 2009 14:59:38 +0000 (17:59 +0300)]
Fix remaining --disable-gst-debug ABI breakage.

Fixes #579177.

15 years agofilesrc/sink: turn the bus messages into g_warning
Stefan Kost [Fri, 12 Jun 2009 14:51:22 +0000 (17:51 +0300)]
filesrc/sink: turn the bus messages into g_warning

Its a programming error.

15 years agomessage: fix docs
Wim Taymans [Fri, 12 Jun 2009 13:48:35 +0000 (15:48 +0200)]
message: fix docs

15 years agostepping: more stepping improvements
Wim Taymans [Fri, 12 Jun 2009 11:18:21 +0000 (13:18 +0200)]
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.

15 years agobasesink: post step-start
Wim Taymans [Wed, 10 Jun 2009 13:51:40 +0000 (15:51 +0200)]
basesink: post step-start

when we clip, also stop the stepping.
Don't do QoS when stepping
Post step-start when queueing and activating the step.

15 years agomessage: add step-start message
Wim Taymans [Wed, 10 Jun 2009 13:48:35 +0000 (15:48 +0200)]
message: add step-start message

15 years agogstvalue: more efficient value table lookup for fundamental types
Tim-Philipp Müller [Thu, 11 Jun 2009 13:18:03 +0000 (14:18 +0100)]
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.

15 years agogstvalue: don't put GTypes into int variables
Tim-Philipp Müller [Thu, 11 Jun 2009 12:16:15 +0000 (13:16 +0100)]
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
99f16655f4cfbc8e06b5972417ba11279083a64e.

15 years agofilesrc/sink: improve warning message a bit (wrong state)
Stefan Kost [Thu, 11 Jun 2009 14:03:04 +0000 (17:03 +0300)]
filesrc/sink: improve warning message a bit (wrong state)

Unify and turn those into element warnings.

15 years agoelementfactory: Fix a compiler warning
Jan Schmidt [Thu, 11 Jun 2009 13:00:09 +0000 (14:00 +0100)]
elementfactory: Fix a compiler warning

Use (gpointer) instead of (gpointer *) to fix a strict-aliasing build warning.

15 years agodocs: Bump common, fix the upload logic inclusion
Jan Schmidt [Thu, 11 Jun 2009 12:16:29 +0000 (13:16 +0100)]
docs: Bump common, fix the upload logic inclusion

Update the common submodule, and fix the docs upload rules to include
the right makefile snippet from common.

15 years agomultiqueue: Use the slice allocator for MultiQueueItems
Jan Schmidt [Tue, 9 Jun 2009 10:13:04 +0000 (11:13 +0100)]
multiqueue: Use the slice allocator for MultiQueueItems

15 years agoMake sure config.h is only included once
Tim-Philipp Müller [Wed, 10 Jun 2009 19:29:41 +0000 (20:29 +0100)]
Make sure config.h is only included once

Fixes build problem on win32 (#585075).

15 years agoplugin: add since: tags for the api docs.
Stefan Kost [Wed, 10 Jun 2009 15:05:47 +0000 (18:05 +0300)]
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

15 years agoplugin: fix leaks introduced by fix for #584389
Stefan Kost [Wed, 10 Jun 2009 09:02:23 +0000 (12:02 +0300)]
plugin: fix leaks introduced by fix for #584389

15 years agostructure: add gst_structure_*_get*() vararg functions
Tim-Philipp Müller [Mon, 8 Jun 2009 22:43:16 +0000 (23:43 +0100)]
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()

15 years agodocs: a few small API doc fixes and additions
Tim-Philipp Müller [Mon, 8 Jun 2009 23:16:05 +0000 (00:16 +0100)]
docs: a few small API doc fixes and additions

15 years agologging: when logging taglists, shorten long buffer dumps
Tim-Philipp Müller [Mon, 8 Jun 2009 18:33:55 +0000 (19:33 +0100)]
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.

15 years agomultiqueue: check byte range even when we have timestamps
Wim Taymans [Tue, 9 Jun 2009 11:07:34 +0000 (13:07 +0200)]
multiqueue: check byte range even when we have timestamps

As found by thaytan on IRC.
Also check the byte limit, even if we have timestamps because there might just
not be a time limit.

15 years agobasesink: update segment start/stop for clipping
Wim Taymans [Tue, 9 Jun 2009 10:06:35 +0000 (12:06 +0200)]
basesink: update segment start/stop for clipping

When we start stepping, store the start/stop values of the segment before we
install new start/stop values for clipping in non-flushing steps.

for non-flushing steps, update the element start time. For flushing steps, it
does not change because running_time does not advance

Make sure we always perform the stop_stepping operations even when we drop
frames.

15 years agobasesink: do proper clipping in stepping
Wim Taymans [Tue, 9 Jun 2009 08:25:34 +0000 (10:25 +0200)]
basesink: do proper clipping in stepping

Update the stop position of the segment so that we clip correctly.
After clipping in non-flushing mode, rerender the remainder of the buffer.

15 years agosegment: make conversion more precise
Wim Taymans [Tue, 9 Jun 2009 08:23:23 +0000 (10:23 +0200)]
segment: make conversion more precise

Make sure the conversion from and the conversion to give the same results.

15 years agoutils: gst_util_uint64_scale*() micro-optimisations
Tim-Philipp Müller [Mon, 8 Jun 2009 14:39:59 +0000 (15:39 +0100)]
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().

15 years agoRemove double semicolons at end of line
Tim-Philipp Müller [Sun, 7 Jun 2009 21:49:01 +0000 (22:49 +0100)]
Remove double semicolons at end of line

15 years agostepping: do flushing steps correctly
Wim Taymans [Mon, 8 Jun 2009 15:39:47 +0000 (17:39 +0200)]
stepping: do flushing steps correctly

Note in the docs that a flushing step in PLAYING brings the pipeline to the lost
state and skips the data before prerolling again.

Implement the flushing step correctly by invalidating the current step
operation, which would activate the new step operation.

15 years agobasesink: Change awkward wording in a translateable message.
Jan Schmidt [Mon, 8 Jun 2009 15:16:27 +0000 (16:16 +0100)]
basesink: Change awkward wording in a translateable message.

15 years agobasesink: add non-flushing steps
Wim Taymans [Mon, 8 Jun 2009 14:27:36 +0000 (16:27 +0200)]
basesink: add non-flushing steps

Add support for non-flushing steps and with different rates.
Clear step info when flushing

15 years agoregistry: allow plugins to cache extra data in registry. Fixes #570233
Stefan Kost [Sun, 7 Jun 2009 20:46:54 +0000 (23:46 +0300)]
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.

15 years agoregistry: don't recreate features on first use. Fixes #584389
Stefan Kost [Sun, 7 Jun 2009 19:09:14 +0000 (22:09 +0300)]
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().

15 years agotests: conditionally compile the streams example
Wim Taymans [Sun, 7 Jun 2009 20:20:54 +0000 (22:20 +0200)]
tests: conditionally compile the streams example

Detect pthreads.h in configure.ac
Only compile the streams example when pthreads.h is present.

Fixes #585039

15 years agogstvalue: remove type checks and redundant code
Wim Taymans [Sun, 7 Jun 2009 15:32:35 +0000 (17:32 +0200)]
gstvalue: remove type checks and redundant code

15 years agovalue: fix fraction range lcopy function
Wim Taymans [Sun, 7 Jun 2009 13:43:57 +0000 (15:43 +0200)]
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...

15 years agogstvalue: performance improvements
Wim Taymans [Sun, 7 Jun 2009 13:35:12 +0000 (15:35 +0200)]
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

15 years agostructure: no need to clear on init
Wim Taymans [Sun, 7 Jun 2009 12:30:28 +0000 (14:30 +0200)]
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.

15 years agogststructure: Fix some memory leaks. Sprinkle G_LIKELY/UNLIKELY
Jan Schmidt [Fri, 5 Jun 2009 19:57:05 +0000 (20:57 +0100)]
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.

15 years agobasesrc: reply to QUERY_SEEKING with original format. Fixes #584838.
Mark Nauwelaerts [Fri, 5 Jun 2009 09:37:24 +0000 (11:37 +0200)]
basesrc: reply to QUERY_SEEKING with original format.  Fixes #584838.

15 years agoconfigure: remove AC_C_INLINE and update win32 files to git
Tim-Philipp Müller [Thu, 4 Jun 2009 18:44:38 +0000 (19:44 +0100)]
configure: remove AC_C_INLINE and update win32 files to git

Remove AC_C_INLINE check, so we don't end up with an #undef inline in
config.h, which causes problems with some versions of MSCV apparently.
GLib defines inline for us in a suitable way already anyway.
Fixes #584835.

While we're at it, also update the other win32 files to git (bump
version, add new defines and enums).

15 years agoghostpad: avoid excessive notify for caps
Wim Taymans [Thu, 4 Jun 2009 16:26:04 +0000 (18:26 +0200)]
ghostpad: avoid excessive notify for caps

Avoid an object property notify if the caps on the other pad were already
set (and thus notified).

15 years agobasesink: fix clipped start/stop after step
Wim Taymans [Thu, 4 Jun 2009 15:27:03 +0000 (17:27 +0200)]
basesink: fix clipped start/stop after step

Use the segment helpers to get a more accurate clipped start/stop position after
a stepping operation ended.

15 years agobasesink: use more correct segment methods
Wim Taymans [Thu, 4 Jun 2009 10:34:47 +0000 (12:34 +0200)]
basesink: use more correct segment methods

Use the more correct new segment methods for updating the segment before and
after a step.

15 years agosegment: add gst_segment_set_running_time
Wim Taymans [Thu, 4 Jun 2009 10:48:51 +0000 (12:48 +0200)]
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()

15 years agopo: update .po files for string changes
Tim-Philipp Müller [Wed, 3 Jun 2009 23:37:28 +0000 (00:37 +0100)]
po: update .po files for string changes

This makes sure that people who get themselves a fresh checkout
don't immediately have changed *po files after running make, which
would cause a bit of hassle next time the files are updated. Better
to keep them up-to-date when strings change.

15 years agoerrors: reword state change failed error message and remove bugzilla link
Tim-Philipp Müller [Wed, 3 Jun 2009 23:54:24 +0000 (00:54 +0100)]
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.