platform/upstream/gst-plugins-base.git
14 years agoaudiofilter: Use G_DEFINE_ABSTRACT_TYPE_WITH_CODE
Sebastian Dröge [Thu, 26 Nov 2009 09:30:25 +0000 (10:30 +0100)]
audiofilter: Use G_DEFINE_ABSTRACT_TYPE_WITH_CODE

...and fix code style a bit.

14 years agoaudiofilter: Add _CAST variants of the cast macros
Sebastian Dröge [Thu, 26 Nov 2009 09:31:00 +0000 (10:31 +0100)]
audiofilter: Add _CAST variants of the cast macros

14 years agoaudiosink: add adjustement when slaving
Wim Taymans [Wed, 25 Nov 2009 16:26:16 +0000 (10:26 -0600)]
audiosink: add adjustement when slaving

Our calibration against the pipeline clock is done with the adjusted
ringbuffer time, so take the adjustement into account. Fixes some audio dropouts
when reusing audio sinks after switching clocks and slaving methods in a
pipeline.

14 years agoffmpegcolorspace: Prefer transforming alpha formats to alpha formats and the other...
Sebastian Dröge [Wed, 25 Nov 2009 15:17:13 +0000 (16:17 +0100)]
ffmpegcolorspace: Prefer transforming alpha formats to alpha formats and the other way around

Fixes bug #602834 and #350748.

14 years agooggdemux: Reset last_granule during seeking
David Schleef [Wed, 25 Nov 2009 08:46:55 +0000 (00:46 -0800)]
oggdemux: Reset last_granule during seeking

Fix case where we would reconstruct the wrong granulepos for
outgoing streams immediately after a seek.

14 years agooggdemux: Fix timestamp generation for theora
David Schleef [Wed, 25 Nov 2009 06:08:09 +0000 (22:08 -0800)]
oggdemux: Fix timestamp generation for theora

Timestamp generation was broken by the last commit for formats
with a non-zero granule shift.  Also keep track of the last keyframe
so that we can regenerate granulepos for theora.

14 years agooggdemux: Fix vorbis parsing
David Schleef [Wed, 25 Nov 2009 05:22:03 +0000 (21:22 -0800)]
oggdemux: Fix vorbis parsing

Add a granule to granulepos conversion function.  Fix the duration
function for vorbis.  Handle timestamps on header packets differently
and be more careful about calculating OFFSET and OFFSET_END.  After
this change, timestamps for vorbis don't exactly match up with the
timestamps that vorbisparse outputs, but it's unclear if vorbisparse
is actually correct and it would add a lot more code to make oggdemux
match vorbisparse.  Fixes #602790.

14 years agoplaybin2: Transform QoS events to be meaningful for upstream elements
Sebastian Dröge [Thu, 19 Nov 2009 18:28:12 +0000 (19:28 +0100)]
playbin2: Transform QoS events to be meaningful for upstream elements

This is necessary because the sinks don't notice the group switches
and the decoders/demuxers have a different running time than the
sinks.

Fixes bug #537050.

14 years agoogg: Fix generation of timestamps and durations
David Schleef [Sat, 21 Nov 2009 21:05:34 +0000 (22:05 +0100)]
ogg: Fix generation of timestamps and durations

After changing some internal functions, I forgot to update
the code that puts the values on the buffers.

14 years agoogg: Add ogg stream parsing
David Schleef [Sat, 29 Aug 2009 17:51:48 +0000 (10:51 -0700)]
ogg: Add ogg stream parsing

Adds code that parses headers of various formats encapsulated in
Ogg in order to calculate timestamps and durations of each buffer.
Removes the creation of helper decoder elements to do this calculation
via conversion queries.

Fixes: #344013, #568014.

14 years agooggmux: don't overwrite object properties
David Schleef [Fri, 4 Sep 2009 07:11:38 +0000 (00:11 -0700)]
oggmux: don't overwrite object properties

14 years agodebug: also cast packet.packetno to gint64 in debug log
Stefan Kost [Sat, 21 Nov 2009 15:54:49 +0000 (17:54 +0200)]
debug: also cast packet.packetno to gint64 in debug log

We do this already for granulepos to handle ogg_int64_t mismatches.

14 years agodebug: fix format string that was missing a var
Stefan Kost [Sat, 21 Nov 2009 15:47:26 +0000 (17:47 +0200)]
debug: fix format string that was missing a var

14 years agoadder: make events succeed, if they succed on atleast one pad
Stefan Kost [Fri, 9 Oct 2009 21:32:04 +0000 (00:32 +0300)]
adder: make events succeed, if they succed on atleast one pad

14 years agodecodebin2: error when all streams have no buffers
Thiago Santos [Thu, 19 Nov 2009 17:51:33 +0000 (14:51 -0300)]
decodebin2: error when all streams have no buffers

