platform/upstream/gst-plugins-base.git
13 years agoplaysink: Only add a queue before the audio sink if visualizations are enabled
Sebastian Dröge [Thu, 24 Mar 2011 13:03:31 +0000 (14:03 +0100)]
playsink: Only add a queue before the audio sink if visualizations are enabled

The queue is not needed otherwise and will add some delay to track
switches.

13 years agotests: video: Uncommenting test
Thiago Santos [Wed, 23 Mar 2011 15:42:04 +0000 (12:42 -0300)]
tests: video: Uncommenting test

Pushed a commented test by accident, uncommenting it.

13 years agovideo: adds missing function to win32 def
Thiago Santos [Wed, 23 Mar 2011 15:02:42 +0000 (12:02 -0300)]
video: adds missing function to win32 def

13 years agovideo: Getting component offsets without dimensions is fine if it is not YUV
Thiago Santos [Wed, 23 Mar 2011 15:02:35 +0000 (12:02 -0300)]
video: Getting component offsets without dimensions is fine if it is not YUV

This fixes a regression that an assertion would happen if
gst_video_get_component_offset would be called with width or
height as 0.

Calling it with 0 is fine if the format isn't yuv and this
was already being used in some other places of video.c

13 years agotests: video: Add a test for checking rgb caps creation
Thiago Santos [Wed, 23 Mar 2011 14:13:57 +0000 (11:13 -0300)]
tests: video: Add a test for checking rgb caps creation

This new test for checking rgb caps creation exposes a regression

13 years agoplaysink: Remember automatically created sinks for future reconfigures
Sebastian Dröge [Tue, 15 Mar 2011 13:45:03 +0000 (14:45 +0100)]
playsink: Remember automatically created sinks for future reconfigures

Also allow reuse of sink elements in error cases.

13 years agoplaybin2: Check if an already existing sink supports the non-raw format too
Sebastian Dröge [Wed, 16 Mar 2011 14:27:51 +0000 (15:27 +0100)]
playbin2: Check if an already existing sink supports the non-raw format too

Before we were assuming that a sink will always support all non-raw formats
in a single stream.

13 years agoplaybin2: Check if an element accepts requisite caps before selecting
Arun Raghavan [Thu, 10 Mar 2011 13:34:51 +0000 (19:04 +0530)]
playbin2: Check if an element accepts requisite caps before selecting

In addition to ensuring that an element we want to select in
autoplug-select can enter the READY state, we also now check if it can
accept the caps we wish to plug it for. This is handy for sinks that
need to perform a probe to figure out whether they can actually handle a
given format.

13 years agoplaybin2: Set sinks to READY before checking if it accept caps
Sebastian Dröge [Wed, 16 Mar 2011 14:56:34 +0000 (15:56 +0100)]
playbin2: Set sinks to READY before checking if it accept caps

Fixes bug #642732.

13 years agoplaybin2: Always prefer the custom set sink and also set it back to NULL in all cases.
Sebastian Dröge [Wed, 16 Mar 2011 14:56:34 +0000 (15:56 +0100)]
playbin2: Always prefer the custom set sink and also set it back to NULL in all cases.

13 years agoplaybin2: Only consider the audio/video sinks in autoplug_continue for the normal...
Sebastian Dröge [Thu, 17 Mar 2011 12:47:10 +0000 (13:47 +0100)]
playbin2: Only consider the audio/video sinks in autoplug_continue for the normal uridecodebin

Considering them for the subtitle uridecodebin will add audio/video
streams that might be in a file used as subtitle file.

13 years agovideo: Add gst_video_format_new_template_caps()
David Schleef [Tue, 22 Mar 2011 18:59:40 +0000 (11:59 -0700)]
video: Add gst_video_format_new_template_caps()

13 years agovideoscale: Fix assertion on caps fixation
Thiago Santos [Thu, 24 Feb 2011 11:42:34 +0000 (08:42 -0300)]
videoscale: Fix assertion on caps fixation

