Olivier Crête [Fri, 22 Feb 2013 18:26:03 +0000 (13:26 -0500)]
rtsprange: Make _to_string() be more in line with RFC 2326
Fix various nits to make it more in line with the RFC, also add unit tests.
Olivier Crête [Fri, 22 Feb 2013 18:20:21 +0000 (13:20 -0500)]
rtsprange: Avoid going through fractions for large numbers
If the number of seconds exceeds 2^31, then it will be truncated if the
conversion is done using fractions, so multiply it directly.
Olivier Crête [Fri, 22 Feb 2013 18:18:10 +0000 (13:18 -0500)]
rtsprange: Fix conversion from UTC to GstClockTime
Do the difference in the right direction.
Olivier Crête [Tue, 19 Feb 2013 00:49:07 +0000 (19:49 -0500)]
rtspconnection: Add API to disable session ID caching in the connection
This is necessary to allow having more than one session in the same connection.
API: gst_rtsp_connection_set_remember_session_id()
API: gst_rtsp_connection_get_remember_session_id()
Josep Torra [Sun, 10 Mar 2013 17:05:28 +0000 (18:05 +0100)]
dmabuf: Use correct print format specifier to fix a compiler warning
Tim-Philipp Müller [Thu, 7 Mar 2013 10:49:30 +0000 (10:49 +0000)]
tests: update libs ABI check GstRTSPTimeRange structure size on i386
https://bugzilla.gnome.org/show_bug.cgi?id=695276
Stefan Sauer [Thu, 7 Mar 2013 08:27:45 +0000 (09:27 +0100)]
videotestsrc: make colors controlable
Also trim since markers.
Tim-Philipp Müller [Thu, 7 Mar 2013 00:00:14 +0000 (00:00 +0000)]
Automatic update of common submodule
From 2de221c to 04c7a1e
Stefan Sauer [Tue, 5 Mar 2013 21:29:24 +0000 (22:29 +0100)]
oggmux: don't keep a static string beyond the ref of the owning object
Also move down the ref for the caps a bit, so tha we don't leak it in the branch that calls continue.
Wim Taymans [Tue, 5 Mar 2013 15:41:52 +0000 (16:41 +0100)]
ximagesink: don't share memory
Wim Taymans [Tue, 5 Mar 2013 15:34:35 +0000 (16:34 +0100)]
xvimagesink: mark as NO_SHARE
We don't want to share the memory between buffers because that could
cause the memory of the bufferpool buffers to be copied and replaced
with other memory.
This is a hopefully a temporary fix until we can figure out how to share
properly.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=695203
Stefan Sauer [Fri, 1 Mar 2013 18:14:18 +0000 (19:14 +0100)]
oggmux: don't crash on caps being NULL
Also avoid unused variables if debugging is disabled.
Tim-Philipp Müller [Sun, 3 Mar 2013 17:44:11 +0000 (17:44 +0000)]
uridecodebin: minor GValue handling optimisation
Tim-Philipp Müller [Sun, 3 Mar 2013 17:43:47 +0000 (17:43 +0000)]
video: navigation: minor GValue optimisation
Tim-Philipp Müller [Sun, 3 Mar 2013 17:42:50 +0000 (17:42 +0000)]
vorbis: small GValue optimisation
No need to copy buffers we put into the streamheader any more
now that we don't put caps on buffers any more, so there's no
danger of a refcount cycle.
Tim-Philipp Müller [Sun, 3 Mar 2013 17:41:34 +0000 (17:41 +0000)]
theora: small GValue optimisations
No need to copy buffers we put into the streamheader any more
now that we don't put caps on buffers any more, so there's no
danger of a refcount cycle.
Tim-Philipp Müller [Sun, 3 Mar 2013 17:39:13 +0000 (17:39 +0000)]
ogg: small GValue optimisation
No need to copy buffers we put into the streamheader any more
now that we don't put caps on buffers any more, so there's no
danger of a refcount cycle.
Tim-Philipp Müller [Sun, 3 Mar 2013 17:26:03 +0000 (17:26 +0000)]
tests: fix leaks in adder unit test
Tim-Philipp Müller [Sun, 3 Mar 2013 17:11:25 +0000 (17:11 +0000)]
tests: fix leaks in videorate unit test
Tim-Philipp Müller [Sun, 3 Mar 2013 17:06:38 +0000 (17:06 +0000)]
tests: fix leak in audioresample unit test
Tim-Philipp Müller [Sun, 3 Mar 2013 16:51:10 +0000 (16:51 +0000)]
tests: fix leak in vorbisdec unit test
Sebastian Dröge [Sun, 3 Mar 2013 10:19:42 +0000 (11:19 +0100)]
riff: Use correct print format specifiers to fix compiler warnings
Sebastian Dröge [Sat, 2 Mar 2013 18:29:40 +0000 (19:29 +0100)]
videoscale: Fix compiler errors caused by not including config.h
_stdint.h requires config.h to be included to properly
use the correct code to get uint8_t and friends.
Sebastian Dröge [Sat, 2 Mar 2013 18:13:39 +0000 (19:13 +0100)]
fft: Fix compiler errors caused by not including config.h
_stdint.h requires config.h to be included to properly
use the correct code to get uint8_t and friends.
Christian Fredrik Kalager Schaller [Fri, 1 Mar 2013 09:04:53 +0000 (10:04 +0100)]
Update spec file for latest changes
Tim-Philipp Müller [Mon, 11 Apr 2011 14:10:01 +0000 (15:10 +0100)]
oggdemux: add audio-codec and video-codec tags for streams in more cases
Stefan Sauer [Wed, 27 Feb 2013 21:05:36 +0000 (22:05 +0100)]
adder: don't discard the flush-start events
This reverts one more part of
a86ca535c88a604daa431b0bc1cf4cd8fbb2d100 and
hopefully fixes #694553 for good.
Stefan Sauer [Wed, 27 Feb 2013 20:57:15 +0000 (21:57 +0100)]
tests: add a loop test for adder
Stefan Sauer [Wed, 27 Feb 2013 20:38:27 +0000 (21:38 +0100)]
adder: fix looping
Use gst_segment_do_seek() and clip position before updating the segment.
Stefan Sauer [Wed, 27 Feb 2013 20:36:26 +0000 (21:36 +0100)]
adder: remove defines we don#t use anymore
Akihiro Tsukada [Fri, 22 Feb 2013 12:02:19 +0000 (21:02 +0900)]
audio: add support for AAC pass-through
https://bugzilla.gnome.org/show_bug.cgi?id=694443
Wim Taymans [Tue, 26 Feb 2013 15:02:41 +0000 (16:02 +0100)]
ximagesink: use memory to store XImage info
Store the extra XImage information in the GstMemory instead of metadata.
Stefan Sauer [Mon, 25 Feb 2013 17:50:33 +0000 (18:50 +0100)]
adder: mark pending flush-stop on segment event
Also add more debug logging. Fixes #694553.
Stefan Sauer [Mon, 25 Feb 2013 17:49:56 +0000 (18:49 +0100)]
audioringbuffer: log a few more details (e.g. obj-name)
Sebastian Dröge [Sun, 24 Feb 2013 08:45:19 +0000 (09:45 +0100)]
xvimagepool: gst_memory_init() does not take ownership of the allocator
Sebastian Dröge [Sat, 23 Feb 2013 08:52:57 +0000 (09:52 +0100)]
xvimagesink: Implement XvImage memory as a GstMemory, not as a GstMeta
Sebastian Dröge [Fri, 22 Feb 2013 08:07:06 +0000 (09:07 +0100)]
dmabuf: The dmabuf allocator has a custom alloc function, mark it as such
Sreerenj Balachandran [Wed, 20 Feb 2013 16:36:20 +0000 (18:36 +0200)]
pbutils: recognise more H.264 profiles/levels
Add profile/level extraction for Multiview High profile
and Stereo High profile.
https://bugzilla.gnome.org/show_bug.cgi?id=694346
Sreerenj Balachandran [Thu, 21 Feb 2013 09:38:45 +0000 (11:38 +0200)]
typefindfunctions: recognize SVC and MVC nal units in h264 streams
Ensure the detection of svc and mvc as a part of h264 stream.
Once the typefinder detect a subset_sequence_parameter_set(ssps),
then each nal unit with type 14 or 20 should be detected as a
part of h264 stream thereafter.
https://bugzilla.gnome.org/show_bug.cgi?id=694346
Stefan Sauer [Thu, 21 Feb 2013 07:15:45 +0000 (08:15 +0100)]
adder: ensure sending a flush-stop after flush-start
Previously adder was only sending the flush-stop, when it saw the flushing seek.
If one sends a flushing see direcly to an element upstream of adder, it would
fail to unflush the downstream pads.
Arnaud Vrac [Tue, 19 Feb 2013 16:49:08 +0000 (17:49 +0100)]
video-overlay-composition: fix ayuv/argb conversion
Helps when using dvbsuboverlay in connection with vaapisink
or some other video sink that wants ARGB pixels (dvbsuboverlay
attaches pixels in AYUV format, and we then convert as needed).
Alignment should not be a problem here.
Tim-Philipp Müller [Tue, 19 Feb 2013 12:53:47 +0000 (12:53 +0000)]
pango: use new GST_VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS define
https://bugzilla.gnome.org/show_bug.cgi?id=665751
Tim-Philipp Müller [Tue, 19 Feb 2013 12:46:14 +0000 (12:46 +0000)]
video: add define for video formats supported by the overlay blending code
For use in template caps by overlay elements that use
video_overlay_composition_blend().
API: GST_VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS
https://bugzilla.gnome.org/show_bug.cgi?id=665751
Sebastian Dröge [Tue, 19 Feb 2013 11:55:34 +0000 (12:55 +0100)]
pkg-config: Fix gstreamer-plugins-base pkg-config files to include all libraries
Benjamin Gaignard [Tue, 19 Feb 2013 10:52:22 +0000 (11:52 +0100)]
dmabuf: Include config.h
Tim-Philipp Müller [Tue, 19 Feb 2013 10:21:40 +0000 (10:21 +0000)]
allocators: add guard and minor clean-ups
Tim-Philipp Müller [Tue, 19 Feb 2013 09:40:31 +0000 (09:40 +0000)]
allocators: add some since markers and misc other doc clean-ups
Tim-Philipp Müller [Tue, 19 Feb 2013 09:35:10 +0000 (09:35 +0000)]
allocators: header clean-up
Tim-Philipp Müller [Tue, 19 Feb 2013 09:32:08 +0000 (09:32 +0000)]
configure: use AC_CHECK_FUNC to check for mmap
Sebastian Dröge [Tue, 19 Feb 2013 09:05:17 +0000 (10:05 +0100)]
allocators: Integrate into the documentation
Sebastian Dröge [Tue, 19 Feb 2013 08:40:42 +0000 (09:40 +0100)]
allocators: Add .def file with all exports
Sebastian Dröge [Tue, 19 Feb 2013 08:39:24 +0000 (09:39 +0100)]
allocators: Add single-include header
Sebastian Dröge [Tue, 19 Feb 2013 08:35:51 +0000 (09:35 +0100)]
dmabuf: Improve documentation and annotations a bit
Benjamin Gaignard [Mon, 18 Feb 2013 14:18:38 +0000 (15:18 +0100)]
allocators: Add dmabuf-based GstMemory and GstAllocator
Create new GstMemory and GstAllocator base on dmabuf.
Memory is not allocated/freed by userland but mapped/unmmaped
from a dmabuf file descriptor when requested.
This allocator is included in a new lib called libgstallocators
https://bugzilla.gnome.org/show_bug.cgi?id=693826
Tim-Philipp Müller [Sat, 16 Feb 2013 23:55:57 +0000 (23:55 +0000)]
tests: fix encodebin unit test on 32-bit systems
Fixes critical warning on x86:
g_object_set_valist: object class `GstOggMux' has no property named `testingoggmux'
Tim-Philipp Müller [Sat, 16 Feb 2013 12:09:53 +0000 (12:09 +0000)]
audio: fix GST_AUDIO_INFO_ENDIANNESS macro
Vincent Penquerc'h [Thu, 14 Feb 2013 15:59:51 +0000 (15:59 +0000)]
encodebin: activate ghost pad after creating it
This ensures the ghost pad will not stay in flushing mode
when it receives a flush stop event, and generally behave
badly.
This fixes at least one case of a dynamic decodebin2 + encodebin
pipeline finding a source that has not prerolled when it should
have been (due to the ghostpad staying in flushing mode).
Matej Knopp [Wed, 13 Feb 2013 23:54:34 +0000 (00:54 +0100)]
decodebin: don't block on caps
Sebastian Dröge [Thu, 14 Feb 2013 10:25:37 +0000 (11:25 +0100)]
decodebin: Remove left-over line from last commit
Matej Knopp [Thu, 14 Feb 2013 10:17:31 +0000 (11:17 +0100)]
decodebin: Check if value is set before unsetting it
https://bugzilla.gnome.org/show_bug.cgi?id=693401
Matej Knopp [Wed, 13 Feb 2013 22:28:01 +0000 (23:28 +0100)]
riffmedia: add systemstream to all mpeg video caps
Tim-Philipp Müller [Thu, 14 Feb 2013 00:29:01 +0000 (00:29 +0000)]
vorbistag: add mapping for TOTALTRACKS and TOTALDISCS tags
Found TOTALTRACKS in a FLAC file instead of TRACKTOTAL,
we should at least read this if present.
http://www.hydrogenaudio.org/forums/index.php?showtopic=91496&st=0&p=773857&#entry773857
Tim-Philipp Müller [Wed, 13 Feb 2013 21:00:28 +0000 (21:00 +0000)]
typefinding: add parsed=true to mp3 and mpeg2 video ES caps
Because we can, and that's also what we do for other formats.
Stefan Sauer [Wed, 13 Feb 2013 20:08:48 +0000 (21:08 +0100)]
adder: use the collect_pads_query func
We were setting the query-func on the sink-pad, which got overwritten when
adding the new pad to collect pads. Instead register our query-func with the
collect pads object. This fixes filter caps. Add a test for it.
Stefan Sauer [Wed, 13 Feb 2013 20:07:55 +0000 (21:07 +0100)]
mediatype-audio: write out 24 in 32bit formats
Sebastian Dröge [Wed, 13 Feb 2013 10:25:02 +0000 (11:25 +0100)]
decodebin: Fix MP3 parser unit test
The MP3 parser required fields on its caps that it
didn't need and never got from (e.g.) typefind.
Vincent Penquerc'h [Tue, 12 Feb 2013 17:22:23 +0000 (17:22 +0000)]
encodebin: sync muxer state with parent bin
Other elements were synced, but not the muxer.
Thijs Vermeir [Wed, 2 Jan 2013 11:15:25 +0000 (12:15 +0100)]
videodecoder: allow parse function to not use all data on adapter
Alexander Schrab [Fri, 8 Feb 2013 07:46:25 +0000 (08:46 +0100)]
decodebin: Push caps event immediately to ghost pad to avoid exposing pads without caps
David Schleef [Fri, 8 Feb 2013 23:31:28 +0000 (15:31 -0800)]
videodecoder: Don't blindly assign DTS to PTS
DTS and PTS usually have a non-zero offset between them in MPEG-TS,
so assigning DTS to PTS is almost always wrong. The other, newer
timestamp recovery code does it correctly if we leave it as invalid.
David Schleef [Mon, 11 Feb 2013 19:54:46 +0000 (11:54 -0800)]
videodecoder: warn if frame list gets long
Decoders that get unparsed input are internally leaking nearly
every incoming buffer. This checks that case.
Tim-Philipp Müller [Sat, 9 Feb 2013 16:50:05 +0000 (16:50 +0000)]
tests: don't use deprecated thread API in streamsynchronizer test
Marc Leeman [Thu, 7 Feb 2013 09:49:33 +0000 (10:49 +0100)]
decodebin: g_mutex_new -> g_mutex_init
Don't use deprecated GLib API.
https://bugzilla.gnome.org/show_bug.cgi?id=693302
Jan Schmidt [Thu, 7 Feb 2013 13:05:24 +0000 (00:05 +1100)]
pango: 3rd time's the charm. Fix attribute list handling.
Really really fix attribute list handling by taking a
copy of the original attributes that pango_attr_list_filter
can mutate, but keep the original around intact to restore
later.
Jan Schmidt [Thu, 7 Feb 2013 12:45:26 +0000 (23:45 +1100)]
pango: Don't modify the original attributes list.
Take a copy of the original attributes list instead of just
a ref, since pango_attr_list_filter can remove elements from it.
Jan Schmidt [Thu, 7 Feb 2013 12:06:16 +0000 (23:06 +1100)]
pango: Remove extra pango_attr_list_copy() from basetextoverlay
Fixes a per-buffer memory leak of the attribute list.
Tim-Philipp Müller [Wed, 6 Feb 2013 12:36:19 +0000 (12:36 +0000)]
video: fix return type of _get_palette() and add since markers to docs
'const gpointer' is not the same as 'gconstpointer', see
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35928.
Wim Taymans [Wed, 6 Feb 2013 09:07:47 +0000 (10:07 +0100)]
appsrc: negotiate before popping buffer
First negotiate and then try to pop a buffer from the queue. This is just
to improve the debug log.
Wim Taymans [Wed, 6 Feb 2013 09:00:27 +0000 (10:00 +0100)]
appsrc: always take mutex before object lock
The locking order is to first take the appsrc mutex and then the
object lock.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=693224
Wim Taymans [Tue, 5 Feb 2013 10:20:20 +0000 (11:20 +0100)]
videotestsrc: use video library palette
Use the palette provided and used by the video library instead of making our own
copy.
Wim Taymans [Tue, 5 Feb 2013 09:46:50 +0000 (10:46 +0100)]
videoscale: scale each field in interlace mode
When we are dealing with interlaced content, scale each field intependently so
that we don't destroy the interlacing.
See https://bugzilla.gnome.org/show_bug.cgi?id=588535
Wim Taymans [Mon, 4 Feb 2013 15:21:20 +0000 (16:21 +0100)]
videoconvert: interlace support to some fastpath functions
Add interlace support for some fastpath functions.
Wim Taymans [Mon, 4 Feb 2013 14:40:02 +0000 (15:40 +0100)]
videoconvert: make fast path interlaced aware
Make sure that we also handle interlacing when choosing the fast path.
See https://bugzilla.gnome.org/show_bug.cgi?id=588535
Wim Taymans [Mon, 4 Feb 2013 14:19:35 +0000 (15:19 +0100)]
videoconvert: pass frame interlaced flag to pack/unpack
If the frame is interlaced, pass the interlaced flag to the pack/unpack
functions to make it unpack correctly.
Wim Taymans [Mon, 4 Feb 2013 14:01:10 +0000 (15:01 +0100)]
video-format: fix interlaced 4:2:0 and 4:1:0 pack/unpack
For interlaced vertically subsampled images we need to combine alternating
chroma lines with alternating luma lines. That is line 0 and 2 are combined
with the first line of chroma samples and line 1 and 3 with the second line
of chroma samples.
See also: https://bugzilla.gnome.org/show_bug.cgi?id=588535
Wim Taymans [Fri, 1 Feb 2013 15:47:32 +0000 (16:47 +0100)]
videoconvert: use the palette helper functions
Get the palette from the video library instead of making our own.
Wim Taymans [Fri, 1 Feb 2013 15:46:42 +0000 (16:46 +0100)]
video-format: add method to get palette
Make a new method to get the default palette for paletted formats.
Wim Taymans [Fri, 1 Feb 2013 10:51:12 +0000 (11:51 +0100)]
videoconvert: make a constant of scale factor
Wim Taymans [Fri, 1 Feb 2013 10:42:58 +0000 (11:42 +0100)]
video-format: add interlace flag
Add an interlaced flag that can be used to control the unpack/pack
functions.
Wim Taymans [Thu, 31 Jan 2013 11:57:11 +0000 (12:57 +0100)]
riff: add more gray8 variants
Dirk Van Haerenborgh [Thu, 31 Jan 2013 10:41:06 +0000 (11:41 +0100)]
riff: add support for raw monochrome 8-bit video
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692930
Wim Taymans [Tue, 29 Jan 2013 09:18:06 +0000 (10:18 +0100)]
visualizer: improve allocation
Based on patch by Matthew Waters
Add private data
Add decide_allocation vmethod
Refactor bufferpool negotiation
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681719
Stefan Sauer [Mon, 28 Jan 2013 19:41:44 +0000 (20:41 +0100)]
Automatic update of common submodule
From a942293 to 2de221c
B.Prathibha [Sun, 27 Jan 2013 04:15:59 +0000 (09:45 +0530)]
tests: use g_timeout_add_seconds wherever possible.
https://bugzilla.gnome.org/show_bug.cgi?id=692613
Olivier Crête [Fri, 25 Jan 2013 01:15:09 +0000 (20:15 -0500)]
docs: Put GST_*_INIT into the -sections.txt file too
Olivier Crête [Fri, 25 Jan 2013 01:12:41 +0000 (20:12 -0500)]
doc: Sort new things into ..-libs-sections.txt
yanghuolin [Thu, 15 Nov 2012 08:31:47 +0000 (03:31 -0500)]
alsasink: don't use 100% CPU
The root cause is that alsa-lib is not thread safe for the same handle.
There are two threads in the gstreamer accessing alsa-lib not serilized.
The race condition happens when one thread holds the old framebuffer app_ptr
position in the kernel, another thread advances the framebuffer app_ptr.
when the former thread is scheduled to run again, it overwrites the app_ptr
to old value by copying from kernel.Thus,the app_ptr in the upper
alsa-lib(pcm_rate) become one period size more advanced than the lower
alsa-lib(pcm_hw & kernel).
gstreamer uses noblock and poll method to communicate with the alsa-lib.
The app_ptr unsync situation as described above makes the poll return immediately because
it concludes there is enough space for the ring-buffer via the low-level alsa-lib.
The write function returns immediately because it concludes there is not enough
space for the ring-buffer from the upper-level alsa-lib. Then the loop of poll
and write runs again and again until another period size is available for
ring-buffer.This leads to the cpu 100 problem.
delay_lock is used to avoid the race condition.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=690937
Tim-Philipp Müller [Sat, 19 Jan 2013 13:03:03 +0000 (13:03 +0000)]
decodebin: try harder to always expose pads in the same order
Use stream-id as sort criterion in addition to the media type.
https://bugzilla.gnome.org/show_bug.cgi?id=634407
Tim-Philipp Müller [Thu, 17 Jan 2013 09:50:16 +0000 (09:50 +0000)]
tests: disable ABI checks for architectures with outdated structure size files
Tim-Philipp Müller [Wed, 16 Jan 2013 10:16:27 +0000 (10:16 +0000)]
gst-libs: use GST_*_1_0 environment variables everywhere
The _1_0 suffixed environment variables override the
non-suffixed ones, so if we're in an environment that
sets the _1_0 suffixed ones, such as jhbuild, we need
to set those to make sure ours actually always get
used.