platform/upstream/gstreamer.git
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.

15 years agogst-launch: refer to element, pad, or object in some message strings
Tim-Philipp Müller [Wed, 3 Jun 2009 23:29:31 +0000 (00:29 +0100)]
gst-launch: refer to element, pad, or object in some message strings

Revisit these strings now that the change regarding the message source
object in gst_element_found_tags_for_pad() got reverted. Try to refer
explicitly to what kind of element it is (element, pad, etc.) in some
cases, which is nicer than having to deduce this info (and we can
re-use the already existing translated strings for the most common
case). It also makes for better example code, since it's clear now
that the message source object doesn't have to be an element.

15 years agoAPI: add GST_MESSAGE_SRC_NAME macro
Tim-Philipp Müller [Wed, 3 Jun 2009 20:10:39 +0000 (21:10 +0100)]
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.

15 years agosegment: add method for converting to position
Wim Taymans [Wed, 3 Jun 2009 17:06:30 +0000 (19:06 +0200)]
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()

15 years agobasesink; handle EOS correctly.
Wim Taymans [Wed, 3 Jun 2009 13:39:13 +0000 (15:39 +0200)]
basesink; handle EOS correctly.

Handle EOS and buffers without a timestamp gracefully.
Remove a warning that is not so much a warning now anymore.

15 years agoRevert "go back to allowing gettext 0.11.5, but don't mix with libtool 2.2"
Tim-Philipp Müller [Wed, 3 Jun 2009 08:45:25 +0000 (09:45 +0100)]
Revert "go back to allowing gettext 0.11.5, but don't mix with libtool 2.2"

This reverts commit 31c09d738ce7f47bff9d292996e9489c275e55a1.

Reverting this, since it breaks autogen.sh for me on debian sid.
Failure is: "libtool 2.2 requires autopoint 0.17 or higher" even though
0.17 was found.

15 years agoRevert "only update submodule when it is not on a specific branch"
Tim-Philipp Müller [Wed, 3 Jun 2009 08:41:21 +0000 (09:41 +0100)]
Revert "only update submodule when it is not on a specific branch"

This reverts commit 93b83333aad519c5555156576f0baa3be7b263f3.

Reverting since this fails on a fresh checkout. Also, we shouldn't
depend on possibly translated strings.

15 years agodocs: fix up reference to gst-launch-0.8
Tim-Philipp Müller [Wed, 3 Jun 2009 00:56:10 +0000 (01:56 +0100)]
docs: fix up reference to gst-launch-0.8

Also mention decodebin2, uridecodebin, and playbin2

15 years agobasesink: forget previous times when stepping
Wim Taymans [Wed, 3 Jun 2009 08:39:53 +0000 (10:39 +0200)]
basesink: forget previous times when stepping

When we start a flushing step operation, forget about the previous stream time
so that the position reporting works correctly.

15 years agogo back to allowing gettext 0.11.5, but don't mix with libtool 2.2
Thomas Vander Stichele [Tue, 2 Jun 2009 23:25:26 +0000 (01:25 +0200)]
go back to allowing gettext 0.11.5, but don't mix with libtool 2.2

15 years agoonly update submodule when it is not on a specific branch
Thomas Vander Stichele [Tue, 2 Jun 2009 23:01:57 +0000 (01:01 +0200)]
only update submodule when it is not on a specific branch

15 years agotools: Set pipeline to PAUSED before waiting for main loop idle
David Schleef [Tue, 2 Jun 2009 20:45:52 +0000 (13:45 -0700)]
tools: Set pipeline to PAUSED before waiting for main loop idle

When it is shutting down a pipeline after ctrl-c, set pipeline to
paused before waiting for the main loop to complete all pending
transactions.  Fixes #584657.

If some part of the pipeline is generating signals or idle functions
at a fast rate, waiting for a main loop iteration may never return.

15 years agostructure: fix serialisation of nested structures.
Stefan Kost [Tue, 2 Jun 2009 15:36:10 +0000 (18:36 +0300)]
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.

15 years agobasesink: fix regression in unit tests
Wim Taymans [Tue, 2 Jun 2009 13:37:22 +0000 (15:37 +0200)]
basesink: fix regression in unit tests

Store the timestamp of the buffer after prerolling. While we are prerolled we
want to report the position of the segment start value.

15 years agoinfo: widen log level strings to take into account the new MEMDUMP
Tim-Philipp Müller [Mon, 1 Jun 2009 19:26:53 +0000 (20:26 +0100)]
info: widen log level strings to take into account the new MEMDUMP

15 years agobasesink: post a warning on excessive framedrops
Wim Taymans [Mon, 1 Jun 2009 17:37:14 +0000 (19:37 +0200)]
basesink: post a warning on excessive framedrops