When fixating caps, from_par should always be initialized
with a fixed value.

In case the fixation is from src to sink pad it was setting
the from par (srcpad par) to a fraction range, this patch initializes
it to 1/1, based on the assumption that missing PAR is 1/1.

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

13 years agoconfigure.ac: redundant use of AC_MSG_RESULT()
Luis de Bethencourt [Tue, 22 Mar 2011 11:44:49 +0000 (12:44 +0100)]
configure.ac: redundant use of AC_MSG_RESULT()

cleaned the redundant use of AC_MSG_RESULT() in configure.ac

13 years agoautogen: wingo signed comment
Luis de Bethencourt [Fri, 18 Mar 2011 18:34:57 +0000 (19:34 +0100)]
autogen: wingo signed comment

13 years agoencoding-profile: Fix syntax in Example: Creating a profile
Fraxinas [Mon, 21 Mar 2011 18:22:30 +0000 (19:22 +0100)]
encoding-profile: Fix syntax in Example: Creating a profile

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

13 years agotag: xmp: Add missing schema creation
Thiago Santos [Mon, 21 Mar 2011 21:33:03 +0000 (18:33 -0300)]
tag: xmp: Add missing schema creation

tiff schema entries were being added to the previous
schema (xap) because a new one wasn't being created
for it.

13 years agortpbuffer: Off-by-one error when creating RTP header extensions with a two-byte header
Olivier Crête [Fri, 18 Mar 2011 01:50:15 +0000 (21:50 -0400)]
rtpbuffer: Off-by-one error when creating RTP header extensions with a two-byte header

13 years agotextoverlay: Clean up alignment docs a bit and remove horiz top alignment enum
Mart Raudsepp [Wed, 16 Mar 2011 13:38:31 +0000 (15:38 +0200)]
textoverlay: Clean up alignment docs a bit and remove horiz top alignment enum

13 years agocheck: Really fix the linking order of libs/tag
Mart Raudsepp [Mon, 7 Feb 2011 07:13:39 +0000 (09:13 +0200)]
check: Really fix the linking order of libs/tag

Follow-up to commit 5f5c52c, which only fixed the CFLAGS order.
Fix the linker order as well.

13 years agouridecodebin: post proper error message if decodebin2/typefind elements are missing
Tim-Philipp Müller [Wed, 16 Mar 2011 10:19:42 +0000 (10:19 +0000)]
uridecodebin: post proper error message if decodebin2/typefind elements are missing

Post better error messages in case typefind/decodebin2 are missing or
could not be loaded for some reason (e.g. because they inadvertently
got blacklisted).

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

13 years agoalsamixer: Store return values of poll functions in a signed integer
Blaise Gassend [Tue, 15 Mar 2011 18:47:11 +0000 (19:47 +0100)]
alsamixer: Store return values of poll functions in a signed integer

Negative return values are used for errors and storing
them in an unsigned integer will make it impossible to
detect the errors.

Fixes bug #644845.

13 years agooggmux: Increase the seen header packets count when seeing a header packet
Sebastian Dröge [Mon, 14 Mar 2011 18:42:49 +0000 (19:42 +0100)]
oggmux: Increase the seen header packets count when seeing a header packet

This fixes muxing of Speex content and possibly other formats where the
header detection works by counting the packets.

Fixes bug #644745.

13 years agotypefinding: add depth and endianness to DTS caps
Tim-Philipp Müller [Mon, 14 Mar 2011 18:35:27 +0000 (18:35 +0000)]
typefinding: add depth and endianness to DTS caps

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

13 years agotextoverlay: use a class wide mutex to work around pango reentrance issues
Stefan Kost [Mon, 14 Mar 2011 09:14:04 +0000 (11:14 +0200)]
textoverlay: use a class wide mutex to work around pango reentrance issues

Pango is not reentrant. Use a class wide mutex to protect pange use in
gst_text_overlay_render_pangocairo(). This works reliable in contrast to the
hack in my previous commit.

Fixes Bug #412678

