platform/upstream/gstreamer.git
14 years agosubparse: Make fps a GstFraction typed property and use it properly
Sebastian Dröge [Sat, 7 Nov 2009 10:31:09 +0000 (11:31 +0100)]
subparse: Make fps a GstFraction typed property and use it properly

14 years agosubparse: Add property for the video framerate
Iago Toral [Sat, 7 Nov 2009 10:08:19 +0000 (11:08 +0100)]
subparse: Add property for the video framerate

14 years agoplaybin2: Handle external subtitles better
Sebastian Dröge [Fri, 6 Nov 2009 11:51:22 +0000 (12:51 +0100)]
playbin2: Handle external subtitles better

First of all, make sure that suburidecodebin never
errors out because of not-linked in case external subtitles
are used but then subtitles are disabled.

And then make sure that external subtitles always start from
the correct position and are not racing until EOS if they
get unselected and selected again.

14 years agoplaybin2: Flush the subtitles before switching to a new subtitle stream
Sebastian Dröge [Wed, 4 Nov 2009 16:29:07 +0000 (17:29 +0100)]
playbin2: Flush the subtitles before switching to a new subtitle stream

This makes sure that all currently shown subtitles disappear
and new ones can be shown as soon as possible.

14 years agoplaybin2: Set subtitle caps as raw caps for the uridecodebins
Sebastian Dröge [Tue, 3 Nov 2009 11:47:55 +0000 (12:47 +0100)]
playbin2: Set subtitle caps as raw caps for the uridecodebins

This will make sure that no subparse is ever plugged and subtitleoverlay,
that subpicture streams are handled the same was as subtitles and that
subtitle renderers are used if available.

Fixes bugs #595123, #570753, #591662, #591706.

14 years agoplaybin2/playsink: Remove everything related to subpicture streams
Sebastian Dröge [Tue, 3 Nov 2009 11:33:40 +0000 (12:33 +0100)]
playbin2/playsink: Remove everything related to subpicture streams

These will soon be handled the same way as subtitle streams.

14 years agoplaysink: Add a queue before subtitleoverlay
Sebastian Dröge [Mon, 2 Nov 2009 14:50:17 +0000 (15:50 +0100)]
playsink: Add a queue before subtitleoverlay

This will improve playback, and the same thing is done
for subpicture streams too.

14 years agoplaysink: Use subtitleoverlay for subtitles
Sebastian Dröge [Mon, 2 Nov 2009 14:05:41 +0000 (15:05 +0100)]
playsink: Use subtitleoverlay for subtitles

14 years agosubtitleoverlay: Add to the docs
Sebastian Dröge [Mon, 2 Nov 2009 06:43:42 +0000 (07:43 +0100)]
subtitleoverlay: Add to the docs

14 years agosubtitleoverlay: Add new element for generic subtitle overlaying
Sebastian Dröge [Tue, 13 Oct 2009 14:48:34 +0000 (16:48 +0200)]
subtitleoverlay: Add new element for generic subtitle overlaying

This autopluggs the required elements for parsing and rendering
different subtitle formats on a video stream.

Fixes bug #600370.

14 years agotheoradec: Keep timestamp from incoming buffer if it is valid
Olivier Crête [Thu, 12 Nov 2009 00:32:01 +0000 (19:32 -0500)]
theoradec: Keep timestamp from incoming buffer if it is valid

Fixes bug #601627.

14 years agoplayback: Update factories list on every access if the registry has changed
Sebastian Dröge [Wed, 11 Nov 2009 13:00:26 +0000 (14:00 +0100)]
playback: Update factories list on every access if the registry has changed

This makes application's simpler because the element doesn't need to
go to NULL first to make use of newly installed plugins.

Fixes bug #601480.

14 years agoplayback: When going from NULL->READY check if the registry has new features
Sebastian Dröge [Tue, 10 Nov 2009 17:13:25 +0000 (18:13 +0100)]
playback: When going from NULL->READY check if the registry has new features

This makes it possible to use newly installed plugins after going back
to NULL instead of requiring a new instance.

Fixes bug #599266.