When we go into emergency rendering, post a warning informing the user about
this fact.

15 years agobasesink: more stepping in reverse
Wim Taymans [Sun, 31 May 2009 17:10:02 +0000 (19:10 +0200)]
basesink: more stepping in reverse

Fix stepping and position reporting in reverse playback.

15 years agobasesink: use start_time as the step start
Wim Taymans [Fri, 29 May 2009 14:06:52 +0000 (16:06 +0200)]
basesink: use start_time as the step start

Use the start_time of the element as the point from where the step operation
starts. This fixes stepping in all paused states.

15 years agobasesink: catch step cases in _wait_preroll()
Wim Taymans [Tue, 19 May 2009 17:45:06 +0000 (19:45 +0200)]
basesink: catch step cases in _wait_preroll()

When a subclass is blocking in _wait_preroll() in the _render method, make sure
we can unlock the subclass and detect this return value from the render method.

15 years agobasesink: more stepping in reverse fixes
Wim Taymans [Tue, 19 May 2009 08:50:57 +0000 (10:50 +0200)]
basesink: more stepping in reverse fixes

15 years agobasesink: small cleanups
Wim Taymans [Mon, 18 May 2009 16:41:45 +0000 (18:41 +0200)]
basesink: small cleanups

15 years agoframestep: implement backwards framestep
Wim Taymans [Mon, 18 May 2009 13:48:20 +0000 (15:48 +0200)]
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.

15 years agobasesink: add framestepping in time
Wim Taymans [Fri, 15 May 2009 13:25:06 +0000 (15:25 +0200)]
basesink: add framestepping in time

15 years agoexamples: step in time as well
Wim Taymans [Fri, 15 May 2009 13:24:30 +0000 (15:24 +0200)]
examples: step in time as well

15 years agoexample: print step_done message and sync
Wim Taymans [Fri, 15 May 2009 10:02:02 +0000 (12:02 +0200)]
example: print step_done message and sync

Dump the step_done message contents.
Sync against the clock when going to PLAYING.

15 years agobasesink: keep track of stepped time
Wim Taymans [Fri, 15 May 2009 10:05:44 +0000 (12:05 +0200)]
basesink: keep track of stepped time

Pass running_time around so that the stepping code can calculate the elapsed
time correctly.

15 years agobasesink: move stuff around, more stepping
Wim Taymans [Thu, 14 May 2009 17:29:08 +0000 (19:29 +0200)]
basesink: move stuff around, more stepping

Make start and stop_stepping methods and move their invocation in the right
places.

Perform the atual stepping operation where we have full context about the
timestamps.

15 years agoAdd frame stepping in PAUSED example
Wim Taymans [Mon, 11 May 2009 16:56:03 +0000 (18:56 +0200)]
Add frame stepping in PAUSED example

15 years agobasesink: first stab at frame stepping in PAUSED
Wim Taymans [Mon, 11 May 2009 16:56:56 +0000 (18:56 +0200)]
basesink: first stab at frame stepping in PAUSED

Unlock the prerolled frame and recheck if we need to step.
Keep a simple counter for the frames we're about to skip while stepping and
preroll/post step_done when stepping finished.

15 years agoadd new API for framestepping
Wim Taymans [Mon, 1 Jun 2009 10:19:52 +0000 (12:19 +0200)]
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()

15 years agostructures: don't leak invalid or empty strings when we warn
Tim-Philipp Müller [Mon, 1 Jun 2009 09:05:32 +0000 (10:05 +0100)]
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.

15 years agocontroller: add test for cubic int. and too few control points
Stefan Kost [Mon, 1 Jun 2009 08:08:31 +0000 (11:08 +0300)]
controller: add test for cubic int. and too few control points

Added another tests to check some worries in Bug #582564.

15 years agofakesrc: add a FIXME comment for blocksize vs. size-max property issue
Stefan Kost [Thu, 28 May 2009 09:31:08 +0000 (12:31 +0300)]
fakesrc: add a FIXME comment for blocksize vs. size-max property issue

15 years agoidentity: hack around g_object_notify() bug by protecting it with a lock
Tim-Philipp Müller [Sun, 31 May 2009 20:27:40 +0000 (21:27 +0100)]
identity: hack around g_object_notify() bug by protecting it with a lock

Out-of-band events might lead to us calling g_object_notify() from a
non-streaming thread, which can cause crashes if g_object_notify() is
being called from the streaming thread at the same time. See #554460.

15 years agocontroller: use real world number in benchmark
Stefan Kost [Sun, 31 May 2009 19:37:59 +0000 (22:37 +0300)]
controller: use real world number in benchmark

15 years agoregistry: fix comment formatting
Stefan Kost [Sun, 31 May 2009 19:37:03 +0000 (22:37 +0300)]
registry: fix comment formatting