13 years agoRevert "textoverlay: add a hack to init the pango engine"
Stefan Kost [Mon, 14 Mar 2011 09:12:53 +0000 (11:12 +0200)]
Revert "textoverlay: add a hack to init the pango engine"

This reverts commit fee3266056b522cdd34e606b5682553d35eec5a1.

13 years agoplaback: trim trailing whitespace
Stefan Kost [Mon, 14 Mar 2011 08:09:35 +0000 (10:09 +0200)]
plaback: trim trailing whitespace

13 years agodecodebin2: reflow configuring new multiqueue instance
Stefan Kost [Mon, 14 Mar 2011 08:05:34 +0000 (10:05 +0200)]
decodebin2: reflow configuring new multiqueue instance

Use a single g_object_set to configure the new multiqueue instance. Also don't
needlessly set "use-buffering" if it is the default.

13 years agotextoverlay: drop trailing whitespaces
Stefan Kost [Fri, 4 Mar 2011 12:52:01 +0000 (14:52 +0200)]
textoverlay: drop trailing whitespaces

13 years agotextoverlay: add a hack to init the pango engine
Stefan Kost [Fri, 4 Mar 2011 12:52:28 +0000 (14:52 +0200)]
textoverlay: add a hack to init the pango engine

Layout a single char to pre-create all resources.

13 years agotests: add libscpp unit test to make sure g++ likes our library headers
Tim-Philipp Müller [Sat, 12 Mar 2011 17:51:41 +0000 (17:51 +0000)]
tests: add libscpp unit test to make sure g++ likes our library headers

13 years agotests: encodebin: Add reuse test case
Thiago Santos [Thu, 10 Mar 2011 17:22:38 +0000 (14:22 -0300)]
tests: encodebin: Add reuse test case

Adds a test case to check if encodebin can be reused

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

13 years agoencodebin: Tear down old profiles when setting new ones
Thiago Santos [Thu, 10 Mar 2011 17:38:47 +0000 (14:38 -0300)]
encodebin: Tear down old profiles when setting new ones

In NULL/READY, we should be able to switch profiles on encodebin,
this patch makes it tear down old profiles when new ones are set
if in NULL/READY states

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

13 years agomultifdsink: disconnect inactive clients in the select loop too
Andoni Morales Alastruey [Fri, 22 Oct 2010 12:01:26 +0000 (14:01 +0200)]
multifdsink: disconnect inactive clients in the select loop too

Clients are usually disconnected in the streaming thread if their inactivity
is bigger than the timeout. If no new buffers are to be rendered in the sink,
these clients will never be disconnected and for that reason it should be
handled in the select() loop too.

13 years agodiscoverer: Don't wait for subtitle streams to preroll
Arun Raghavan [Wed, 3 Nov 2010 09:07:07 +0000 (14:37 +0530)]
discoverer: Don't wait for subtitle streams to preroll

Subtitle streams being parse can cause the pipeline to wait indefinitely
to PREROLL. This makes subtitle streams got to PAUSED even if no data is
available. This should not be a cause for concern as we don't expect to
get much data for subtitle streams other than language tags from the
container.

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

13 years agobaseaudiosink: start ringbuffer upon going to PLAYING and already EOS
Mark Nauwelaerts [Thu, 3 Mar 2011 18:14:38 +0000 (19:14 +0100)]
baseaudiosink: start ringbuffer upon going to PLAYING and already EOS

... otherwise we may end up without running clock in PLAYING.

Fixes #636886.

13 years agoplaybin2: set several properties in one go
Stefan Kost [Fri, 4 Mar 2011 12:39:45 +0000 (14:39 +0200)]
playbin2: set several properties in one go

g_object_set is a varargs function. Save 7 g_obvject_calls (and the overhead of
them) by using it accordingly.

13 years agotypefindfunctions: fix compiler warning on 32-bit systems
Tim-Philipp Müller [Wed, 2 Mar 2011 15:38:01 +0000 (15:38 +0000)]
typefindfunctions: fix compiler warning on 32-bit systems

