Sebastian Dröge [Fri, 25 Mar 2011 08:29:38 +0000 (09:29 +0100)]
Automatic update of common submodule
From d8814b6 to b77e2bf
Sebastian Dröge [Fri, 25 Mar 2011 08:03:13 +0000 (09:03 +0100)]
Automatic update of common submodule
From 6aaa286 to d8814b6
Stefan Kost [Thu, 24 Mar 2011 16:48:59 +0000 (18:48 +0200)]
Automatic update of common submodule
From 6aec6b9 to 6aaa286
Sebastian Dröge [Thu, 24 Mar 2011 13:22:00 +0000 (14:22 +0100)]
playsink: Update comment about why an audio queue is needed
Sebastian Dröge [Thu, 24 Mar 2011 13:21:01 +0000 (14:21 +0100)]
Revert "playsink: Only add a queue before the audio sink if visualizations are enabled"
This reverts commit
df886c0622257bb8635e5bd0fc7fc3da20bfc3be.
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.
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.
Thiago Santos [Wed, 23 Mar 2011 15:02:42 +0000 (12:02 -0300)]
video: adds missing function to win32 def
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
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
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.
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.
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.
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.
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.
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.
David Schleef [Tue, 22 Mar 2011 18:59:40 +0000 (11:59 -0700)]
video: Add gst_video_format_new_template_caps()
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
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
Luis de Bethencourt [Fri, 18 Mar 2011 18:34:57 +0000 (19:34 +0100)]
autogen: wingo signed comment
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
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.
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
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
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.
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
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.
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.
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
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
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