14 years agoappsrc: Clear the EOS state on a seek.
Jan Schmidt [Tue, 10 Nov 2009 13:55:26 +0000 (13:55 +0000)]
appsrc: Clear the EOS state on a seek.

Allow seeking back into the stream after it hits EOS.

14 years agoaudioresample: Update speex resampler to latest GIT
Sebastian Dröge [Tue, 10 Nov 2009 11:21:50 +0000 (12:21 +0100)]
audioresample: Update speex resampler to latest GIT

14 years agoplaysink: assign chain->mute before using it
Tim-Philipp Müller [Tue, 10 Nov 2009 00:48:42 +0000 (00:48 +0000)]
playsink: assign chain->mute before using it

Fixes GObject warnings when starting totem.

14 years agotheora: Fix alignment of frames when converting
David Schleef [Thu, 29 Oct 2009 05:10:33 +0000 (22:10 -0700)]
theora: Fix alignment of frames when converting

Fix logic inversion in calculating the offset in the theora
frame when copying to a GStreamer frame.

14 years agoplayback: Fix the order in strcmp that I broke in previous commit.
Edward Hervey [Mon, 9 Nov 2009 18:58:20 +0000 (19:58 +0100)]
playback: Fix the order in strcmp that I broke in previous commit.

14 years agotypefind: Reduce number of calls to gst_type_find_peek.
Edward Hervey [Mon, 9 Nov 2009 18:16:21 +0000 (19:16 +0100)]
typefind: Reduce number of calls to gst_type_find_peek.

Shaves off a couple percents off typefinding

14 years agoplayback: Avoid expensive API calls in tight loop.
Edward Hervey [Mon, 9 Nov 2009 16:49:51 +0000 (17:49 +0100)]
playback: Avoid expensive API calls in tight loop.

We know we're dealing with GstPluginFeature.

14 years agocddabasesrc: Add unit test for property settings
Sebastian Dröge [Mon, 9 Nov 2009 17:11:42 +0000 (18:11 +0100)]
cddabasesrc: Add unit test for property settings

Also includes a regression test for bug #601104.

14 years agocddabasesrc: Never return a negative track number in get_uri()
Sebastian Dröge [Mon, 9 Nov 2009 17:04:23 +0000 (18:04 +0100)]
cddabasesrc: Never return a negative track number in get_uri()

14 years agocddabasesrc: Don't set the track to 1 every time a device is set
Sebastian Dröge [Mon, 9 Nov 2009 17:03:06 +0000 (18:03 +0100)]
cddabasesrc: Don't set the track to 1 every time a device is set

Fixes bug #601104.

14 years agoinputselector: Remove useless variables and fix a uninitialized variable compiler...
Sebastian Dröge [Sun, 8 Nov 2009 10:27:10 +0000 (11:27 +0100)]
inputselector: Remove useless variables and fix a uninitialized variable compiler warnings

14 years agodecodebin2: Add property to disable/enable posting of stream-topology messages
Sebastian Dröge [Fri, 6 Nov 2009 16:01:04 +0000 (17:01 +0100)]
decodebin2: Add property to disable/enable posting of stream-topology messages

Most people don't need this messages and generating them is quite
expensive.

14 years agodecodebin2: Protect subtitle elements and subtitle encoding by a new mutex
Sebastian Dröge [Fri, 6 Nov 2009 14:12:06 +0000 (15:12 +0100)]
decodebin2: Protect subtitle elements and subtitle encoding by a new mutex

Using the object lock here can and will lead to deadlocks because
of deep-notifies of property changes: the deep-notify handler will
get the parent of objects, which will take the object lock again.

Fixes bug #600479.

14 years agoinputselector: Make sure that running_time->timestamp calculation never becomes negative
Sebastian Dröge [Fri, 6 Nov 2009 12:13:38 +0000 (13:13 +0100)]
inputselector: Make sure that running_time->timestamp calculation never becomes negative

14 years agoexamples: Correct casting of g_signal* funcs first arguments
Mart Raudsepp [Fri, 6 Nov 2009 11:25:05 +0000 (13:25 +0200)]
examples: Correct casting of g_signal* funcs first arguments