Mark 64-bit interger constant as such to avoid warnings such as:
gsttypefindfunctions.c:2152: error: integer constant is too large for ‘long’ type

13 years agoconfigure.ac: export plugin description more platform independent
Mark Nauwelaerts [Mon, 28 Feb 2011 17:52:47 +0000 (18:52 +0100)]
configure.ac: export plugin description more platform independent

Fixes #642504.

13 years agoAutomatic update of common submodule
Mark Nauwelaerts [Mon, 28 Feb 2011 17:32:33 +0000 (18:32 +0100)]
Automatic update of common submodule

From 1de7f6a to 6aec6b9

13 years agotests: add ABI test suite for libs
Stefan Kost [Mon, 28 Feb 2011 08:10:22 +0000 (10:10 +0200)]
tests: add ABI test suite for libs

13 years agodecodebin2: Only prevent to autoplug the same parser multiple times for the same...
Sebastian Dröge [Sun, 27 Feb 2011 08:32:55 +0000 (09:32 +0100)]
decodebin2: Only prevent to autoplug the same parser multiple times for the same chain

Parsers are the only element class that are not changing the data and
could lead to an infinite loop. Other element classes like demuxers,
e.g. id3demux, can be used multiple times in a row and sometimes are.

13 years agodecodebin2: Break the double-factory checking loop immediately if the factory was...
Sebastian Dröge [Sat, 26 Feb 2011 22:43:39 +0000 (23:43 +0100)]
decodebin2: Break the double-factory checking loop immediately if the factory was used already

13 years agodecodebin2: Don't use the same element multiple times in the same chain
Sebastian Dröge [Sat, 26 Feb 2011 22:39:03 +0000 (23:39 +0100)]
decodebin2: Don't use the same element multiple times in the same chain

This is going to lead to an infinite loop of this element and can easily
happen with parsers that accept their own src caps on the sinkpad.

13 years agodecodebin2: Improve detection of raw caps in expose-all-streams=false mode
Sebastian Dröge [Sat, 26 Feb 2011 22:20:42 +0000 (23:20 +0100)]
decodebin2: Improve detection of raw caps in expose-all-streams=false mode

Previously we only checked against the raw caps but we should also
check against the return value of autoplug-continue. Additionally fix
a thread-safety issue with accessing the raw caps.

13 years agovideo: Add support for r210
David Schleef [Sat, 26 Feb 2011 03:37:07 +0000 (19:37 -0800)]
video: Add support for r210

13 years agogstvideo: Add GST_VIDEO_BUFFER_PROGRESSIVE flag
Robert Swain [Mon, 3 Jan 2011 10:41:56 +0000 (11:41 +0100)]
gstvideo: Add GST_VIDEO_BUFFER_PROGRESSIVE flag

Maps to GST_BUFFER_FLAG_MEDIA4. The purpose is to explicitly indicate
whether a telecined buffer is progressive or not without having to make
assumptions based on previous buffers.

13 years agoencodebin: Fix double unref in unit test
Sebastian Dröge [Thu, 24 Feb 2011 19:59:48 +0000 (20:59 +0100)]
encodebin: Fix double unref in unit test

13 years agochecks: add a simple unit test for the source-setup signal
Tim-Philipp Müller [Tue, 22 Feb 2011 14:54:55 +0000 (14:54 +0000)]
checks: add a simple unit test for the source-setup signal

13 years agoplaybin2, uridecodebin: add "source-setup" signal
Tim-Philipp Müller [Tue, 22 Feb 2011 12:56:48 +0000 (12:56 +0000)]
playbin2, uridecodebin: add "source-setup" signal

Add "source-setup" signal for convenience and discoverability. No need
to figure out "notify::source", look up the notify callback signature,
then do an g_object_get() to get the source element..

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

