Wim Taymans [Fri, 25 Mar 2011 18:52:30 +0000 (19:52 +0100)]
tags: port to new metadata and memory API
Wim Taymans [Tue, 15 Mar 2011 10:11:56 +0000 (11:11 +0100)]
Merge branch 'master' into 0.11-fdo
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.
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
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
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.
Stefan Kost [Mon, 14 Mar 2011 08:09:35 +0000 (10:09 +0200)]
plaback: trim trailing whitespace
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.
Stefan Kost [Fri, 4 Mar 2011 12:52:01 +0000 (14:52 +0200)]
textoverlay: drop trailing whitespaces
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.
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
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
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
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.
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.
Tim-Philipp Müller [Wed, 9 Mar 2011 11:51:14 +0000 (11:51 +0000)]
libs: make sure gobject-introspection scanner calls gst_init()
Fixes introspection failures caused by type assertions/warnings.
Since we now moved from _get_type() functions to external GType
variables in a couple of places, we actually have to call gst_init()
to make sure these are set when we use GST_TYPE_FOO.
Tim-Philipp Müller [Wed, 9 Mar 2011 11:45:03 +0000 (11:45 +0000)]
libgstapp: fix backticks in gobject-introspection section of Makefile.am
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
Wim Taymans [Tue, 8 Mar 2011 17:01:41 +0000 (17:01 +0000)]
meta: update for new API
Wim Taymans [Fri, 4 Mar 2011 17:32:53 +0000 (18:32 +0100)]
ximagesink: make metadata methods more like core
Wim Taymans [Fri, 4 Mar 2011 16:25:46 +0000 (17:25 +0100)]
baseaudiosink: use sink preroll lock
Wim Taymans [Fri, 4 Mar 2011 09:21:52 +0000 (10:21 +0100)]
ximagesink: reset the pool
Wim Taymans [Thu, 3 Mar 2011 17:39:38 +0000 (18:39 +0100)]
ximagesink: implement buffer_alloc from the pool
Use the bufferpool for pad_alloc when we are asked for the same caps as the
bufferpool.
Wim Taymans [Thu, 3 Mar 2011 15:48:23 +0000 (16:48 +0100)]
ximage: rewrite the buffer pool in ximagesink
Rewrite the pooling in ximagesink to extend from the bufferpool base class in
core. Move some code to a comon place and refactor.
Wim Taymans [Fri, 4 Mar 2011 15:21:13 +0000 (16:21 +0100)]
Merge branch 'master' into 0.11
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.
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.
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
Mark Nauwelaerts [Mon, 28 Feb 2011 17:52:47 +0000 (18:52 +0100)]
configure.ac: export plugin description more platform independent
Fixes #642504.
Mark Nauwelaerts [Mon, 28 Feb 2011 17:32:33 +0000 (18:32 +0100)]
Automatic update of common submodule
From 1de7f6a to 6aec6b9
Wim Taymans [Mon, 28 Feb 2011 11:59:40 +0000 (12:59 +0100)]
netbuffer: Implement NetAddress with metadata
Make a NetAddress metadata.
Wim Taymans [Sun, 27 Feb 2011 18:42:31 +0000 (19:42 +0100)]
meta: fix for new API
Wim Taymans [Sat, 26 Feb 2011 17:19:01 +0000 (18:19 +0100)]
ximagesink: experiment with convenience macros
Wim Taymans [Fri, 25 Feb 2011 15:28:55 +0000 (16:28 +0100)]
ximage: fix macros
Wim Taymans [Fri, 25 Feb 2011 15:01:47 +0000 (16:01 +0100)]
ximage: reimplement buffer pooling with metadata
Use the buffer metadata to get back to the extra info we can use to optimize the
video rendering.
Wim Taymans [Fri, 25 Feb 2011 14:49:33 +0000 (15:49 +0100)]
metadata: implement extra buffer data with metadata
Use buffer metadata to attach arbitrary extra data to buffers.
Wim Taymans [Thu, 24 Feb 2011 11:19:27 +0000 (12:19 +0100)]
tests: fix some tests now that appbuffer is gone
Wim Taymans [Thu, 24 Feb 2011 11:18:43 +0000 (12:18 +0100)]
v4l: use buffer private data for extra buffer info
Since we can't subclass anymore, use the owber_priv pointer for storing extra
info for the buffer.
Wim Taymans [Thu, 24 Feb 2011 10:57:53 +0000 (11:57 +0100)]
X11: port imagesinks to new miniobjects
Remove the subbuffer from X11 sinks and use the private pointer to store a
single buffer metadata with the extra info.
Wim Taymans [Wed, 23 Feb 2011 14:46:56 +0000 (15:46 +0100)]
miniobject: fix for changed miniobject
Wim Taymans [Wed, 23 Feb 2011 13:12:22 +0000 (14:12 +0100)]
pbutils: use GObject as the base class
We can't subclass miniobject so use GObject as the base class,
Wim Taymans [Wed, 23 Feb 2011 12:42:16 +0000 (13:42 +0100)]
baseaudiosink: remove deprecated method
Wim Taymans [Wed, 23 Feb 2011 12:14:21 +0000 (13:14 +0100)]
netbuffer: disable GstNetBuffer object
There are no more buffer subclasses and this should be implemented with
buffermetadata later.
Wim Taymans [Wed, 23 Feb 2011 12:13:32 +0000 (13:13 +0100)]
app: remove appbuffer
There are no more buffer subclasses and the application can use the regular API
to make buffers.
Wim Taymans [Mon, 28 Feb 2011 10:47:44 +0000 (11:47 +0100)]
Merge branch 'master' into 0.11
Conflicts:
configure.ac
gst-libs/gst/pbutils/Makefile.am
Stefan Kost [Mon, 28 Feb 2011 08:10:22 +0000 (10:10 +0200)]
tests: add ABI test suite for libs
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.
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
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.
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.
David Schleef [Sat, 26 Feb 2011 03:37:07 +0000 (19:37 -0800)]
video: Add support for r210
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.
Sebastian Dröge [Thu, 24 Feb 2011 19:59:48 +0000 (20:59 +0100)]
encodebin: Fix double unref in unit test
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
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
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
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.
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.
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.
Mark Nauwelaerts [Wed, 23 Feb 2011 13:31:13 +0000 (14:31 +0100)]
playsink: release all chains when going to NULL
Also fixes #642466.
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.
Mark Nauwelaerts [Wed, 23 Feb 2011 09:32:08 +0000 (10:32 +0100)]
playsink: avoid crashing on the way out when needed chain missing
Tim-Philipp Müller [Tue, 22 Feb 2011 15:26:14 +0000 (15:26 +0000)]
win32: update .def file for new libgstvideo API
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).
Arun Raghavan [Tue, 8 Feb 2011 07:12:32 +0000 (12:42 +0530)]
discoverer: Chain dispose() up to parent class
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
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
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
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
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.
Benjamin Otte [Mon, 21 Feb 2011 17:01:04 +0000 (18:01 +0100)]
sdp: 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
Benjamin Otte [Mon, 21 Feb 2011 17:00:02 +0000 (18:00 +0100)]
rtsp: Fix copy/paste error in inrospection part of Makefile
Mark Nauwelaerts [Mon, 21 Feb 2011 11:40:36 +0000 (12:40 +0100)]
audiorate: add skip-to-first property
API: GstAudioRate::skip-to-first
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.
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.
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.
David Schleef [Sun, 20 Feb 2011 02:50:37 +0000 (18:50 -0800)]
videoscale: Add 16-bit-channel support
David Schleef [Sun, 20 Feb 2011 00:41:43 +0000 (16:41 -0800)]
videotestsrc: Add 16-bit-per-channel formats
David Schleef [Sat, 19 Feb 2011 20:03:17 +0000 (12:03 -0800)]
video: Add ARGB64 and AYUV64
16-bit per channel formats.
David Schleef [Sat, 19 Feb 2011 00:26:59 +0000 (16:26 -0800)]
video: Add gst_video_format_get_component_depth()
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
David Schleef [Wed, 16 Feb 2011 03:23:48 +0000 (19:23 -0800)]
typefind: Fix mpeg TS detection
David Schleef [Sat, 5 Feb 2011 01:36:40 +0000 (17:36 -0800)]
theoraenc: move debug category init earlier
David Schleef [Fri, 4 Feb 2011 06:41:23 +0000 (22:41 -0800)]
oggparse: better detection of delta unit flag
David Schleef [Sun, 16 Jan 2011 02:21:28 +0000 (18:21 -0800)]
theoraenc: Set speed level while running
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.
Stefan Kost [Wed, 16 Feb 2011 09:57:31 +0000 (11:57 +0200)]
discoverer: don't leak parent tags