This completes the deprecated GTK API fix in commits 81a0a986 and
79adfa54 - unlike gtk_signal_connect and co, g_signal_connect and
co take a gpointer, not a GtkObject.

14 years agouridecodebin: Improve all-raw-caps detection for pads
Sebastian Dröge [Fri, 6 Nov 2009 11:25:53 +0000 (12:25 +0100)]
uridecodebin: Improve all-raw-caps detection for pads

14 years agobasesrc: fix startup position in the ringbuffer
Wim Taymans [Fri, 6 Nov 2009 11:19:47 +0000 (12:19 +0100)]
basesrc: fix startup position in the ringbuffer

When we start and we need to produce the first sample, go to the next sample
that will be written into the ringbuffer instead of trying to go to sample 0.
We relied on rather small ringbuffer sizes to correctly go to the current
sample, which breaks whith large buffers.

Fixes #600945

14 years agoinputselector: Use the start time (i.e. timestamp) as the last stop
Sebastian Dröge [Fri, 6 Nov 2009 10:26:14 +0000 (11:26 +0100)]
inputselector: Use the start time (i.e. timestamp) as the last stop

Using the end time makes it impossible to replace buffers, which is
a big problem for subtitles that could have very long durations.

14 years agotextoverlay: Synchronize video/text based on the running time
Sebastian Dröge [Fri, 6 Nov 2009 11:08:19 +0000 (12:08 +0100)]
textoverlay: Synchronize video/text based on the running time

Instead of simply using the buffer timestamps.

14 years agotextoverlay: Clip text buffers to the text segment and reset segments properly
Sebastian Dröge [Fri, 6 Nov 2009 08:30:38 +0000 (09:30 +0100)]
textoverlay: Clip text buffers to the text segment and reset segments properly

14 years agotextoverlay: Put the video segment into the instance struct instead of allocating...
Sebastian Dröge [Fri, 6 Nov 2009 08:01:34 +0000 (09:01 +0100)]
textoverlay: Put the video segment into the instance struct instead of allocating it separately

14 years agotextoverlay: Check if text timestamp/duration is valid before clipping
Sebastian Dröge [Fri, 6 Nov 2009 08:05:09 +0000 (09:05 +0100)]
textoverlay: Check if text timestamp/duration is valid before clipping

14 years agotheoradec: printf format fix
Tim-Philipp Müller [Thu, 5 Nov 2009 23:33:42 +0000 (23:33 +0000)]
theoradec: printf format fix

14 years agogdpdepay: Clear adapter on flush and state change
Olivier Crête [Thu, 5 Nov 2009 14:42:09 +0000 (15:42 +0100)]
gdpdepay: Clear adapter on flush and state change

Fixes #600469

14 years agoinputselector: use _get_caps_reffed()
Wim Taymans [Thu, 5 Nov 2009 12:12:19 +0000 (13:12 +0100)]
inputselector: use _get_caps_reffed()

14 years agopad: rename new api from _refed to _reffed.
Stefan Kost [Thu, 5 Nov 2009 11:00:27 +0000 (13:00 +0200)]
pad: rename new api from _refed to _reffed.

Due to popular demand rename the new api as we still can.

14 years agoplaybin2: avoid copying caps
Wim Taymans [Wed, 4 Nov 2009 17:57:07 +0000 (18:57 +0100)]
playbin2: avoid copying caps

Use get_caps_refed() when we can.

14 years agodecodebin2: use new getcaps function to avoid copies
Wim Taymans [Wed, 4 Nov 2009 17:31:09 +0000 (18:31 +0100)]
decodebin2: use new getcaps function to avoid copies

Use the gst_pad_get_caps_refed() to avoid some caps copy functions.

14 years agouridecodebin: use faster element_link_pads
Wim Taymans [Wed, 4 Nov 2009 16:50:11 +0000 (17:50 +0100)]
uridecodebin: use faster element_link_pads

Use the faster gst_element_link_pads because we know for sure the sinkpad name
and we don't need to have the function search for a suitable pad anymore.