13 years agooggmux: Don't handle GstCollectData as GstObject, use the pad instead
Sebastian Dröge [Thu, 24 Feb 2011 15:22:53 +0000 (16:22 +0100)]
oggmux: Don't handle GstCollectData as GstObject, use the pad instead

13 years agoencodebin: Fix memory leaks related to request pads
Sebastian Dröge [Thu, 24 Feb 2011 15:02:50 +0000 (16:02 +0100)]
encodebin: Fix memory leaks related to request pads

Request pads have to be released by the caller and must be
unreffed after releasing them.

13 years agoencodebin: Return a new reference of the pad for the "request-pad" signal
Sebastian Dröge [Thu, 24 Feb 2011 14:55:00 +0000 (15:55 +0100)]
encodebin: Return a new reference of the pad for the "request-pad" signal

The GObject signal code assumes that the signal handlers return a
new reference or copy. Fixes bug #641927.

13 years agoadder: Fill in offset_end field of outgoing buffers
Leo Singer [Tue, 22 Feb 2011 04:34:41 +0000 (20:34 -0800)]
adder: Fill in offset_end field of outgoing buffers

... rather than leave it as GST_BUFFER_OFFSET_NONE

Fix bug #642942.

13 years agoplaysink: release all chains when going to NULL
Mark Nauwelaerts [Wed, 23 Feb 2011 13:31:13 +0000 (14:31 +0100)]
playsink: release all chains when going to NULL

Also fixes #642466.

13 years agoplaysink: undo state change side effect on error way out
Mark Nauwelaerts [Wed, 23 Feb 2011 13:29:03 +0000 (14:29 +0100)]
playsink: undo state change side effect on error way out

... to avoid subsequent cleanup disposing an element not in NULL state.

13 years agoplaysink: avoid crashing on the way out when needed chain missing
Mark Nauwelaerts [Wed, 23 Feb 2011 09:32:08 +0000 (10:32 +0100)]
playsink: avoid crashing on the way out when needed chain missing

13 years agowin32: update .def file for new libgstvideo API
Tim-Philipp Müller [Tue, 22 Feb 2011 15:26:14 +0000 (15:26 +0000)]
win32: update .def file for new libgstvideo API

13 years agodiscoverer: handle desc==NULL
Stefan Kost [Tue, 22 Feb 2011 14:41:54 +0000 (16:41 +0200)]
discoverer: handle desc==NULL

It would otherwise be printed as (null) and mess up indentation (no \n).

13 years agodiscoverer: Chain dispose() up to parent class
Arun Raghavan [Tue, 8 Feb 2011 07:12:32 +0000 (12:42 +0530)]
discoverer: Chain dispose() up to parent class

13 years agodiscoverer: Keep a ref for the async timeout callback
Arun Raghavan [Mon, 7 Feb 2011 07:34:55 +0000 (13:04 +0530)]
discoverer: Keep a ref for the async timeout callback

This makes sure we maintain a ref on the discoverer object while the
async timeout callback is alive to prevent a potential crash if the
object is freed while the callback is pending.

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

13 years agodiscoverer: Use g_signal_connect_object instead of g_signal_connect
Arun Raghavan [Mon, 7 Feb 2011 08:27:39 +0000 (13:57 +0530)]
discoverer: Use g_signal_connect_object instead of g_signal_connect

We want to make sure the discoverer object passed to the various
callbacks doesn't become invalid if a callback is pending and the object
is free'd in the mean time.

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

13 years agotypefinding: detect raw h.263
Parthasarathi Susarla [Wed, 9 Feb 2011 16:22:42 +0000 (03:22 +1100)]
typefinding: detect raw h.263

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

13 years agopbutils: encoding-target: fix error checking in target file loading
Teemu Katajisto [Mon, 21 Feb 2011 13:58:16 +0000 (15:58 +0200)]
pbutils: encoding-target: fix error checking in target file loading

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

13 years agotests: fix videoscale test by ignoring newly-added 64-bit formats
Tim-Philipp Müller [Mon, 21 Feb 2011 17:55:04 +0000 (17:55 +0000)]
tests: fix videoscale test by ignoring newly-added 64-bit formats