In some cases (all buffers dropped by a parser) a decodebin2
chain might receive an EOS before it gets enough data to
expose a decoded pad. In the case that no streams can expose
a pad we should error out instead of hang.

Fixes #542758

14 years agoplaybin2: Fix stupid bug introduced in last commit
Sebastian Dröge [Thu, 19 Nov 2009 11:23:08 +0000 (12:23 +0100)]
playbin2: Fix stupid bug introduced in last commit

14 years agoplaybin2: Aggregate the stream-changed message by looking at the seqnum
Sebastian Dröge [Thu, 19 Nov 2009 11:10:58 +0000 (12:10 +0100)]
playbin2: Aggregate the stream-changed message by looking at the seqnum

Just counting how many messages were sent and how many were received
is not good enough because they might've been duplicated (e.g. by the
visualization audio tee). Comparing the sequence numbers should give
better results in that case.

14 years agoplaybin2: Ignore async state changes of the uridecodebins
Sebastian Dröge [Thu, 19 Nov 2009 09:05:28 +0000 (10:05 +0100)]
playbin2: Ignore async state changes of the uridecodebins

Otherwise the async state change from READY->PAUSED of the
uridecodebins will take playbin2 from PLAYING->PAUSED again
during gapless group switches.

Fixes bug #602000.

14 years agoAutomatic update of common submodule
Tim-Philipp Müller [Thu, 19 Nov 2009 10:30:06 +0000 (10:30 +0000)]
Automatic update of common submodule

From 0702fe1 to 53a2485

14 years agodecodebin2: set to buffer less on no-more-pads
Thiago Santos [Wed, 18 Nov 2009 17:50:28 +0000 (14:50 -0300)]
decodebin2: set to buffer less on no-more-pads

When a decodebin2 receives no-more-pads of a group it
can set that group's multiqueue buffering thresholds to
'playing' buffering method, avoiding that it buffers
too long and cause problems when using with queue2.
See the associated bug for details.

Fixes #600787

14 years agobaseaudiosink: fix initial calibration
Wim Taymans [Wed, 18 Nov 2009 16:09:28 +0000 (17:09 +0100)]
baseaudiosink: fix initial calibration

When we are calibrating the internal clock against the external clock take into
account the time offset applied to our internal clock because we will subtract
that in the render_function again.

14 years agoplaybin2: Don't handle DURATION queries during group switches
Sebastian Dröge [Wed, 18 Nov 2009 08:22:39 +0000 (09:22 +0100)]
playbin2: Don't handle DURATION queries during group switches

During a group switch return the cached duration of the old group
because the old group still didn't finish playback. If we have no
cached duration return FALSE.

Fixes bug #585969.

14 years agoplaybin2: Post a stream-changed message after activating a group
Sebastian Dröge [Sun, 15 Nov 2009 18:36:21 +0000 (19:36 +0100)]
playbin2: Post a stream-changed message after activating a group

This is useful to detect when playbin2 has really switched to the next
group after about-to-finish for example.

Fixes bug #584987.

14 years agowin32: Add new still-frame API to the defs
Jan Schmidt [Wed, 18 Nov 2009 12:27:19 +0000 (12:27 +0000)]
win32: Add new still-frame API to the defs

Add gst_video_event_new_still_frame() and
gst_video_event_parse_still_frame() functions to the win32 defs files

14 years agobaseaudiosrc: fix 'uninitialized' compiler warning
Mark Nauwelaerts [Wed, 18 Nov 2009 11:37:44 +0000 (12:37 +0100)]
baseaudiosrc: fix 'uninitialized' compiler warning

14 years agoconfigure: bump core requirement to 0.10.25.1
Tim-Philipp Müller [Wed, 18 Nov 2009 10:14:41 +0000 (10:14 +0000)]
configure: bump core requirement to 0.10.25.1

We depend on new API that's only in git so far.

14 years agovideo: Add functions to create/parse still frame events.
Jan Schmidt [Sun, 15 Nov 2009 17:34:37 +0000 (17:34 +0000)]
video: Add functions to create/parse still frame events.

Add a new video event to mark the start or end of a still-frame
sequence, and a parser function to identify and extract info from
such events.
API: gst_video_event_new_still_frame()
API: gst_video_event_parse_still_frame()

Fixes: #601942

14 years agoplaysink: make sure we always go to PAUSED async
Wim Taymans [Tue, 17 Nov 2009 15:39:09 +0000 (16:39 +0100)]
playsink: make sure we always go to PAUSED async

Set the need_async_start flag before going to PAUSED so that we always post the
ASYNC_START message, even after reusing playsink.