14 years agobaseaudiosink: make drift tolerance configurable
Wim Taymans [Wed, 4 Nov 2009 15:16:31 +0000 (16:16 +0100)]
baseaudiosink: make drift tolerance configurable

Add drift-tolerance property (defaulting to 20ms) to handle resync after clock
drift or timestamp drift instead of relying on the latency-time value for clock
drift and 500ms for timestamp drift.
Remove warning about discont timestamp and simply resync. The warning is in some
cases not correct and is triggered more frequently now that we lower the
tolerance value.

14 years agoplaybin2: Return NOT_LINKED for unselected text pads from a demuxer
Sebastian Dröge [Wed, 4 Nov 2009 09:52:06 +0000 (10:52 +0100)]
playbin2: Return NOT_LINKED for unselected text pads from a demuxer

We want to return NOT_LINKED for unselected pads but only for pads
from the normal uridecodebin. This makes sure that subtitle streams
are not raced past audio/video from decodebin2's multiqueue.

For pads from suburidecodebin OK should always be returned, otherwise
it will most likely stop with an error.

14 years agoinputselector: also add inline to the proto to fix the build
Stefan Kost [Wed, 4 Nov 2009 07:20:59 +0000 (08:20 +0100)]
inputselector: also add inline to the proto to fix the build

Merged from gst-plugins-bad, e1e9be6dbe1bd0df0543f2a72dcf9cc6d644dd78.

14 years agouridecodebin: Initialize caps property with the default raw caps
Sebastian Dröge [Tue, 3 Nov 2009 11:01:16 +0000 (12:01 +0100)]
uridecodebin: Initialize caps property with the default raw caps

14 years agodecodebin2: Use static caps for the default raw caps and put them into a separate...
Sebastian Dröge [Tue, 3 Nov 2009 10:48:40 +0000 (11:48 +0100)]
decodebin2: Use static caps for the default raw caps and put them into a separate header

This way we can use the same default raw caps everywhere.

14 years agotextoverlay: First draw outline text and then the real text
Sebastian Dröge [Tue, 3 Nov 2009 07:26:37 +0000 (08:26 +0100)]
textoverlay: First draw outline text and then the real text

Improves the output a bit because no parts of the outline are
overwritten again.

14 years agoplaybin: Make sure to keep a reference on the volume element
Josep Torra Valles [Sat, 31 Oct 2009 13:02:40 +0000 (14:02 +0100)]
playbin: Make sure to keep a reference on the volume element

Fixes null pointer dereferences under certain circumstances.

Fixes bug #595401.

14 years agopo: queue2 has moved to core
Edward Hervey [Sat, 31 Oct 2009 08:47:54 +0000 (09:47 +0100)]
po: queue2 has moved to core

14 years agoplaysink: Reset {mute,volume}-changed flags after setting the volume
Sebastian Dröge [Fri, 30 Oct 2009 08:24:30 +0000 (09:24 +0100)]
playsink: Reset {mute,volume}-changed flags after setting the volume

These flags are there to make sure that the volume is set, if there
is no volume element yet.

14 years agoplaysink: If notify::{volume,mute} is triggered by the volume element, update our...
Sebastian Dröge [Fri, 30 Oct 2009 08:24:03 +0000 (09:24 +0100)]
playsink: If notify::{volume,mute} is triggered by the volume element, update our internal state