They probably fail because ffmpegcolorspace can't handle those formats.

13 years agosdp: Fix copy/paste error in inrospection part of Makefile
Benjamin Otte [Mon, 21 Feb 2011 17:01:04 +0000 (18:01 +0100)]
sdp: Fix copy/paste error in inrospection part of Makefile

13 years agotag: Fix copy/paste error in inrospection part of Makefile
Benjamin Otte [Mon, 21 Feb 2011 17:00:36 +0000 (18:00 +0100)]
tag: Fix copy/paste error in inrospection part of Makefile

13 years agortsp: Fix copy/paste error in inrospection part of Makefile
Benjamin Otte [Mon, 21 Feb 2011 17:00:02 +0000 (18:00 +0100)]
rtsp: Fix copy/paste error in inrospection part of Makefile

13 years agoaudiorate: add skip-to-first property
Mark Nauwelaerts [Mon, 21 Feb 2011 11:40:36 +0000 (12:40 +0100)]
audiorate: add skip-to-first property

API: GstAudioRate::skip-to-first

13 years agovideorate: fix skip-to-first ts setup
Mark Nauwelaerts [Mon, 21 Feb 2011 11:27:17 +0000 (12:27 +0100)]
videorate: fix skip-to-first ts setup

... such as avoiding arithmetic mixing counts and ts, although latter
would typically be 0 so far.

13 years agoRevert "oggmux,adder: Check if collectpads has been freed"
Edward Hervey [Mon, 21 Feb 2011 11:04:09 +0000 (12:04 +0100)]
Revert "oggmux,adder: Check if collectpads has been freed"

This reverts commit 6d150873e8b4c23d694b0351570de323b1576d76.

Depends on a core commit that was reverted.

13 years agooggmux,adder: Check if collectpads has been freed
David Schleef [Mon, 21 Feb 2011 07:49:54 +0000 (23:49 -0800)]
oggmux,adder: Check if collectpads has been freed

Core now calls release_pad in finalize, which is usually after
the collectpads has been unreffed.

13 years agovideoscale: Add 16-bit-channel support
David Schleef [Sun, 20 Feb 2011 02:50:37 +0000 (18:50 -0800)]
videoscale: Add 16-bit-channel support

13 years agovideotestsrc: Add 16-bit-per-channel formats
David Schleef [Sun, 20 Feb 2011 00:41:43 +0000 (16:41 -0800)]
videotestsrc: Add 16-bit-per-channel formats

13 years agovideo: Add ARGB64 and AYUV64
David Schleef [Sat, 19 Feb 2011 20:03:17 +0000 (12:03 -0800)]
video: Add ARGB64 and AYUV64

16-bit per channel formats.

13 years agovideo: Add gst_video_format_get_component_depth()
David Schleef [Sat, 19 Feb 2011 00:26:59 +0000 (16:26 -0800)]
video: Add gst_video_format_get_component_depth()

13 years agoaudiotestsrc: each element gets its own instance of GRand, if needed
Leo Singer [Fri, 18 Feb 2011 21:27:23 +0000 (13:27 -0800)]
audiotestsrc: each element gets its own instance of GRand, if needed

As a result, pipelines that contain multiple instances of audiotestsrc
with the 'wave' property set to 'white-noise', 'pink-noise', or
'gaussian-noise' will run much faster, since they won't be competing
for access to the global, lock-protected instance of GRand.

Fixes bug #642720.

13 years agoplaybin2: If a sink claims to support ANY caps assume that it only supports the usual...
Sebastian Dröge [Fri, 18 Feb 2011 16:26:53 +0000 (17:26 +0100)]
playbin2: If a sink claims to support ANY caps assume that it only supports the usual raw formats

This should be changed again in 0.11, if a sink really claims to support ANY
caps it should support everything or provide correct caps.