14 years agoplaysink: make sure we remain a sink
Wim Taymans [Tue, 17 Nov 2009 15:37:57 +0000 (16:37 +0100)]
playsink: make sure we remain a sink

When we remove our elements, we could lose our sink flag. Make sure we remain a
sink by setting the flag again after removing elements.

14 years agoaudioconvert: remove unused array
Stefan Kost [Mon, 16 Nov 2009 20:47:54 +0000 (22:47 +0200)]
audioconvert: remove unused array

14 years agosubparse: Use new double->fraction transformation function from core
Sebastian Dröge [Mon, 16 Nov 2009 08:57:56 +0000 (09:57 +0100)]
subparse: Use new double->fraction transformation function from core

14 years agoplaybin2: Make subtitle error handling more robust and ignore late errors too
Sebastian Dröge [Sat, 14 Nov 2009 13:05:43 +0000 (14:05 +0100)]
playbin2: Make subtitle error handling more robust and ignore late errors too

Make sure, to only "simulate" subtitle no-more-pads if it was still
pending and also handle errors in the subtitle pipeline as warnings
after the subtitles prerolled.

Don't set the suburidecodebin to READY after errors, handle_message
will usually be called from the streaming thread and doing that
from there is obviously not a good idea.

14 years agosubtitleoverlay: Handle errors from subtitle elements as warning and go into passthro...
Sebastian Dröge [Sat, 14 Nov 2009 12:21:15 +0000 (13:21 +0100)]
subtitleoverlay: Handle errors from subtitle elements as warning and go into passthrough mode

14 years agoplaybin2: Don't leak the GError and debug string when parsing error messages
Sebastian Dröge [Fri, 13 Nov 2009 11:47:55 +0000 (12:47 +0100)]
playbin2: Don't leak the GError and debug string when parsing error messages

14 years agortsp: avoid crashing on SIGPIPE
Sreerenj B [Fri, 13 Nov 2009 10:16:44 +0000 (11:16 +0100)]
rtsp: avoid crashing on SIGPIPE

Use send() instead of write() so that we can pass the MSG_NOSIGNAL flags to
avoid crashing with SIGPIPE when the remote end is not listening to us anymore.

Fixes #601772

14 years agoplaybin2: Improve subtitle passthrough in uridecodebin
Sebastian Dröge [Wed, 11 Nov 2009 16:35:45 +0000 (17:35 +0100)]
playbin2: Improve subtitle passthrough in uridecodebin

Now the caps property isn't set anymore for the subtitle caps
but instead in the autoplug-continue signal it is detected
if the caps belong to a supported subtitle stream.

This makes automatic use of newly installed plugins.

14 years agosubtitleoverlay: Only recreate factory caps if necessary and cache them
Sebastian Dröge [Wed, 11 Nov 2009 16:08:47 +0000 (17:08 +0100)]
subtitleoverlay: Only recreate factory caps if necessary and cache them

14 years agosubtitleoverlay: Only update the factory list when the registry has changed
Sebastian Dröge [Tue, 10 Nov 2009 17:27:15 +0000 (18:27 +0100)]
subtitleoverlay: Only update the factory list when the registry has changed

Also don't free the list every time we go to NULL.

14 years agosubtitleoverlay: Use gst_pad_get_caps_reffed()
Sebastian Dröge [Sun, 8 Nov 2009 14:04:53 +0000 (15:04 +0100)]
subtitleoverlay: Use gst_pad_get_caps_reffed()

14 years agoplaybin2/playsink: Use new "silent" property instead of unlinking
Sebastian Dröge [Sat, 7 Nov 2009 20:38:10 +0000 (21:38 +0100)]
playbin2/playsink: Use new "silent" property instead of unlinking

This makes sure that subtitleoverlay still gets segment updates and
everything to pass on downstream. Without this segment problems happen.

14 years agosubtitleoverlay: Update segments after pushing the events downstream
Sebastian Dröge [Sat, 7 Nov 2009 20:10:27 +0000 (21:10 +0100)]
subtitleoverlay: Update segments after pushing the events downstream

This makes sure that we don't apply segments twice downstream. Also
always send our newsegment events downstream.

14 years agosubtitleoverlay: Add silent property to disable subtitles
Sebastian Dröge [Sat, 7 Nov 2009 20:09:53 +0000 (21:09 +0100)]
subtitleoverlay: Add silent property to disable subtitles

This tries to disable subtitles in the overlay or renderer
and if that's not possible it goes into passthrough mode.

14 years agosubtitleoverlay: Set the video framerate on parsers if possible
Sebastian Dröge [Sat, 7 Nov 2009 10:46:49 +0000 (11:46 +0100)]
subtitleoverlay: Set the video framerate on parsers if possible

Fixes bug #599649.

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