14 years agoplaysink: Proxy notify::volume and notify::mute from the volume/mute elements (or...
Sebastian Dröge [Thu, 29 Oct 2009 13:30:31 +0000 (14:30 +0100)]
playsink: Proxy notify::volume and notify::mute from the volume/mute elements (or sinks)

Fixes bug #600027.

14 years agoplaybin2: Proxy notify::volume and notify::mute from the playsink to playbin2
Sebastian Dröge [Thu, 29 Oct 2009 13:19:09 +0000 (14:19 +0100)]
playbin2: Proxy notify::volume and notify::mute from the playsink to playbin2

14 years agoqueue2: Remove inspect file
Sebastian Dröge [Thu, 29 Oct 2009 10:37:04 +0000 (11:37 +0100)]
queue2: Remove inspect file

14 years agoqueue2: Remove from gst-plugins-base
Sebastian Dröge [Thu, 29 Oct 2009 10:29:46 +0000 (11:29 +0100)]
queue2: Remove from gst-plugins-base

This is now in coreplugins.

14 years agodocs: include more indexes
Stefan Kost [Wed, 28 Oct 2009 09:29:36 +0000 (11:29 +0200)]
docs: include more indexes

14 years agodocs: turn entities into xi:includes
Stefan Kost [Wed, 28 Oct 2009 09:13:20 +0000 (11:13 +0200)]
docs: turn entities into xi:includes

This is faster to process and easier to maintain. Its also less 80s.

14 years agortp: dump packets which we reject
Stefan Kost [Wed, 28 Oct 2009 08:17:43 +0000 (10:17 +0200)]
rtp: dump packets which we reject

14 years ago.gitignore: ignore basetime unit test binary
Tim-Philipp Müller [Wed, 28 Oct 2009 01:01:35 +0000 (01:01 +0000)]
.gitignore: ignore basetime unit test binary

14 years agoRemove GST_DEBUG_FUNCPTR where they're pointless
Tim-Philipp Müller [Wed, 28 Oct 2009 00:59:35 +0000 (00:59 +0000)]
Remove GST_DEBUG_FUNCPTR where they're pointless

There's not much point in using GST_DEBUG_FUNCPTR with GObject
virtual functions such as get_property, set_propery, finalize and
dispose, since they'll never be used by anyone anyway. Saves a
few bytes and possibly a sixteenth of a polar bear.

14 years agoqueue2: add custom acceptcaps function
Wim Taymans [Tue, 27 Oct 2009 14:23:00 +0000 (15:23 +0100)]
queue2: add custom acceptcaps function

14 years agodecodebin2: implement low/high watermark property
Wim Taymans [Tue, 27 Oct 2009 14:22:22 +0000 (15:22 +0100)]
decodebin2: implement low/high watermark property

14 years agoseek: add checkbox to enable buffering
Wim Taymans [Fri, 23 Oct 2009 18:56:11 +0000 (14:56 -0400)]
seek: add checkbox to enable buffering

14 years agouridecodebin: don't use 2 buffering elements
Wim Taymans [Fri, 23 Oct 2009 18:54:47 +0000 (14:54 -0400)]
uridecodebin: don't use 2 buffering elements

Only use the multiqueue buffering when we don't have a stream (and thus are
using queue2 to do the buffering already).

14 years agoplaybin2: add flag to enable decodebin buffering
Wim Taymans [Fri, 23 Oct 2009 18:34:42 +0000 (14:34 -0400)]
playbin2: add flag to enable decodebin buffering

Add a flag that enables buffering in decodebin.

14 years agodecodebin2: buffering is implemented now
Wim Taymans [Fri, 23 Oct 2009 18:32:29 +0000 (14:32 -0400)]
decodebin2: buffering is implemented now

14 years agouridecodebin: buffering is implemented now
Wim Taymans [Fri, 23 Oct 2009 18:30:52 +0000 (14:30 -0400)]
uridecodebin: buffering is implemented now

14 years agodecodebin2: configure use-buffering on multiqueue
Wim Taymans [Fri, 23 Oct 2009 18:09:17 +0000 (14:09 -0400)]
decodebin2: configure use-buffering on multiqueue

14 years agouridecodebin: use 0 for max buffer size
Wim Taymans [Fri, 23 Oct 2009 17:58:25 +0000 (13:58 -0400)]
uridecodebin: use 0 for max buffer size

14 years agouridecodebin: set some reasonable defaults
Wim Taymans [Fri, 23 Oct 2009 17:53:21 +0000 (13:53 -0400)]
uridecodebin: set some reasonable defaults

14 years agouridecodebin: set buffering properties on decodebin2
Wim Taymans [Fri, 23 Oct 2009 17:44:12 +0000 (13:44 -0400)]
uridecodebin: set buffering properties on decodebin2