13 years agoencodebin: Add a audioconverter after the audio resampler.
Edward Hervey [Thu, 17 Feb 2011 17:11:10 +0000 (18:11 +0100)]
encodebin: Add a audioconverter after the audio resampler.

This allows handling non-native-endianness conversion properly.

13 years agoplaybin2: Use gst_pad_accept_caps() instead of intersecting with the getcaps caps
Sebastian Dröge [Fri, 18 Feb 2011 13:04:38 +0000 (14:04 +0100)]
playbin2: Use gst_pad_accept_caps() instead of intersecting with the getcaps caps

This might be faster and more accurate in some cases to detect if a
sink supports a format and autoplugging can be stopped.

13 years agouridecodebin: Add default handler for autoplug-select
Sebastian Dröge [Fri, 18 Feb 2011 11:06:30 +0000 (12:06 +0100)]
uridecodebin: Add default handler for autoplug-select

uridecodebin proxies this signal and only the first signal handler
will ever be called from decodebin2, which is uridecodebin's proxy
signal handler.

13 years agouridecodebin: Return NULL from the default autoplug-sort handler
Sebastian Dröge [Fri, 18 Feb 2011 11:02:07 +0000 (12:02 +0100)]
uridecodebin: Return NULL from the default autoplug-sort handler

...instead of copying the array. Returning NULL will result
in the original factories array to be used and prevents a useless
array copy in most use cases.

13 years agodecodebin2: Return NULL from the default autoplug-sort handler
Sebastian Dröge [Fri, 18 Feb 2011 11:01:05 +0000 (12:01 +0100)]
decodebin2: Return NULL from the default autoplug-sort handler

...instead of copying the array. Returning NULL will result
in the original factories array to be used and prevents a useless
array copy in most use cases.

13 years agouridecodebin: Update autoplug-* signal docs from decodebin2
Sebastian Dröge [Fri, 18 Feb 2011 11:00:34 +0000 (12:00 +0100)]
uridecodebin: Update autoplug-* signal docs from decodebin2

uridecodebin proxies these signals.

13 years agodecodebin2: Update documentation of the autoplug-* signals
Sebastian Dröge [Fri, 18 Feb 2011 10:58:44 +0000 (11:58 +0100)]
decodebin2: Update documentation of the autoplug-* signals

Add notes about the behaviour if multiple signal handlers are connected.
For most autoplug-* signals only the first signal handler will ever
be invoked.

Also add to the autoplug-sort docs that the signal handler can return NULL
to specify that the order should change and other handlers get the chance
to sort the array.

13 years agodecodebin2: Keep the original factory list if the sort signal handlers returned NULL
Sebastian Dröge [Fri, 18 Feb 2011 10:57:12 +0000 (11:57 +0100)]
decodebin2: Keep the original factory list if the sort signal handlers returned NULL

13 years agouridecodebin: expose "autoplug-sort" signal
tskd2@yahoo.co.jp [Wed, 16 Feb 2011 11:14:25 +0000 (20:14 +0900)]
uridecodebin: expose "autoplug-sort" signal

It is a proxy of the decodebin2's one, and was missing
in the previous code.

See bug #642433.

13 years agoplaybin2: Use a recursive mutex for the playbin lock
Sebastian Dröge [Fri, 18 Feb 2011 09:57:40 +0000 (10:57 +0100)]
playbin2: Use a recursive mutex for the playbin lock

This lock is taken when activating a group, which could result in
calling the autoplug-continue callback, which also needs this lock
to access the sinks.

See bug #642174.

13 years agodecodebin2: Disconnect signal handlers when removing a failed element
Sebastian Dröge [Fri, 18 Feb 2011 08:36:34 +0000 (09:36 +0100)]
decodebin2: Disconnect signal handlers when removing a failed element

This prevents crashes later if one of the signals is emitted after the
element was removed from decodebin2 already, which can happen in discoverer.

13 years agotypefind: Fix mpeg TS detection
David Schleef [Wed, 16 Feb 2011 03:23:48 +0000 (19:23 -0800)]
typefind: Fix mpeg TS detection