Propagate the buffering properties on decodebin2 but only if we are not already
doing download buffering.

14 years agouridecodebin: add use-buffering property
Wim Taymans [Fri, 23 Oct 2009 15:52:09 +0000 (11:52 -0400)]
uridecodebin: add use-buffering property

Add a use-buffering property that will perform buffering on the parsed or
demuxed media.

14 years agodecodebin2: refactor queue size configuration.
Wim Taymans [Fri, 23 Oct 2009 15:31:47 +0000 (11:31 -0400)]
decodebin2: refactor queue size configuration.

Refactor the queue size configuration into a new method.
Use the same queue values for buffering as for preroll.

14 years agodecodebin2: move error path down
Wim Taymans [Fri, 23 Oct 2009 15:08:50 +0000 (11:08 -0400)]
decodebin2: move error path down

14 years agodecodebin2: implement max queue size properties
Wim Taymans [Fri, 23 Oct 2009 15:02:40 +0000 (11:02 -0400)]
decodebin2: implement max queue size properties

14 years agodecodebin2: add properties for buffering
Wim Taymans [Fri, 23 Oct 2009 14:42:23 +0000 (10:42 -0400)]
decodebin2: add properties for buffering

Add properties that can be used to configure the multiqueue buffers and
buffering methods

14 years agoexamples: fix linking order.
Edward Hervey [Sat, 24 Oct 2009 11:19:08 +0000 (13:19 +0200)]
examples: fix linking order.

the uninstalled wrapper would create a LD_LIBRARY_PATH with system-wide
path before the local ones... resulting in the example applications picking
up the system-wide libraries and not the (potentially modified) uninstalled
libraries

14 years agoplaybin2: Don't destroy the suburidecodebin on errors
Sebastian Dröge [Sat, 24 Oct 2009 11:08:07 +0000 (13:08 +0200)]
playbin2: Don't destroy the suburidecodebin on errors

It can still be reused

14 years agoplaybin2: If setting the state of the suburidecodebin fails just warn, don't error out
Sebastian Dröge [Sat, 24 Oct 2009 11:07:45 +0000 (13:07 +0200)]
playbin2: If setting the state of the suburidecodebin fails just warn, don't error out

14 years agoplaybin2: Don't set uridecodebin states to NULL before reusing them
Sebastian Dröge [Sat, 24 Oct 2009 10:12:56 +0000 (12:12 +0200)]
playbin2: Don't set uridecodebin states to NULL before reusing them

This makes sure that the internal decodebin2 and everything else can
be reused without reinstantiation.

14 years agouridecodebin: Store unused decodebin2 instances for further usage.
Edward Hervey [Sun, 18 Oct 2009 15:28:22 +0000 (17:28 +0200)]
uridecodebin: Store unused decodebin2 instances for further usage.

This allows faster re-use of uridecodebin.

https://bugzilla.gnome.org/show_bug.cgi?id=599471

14 years agotheora: Convert theoraparse to libtheora 1.0 API
David Schleef [Sat, 24 Oct 2009 00:49:15 +0000 (17:49 -0700)]
theora: Convert theoraparse to libtheora 1.0 API

14 years agortpaudiopayload: Only sent exact multiple of the frame size
Olivier Crête [Wed, 21 Oct 2009 09:38:59 +0000 (12:38 +0300)]
rtpaudiopayload: Only sent exact multiple of the frame size

Also align the maximum size with the frame size, not only the minimum

14 years agoaudiorate: move debug calculation into debug macro
Thiago Santos [Thu, 22 Oct 2009 12:12:03 +0000 (09:12 -0300)]
audiorate: move debug calculation into debug macro

Remove in_duration and move its calculation to
GST_LOG_OBJECT macro. This way it will only be calculated
if we have debug enabled.

14 years agoaudiorate: Removing unused variable
Thiago Santos [Thu, 22 Oct 2009 12:06:02 +0000 (09:06 -0300)]
audiorate: Removing unused variable

The in_stop variable was never read. Removing it.

14 years agoaudiorate: be more accurate on offset math
Thiago Santos [Thu, 22 Oct 2009 11:40:01 +0000 (08:40 -0300)]
audiorate: be more accurate on offset math

Replace gst_util_uint64_scale_int for its rounding version
to improve accuracy and avoid inserting samples where
they aren't needed.

Fixes #499181

14 years agotextoverlay: Optimize a bit more
Sebastian Dröge [Thu, 22 Oct 2009 08:17:31 +0000 (10:17 +0200)]
textoverlay: Optimize a bit more

...and add a FIXME for bug #598695 and explain
what we should do once Pango supports user fonts.

14 years agosubparse: Add support for DKS subtitle format
Iago Toral [Thu, 22 Oct 2009 08:02:11 +0000 (10:02 +0200)]
subparse: Add support for DKS subtitle format

Fixes bug #598936.

14 years agotextoverlay: Do shading as first operation
Sebastian Dröge [Thu, 22 Oct 2009 07:31:34 +0000 (09:31 +0200)]
textoverlay: Do shading as first operation

14 years agotextoverlay: Only use a single cairo surface for drawing
Sebastian Dröge [Thu, 22 Oct 2009 07:08:04 +0000 (09:08 +0200)]
textoverlay: Only use a single cairo surface for drawing

... and comment/optimize what is going on here a bit better.

14 years agoinputselector: set output caps before pushing
Wim Taymans [Wed, 21 Oct 2009 20:24:29 +0000 (16:24 -0400)]
inputselector: set output caps before pushing

Set the output caps on the srcpad before pushing the buffer because else core
will do a rather expensive check to see if we can actually accept those caps on
the srcpad.

14 years agoinputselector: install an acceptcaps function
Wim Taymans [Wed, 21 Oct 2009 19:58:11 +0000 (15:58 -0400)]
inputselector: install an acceptcaps function

Install a custom acceptcaps function instead of using the default expensive
check. We accept whatever downstream accepts so we pass along the acceptcaps
call to the downstream peer.

14 years agotypefind: fix typo in previous mxf typefinder change
Tim-Philipp Müller [Wed, 21 Oct 2009 19:35:17 +0000 (20:35 +0100)]
typefind: fix typo in previous mxf typefinder change

14 years agotypefind: speed up mxf_type_find over 300 times for worst case scenarios
Edward Hervey [Wed, 21 Oct 2009 18:44:33 +0000 (20:44 +0200)]
typefind: speed up mxf_type_find over 300 times for worst case scenarios

* memcmp is expensive and was being abused, reduce calling it by checking
  the first byte.
* iterating one byte at at time over 64 kbites introduces a certain overhead,
  therefore we now do it in chunks of 1024 bytes

And I do mean over 300 times. The average instruction call per mxf_type_find
was previously 785685 and it's now down to 2458 :)

14 years agodecodebin2: avoid type checks
Wim Taymans [Tue, 20 Oct 2009 21:13:39 +0000 (17:13 -0400)]
decodebin2: avoid type checks

14 years agogst/decodebin2: Ensure we get fixed caps for topology message
Edward Hervey [Tue, 20 Oct 2009 07:00:28 +0000 (09:00 +0200)]
gst/decodebin2: Ensure we get fixed caps for topology message

There are some corner cases (like with dvdemux amongst others) where
the caps won't be negotiated, but the pad has fixed caps.

14 years agogst/decodebin2: Don't expose chains if we're shutting down.
Edward Hervey [Tue, 20 Oct 2009 06:52:36 +0000 (08:52 +0200)]
gst/decodebin2: Don't expose chains if we're shutting down.

This avoids adding flushing pads to ourself

14 years agopango: bump pango requirement to stable version and remove ifdefs
Tim-Philipp Müller [Sat, 17 Oct 2009 20:16:57 +0000 (21:16 +0100)]
pango: bump pango requirement to stable version and remove ifdefs

Bump pango requirement from an ancient development version to an
ancient stable version.

14 years ago.gitignore: update after files got renamed
Tim-Philipp Müller [Sat, 17 Oct 2009 20:11:10 +0000 (21:11 +0100)]
.gitignore: update after files got renamed