13 years agotheoraenc: move debug category init earlier
David Schleef [Sat, 5 Feb 2011 01:36:40 +0000 (17:36 -0800)]
theoraenc: move debug category init earlier

13 years agooggparse: better detection of delta unit flag
David Schleef [Fri, 4 Feb 2011 06:41:23 +0000 (22:41 -0800)]
oggparse: better detection of delta unit flag

13 years agotheoraenc: Set speed level while running
David Schleef [Sun, 16 Jan 2011 02:21:28 +0000 (18:21 -0800)]
theoraenc: Set speed level while running

13 years agoSet the theoraenc speed-level property from libtheora's defaults.
Ralph Giles [Thu, 13 Jan 2011 23:12:53 +0000 (15:12 -0800)]
Set the theoraenc speed-level property from libtheora's defaults.

The speed-level property, which allows callers to trade of encoding
quality for speed in the libtheora api, has a version-dependent
maximum and default values. Instead of hardcoding the acceptable
range for the theoraenc element's presentation of this setting,
we query the library directly at class initialization time and
set the maximum and default values from that. If the query fails,
we fall back to the previous default setting.

To keep the values reported by gst-inspect (which I'm told use
the spec values from the class) with those available on an\
instantiated element, we remove to setting of enc->speed_level
from the initializer and instead pass G_PARAM_CONSTRUCT to
the property spec flags, asking g_object to set this property
when theoraenc objects are constructed.

NB in theory the maximum speed-level could depend on the actual
video caps. If later versions of libtheoraenc do this, a second
call will need to be made from theora_enc_reset to update the
property, since this function is mostly useful for realtime
adjustment of performance while the pipeline is running.

13 years agodiscoverer: don't leak parent tags
Stefan Kost [Wed, 16 Feb 2011 09:57:31 +0000 (11:57 +0200)]
discoverer: don't leak parent tags

13 years agodiscoverer: improve logging (and reindent)
Stefan Kost [Wed, 16 Feb 2011 09:56:16 +0000 (11:56 +0200)]
discoverer: improve logging (and reindent)

Add more logging for the tag merging and use the _OBJECT flavour more.

13 years agoplaybin2: Optimize autoplug-continue handler a bit
Sebastian Dröge [Tue, 15 Feb 2011 16:46:22 +0000 (17:46 +0100)]
playbin2: Optimize autoplug-continue handler a bit

Don't build merge the caps of all sinks but check them one-by-one
until one supports the caps. Also get reffed caps from the sinkpads
instead of a writable copy and add debug output if a sink claims to
support ANY caps.

13 years agoplaybin2: Fix handling of non-raw custom sinks
Akihiro Tsukada [Tue, 15 Feb 2011 16:24:28 +0000 (17:24 +0100)]
playbin2: Fix handling of non-raw custom sinks

When autoplugging elements in decodebin2, check if
the caps are supported by one of the sink before
continuing autoplugging.

Fixes bug #642174.

13 years agodecodebin2: Don't leak elements that fail to go to PAUSED after being autoplugged
Sebastian Dröge [Tue, 15 Feb 2011 16:01:13 +0000 (17:01 +0100)]
decodebin2: Don't leak elements that fail to go to PAUSED after being autoplugged

Fixes bug #642381.

13 years agotheoraenc: Don't reset the video quality setting the bitrate
Sjoerd Simons [Sun, 13 Feb 2011 14:42:14 +0000 (14:42 +0000)]
theoraenc: Don't reset the video quality setting the bitrate

libtheora has two encoding modes, CBR, where it tries to hit a target
bitrate and VBR where it tries to achieve a target quality.

Internally if the target bitrate is set to anything other then 0 the
encoding-mode is CBR.

This means that the gstreamer element can leave the video_quality
setting alone as long as the user is tweaking the bitrate. Which has the
nice side-effect that if the user explicitely sets the bitrate to 0
(which is actually the default), the quality value doesn't get reset and
one ends up encoding VBR at quality-level 0...